]> git.lyx.org Git - lyx.git/blobdiff - boost/boost/mpl/lambda_fwd.hpp
simplify Lexer use a bit
[lyx.git] / boost / boost / mpl / lambda_fwd.hpp
index ba9b4f6e1c426b9718c9beb30be91d6bdbd54fef..757eae05da94e322a2b7119f89fe3d9de618a387 100644 (file)
@@ -1,36 +1,57 @@
-//-----------------------------------------------------------------------------
-// boost mpl/labmda_fwd.hpp header file
-// See http://www.boost.org for updates, documentation, and revision history.
-//-----------------------------------------------------------------------------
-//
-// Copyright (c) 2001-02
-// Aleksey Gurtovoy
-//
-// 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.
 
 #ifndef BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
 #define BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
 
-#include "boost/mpl/aux_/lambda_arity_param.hpp"
-#include "boost/mpl/aux_/config/lambda.hpp"
+// Copyright Aleksey Gurtovoy 2001-2004
+//
+// 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.
+
+// $Source$
+// $Date: 2004-09-02 17:41:37 +0200 (Thu, 02 Sep 2004) $
+// $Revision: 24874 $
 
-namespace boost {
-namespace mpl {
+#include <boost/mpl/void_fwd.hpp>
+#include <boost/mpl/aux_/na.hpp>
+#include <boost/mpl/aux_/config/lambda.hpp>
 
-#if !defined(BOOST_MPL_NO_FULL_LAMBDA_SUPPORT)
-template< typename T BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(long Arity) >
+#if !defined(BOOST_MPL_CFG_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 = na
+    , typename Tag = void_
+    BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(
+          typename Arity = int_< aux::template_arity<T>::value >
+        )
+    >
 struct lambda;
-#else
-template< typename T, bool Protect > struct lambda;
-#endif
 
-} // namespace mpl
-} // namespace boost
+}}
+
+#else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
+
+#   include <boost/mpl/bool.hpp>
+
+namespace boost { namespace mpl {
+
+template< 
+      typename T = na
+    , typename Tag = void_
+    , typename Protect = true_
+    > 
+struct lambda;
+
+}}
+
+#endif
 
 #endif // BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED