#ifndef BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
#define BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
-// + file: boost/mpl/labmda_fwd.hpp
-// + last modified: 02/aug/03
-
-// Copyright (c) 2001-03
-// Aleksey Gurtovoy
+// Copyright Aleksey Gurtovoy 2001-2004
//
-// Permission to use, copy, modify, distribute and sell this software
-// and its documentation for any purpose is hereby granted without fee,
-// provided that the above copyright notice appears in all copies and
-// that both the copyright notice and this permission notice appear in
-// supporting documentation. No representations are made about the
-// suitability of this software for any purpose. It is provided "as is"
-// without express or implied warranty.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
//
// See http://www.boost.org/libs/mpl for documentation.
-#include "boost/mpl/aux_/lambda_arity_param.hpp"
-#include "boost/mpl/aux_/config/lambda.hpp"
+// $Source$
+// $Date: 2004-09-02 17:41:37 +0200 (Thu, 02 Sep 2004) $
+// $Revision: 24874 $
+
+#include <boost/mpl/void_fwd.hpp>
+#include <boost/mpl/aux_/na.hpp>
+#include <boost/mpl/aux_/config/lambda.hpp>
-namespace boost {
-namespace mpl {
+#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
-#if !defined(BOOST_MPL_NO_FULL_LAMBDA_SUPPORT)
+# include <boost/mpl/int.hpp>
+# include <boost/mpl/aux_/lambda_arity_param.hpp>
+# include <boost/mpl/aux_/template_arity_fwd.hpp>
+
+namespace boost { namespace mpl {
template<
- typename T
- , typename Tag
- BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(typename Arity)
+ typename T = na
+ , typename Tag = void_
+ BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(
+ typename Arity = int_< aux::template_arity<T>::value >
+ )
>
struct lambda;
-#else
+}}
+
+#else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
+
+# include <boost/mpl/bool.hpp>
+
+namespace boost { namespace mpl {
template<
- typename T
- , typename Tag
- , bool Protect
+ typename T = na
+ , typename Tag = void_
+ , typename Protect = true_
>
struct lambda;
-#endif
+}}
-} // namespace mpl
-} // namespace boost
+#endif
#endif // BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED