summaryrefslogtreecommitdiff
path: root/boost/phoenix/scope/lambda.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/phoenix/scope/lambda.hpp')
-rw-r--r--boost/phoenix/scope/lambda.hpp51
1 files changed, 19 insertions, 32 deletions
diff --git a/boost/phoenix/scope/lambda.hpp b/boost/phoenix/scope/lambda.hpp
index 8221966ac2..8a76aca8d7 100644
--- a/boost/phoenix/scope/lambda.hpp
+++ b/boost/phoenix/scope/lambda.hpp
@@ -1,3 +1,13 @@
+/*==============================================================================
+ Copyright (c) 2001-2010 Joel de Guzman
+ Copyright (c) 2004 Daniel Wallin
+ Copyright (c) 2010 Thomas Heller
+ Copyright (c) 2016 Kohei Takahashi
+
+ 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)
+==============================================================================*/
+
#ifndef BOOST_PHOENIX_SCOPE_LAMBDA_HPP
#define BOOST_PHOENIX_SCOPE_LAMBDA_HPP
@@ -11,27 +21,6 @@
#include <boost/phoenix/scope/local_variable.hpp>
#include <boost/phoenix/scope/scoped_environment.hpp>
-#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-
-#include <boost/phoenix/scope/preprocessed/lambda.hpp>
-
-#else
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 2, line: 0, output: "preprocessed/lambda_" BOOST_PHOENIX_LIMIT_STR ".hpp")
-#endif
-/*==============================================================================
- Copyright (c) 2001-2010 Joel de Guzman
- Copyright (c) 2004 Daniel Wallin
- Copyright (c) 2010 Thomas Heller
-
- 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)
-==============================================================================*/
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 1)
-#endif
-
BOOST_PHOENIX_DEFINE_EXPRESSION(
(boost)(phoenix)(lambda_actor)
, (proto::terminal<proto::_>) // Locals
@@ -318,11 +307,13 @@ namespace boost { namespace phoenix
: call<lambda_actor_eval, Dummy>
{};
- template <typename Locals = void, typename Map = void, typename Dummy = void>
+ template <typename Locals = vector0<>,
+ typename Map = detail::map_local_index_to_tuple<>,
+ typename Dummy = void>
struct lambda_actor_gen;
template <>
- struct lambda_actor_gen<void, void, void>
+ struct lambda_actor_gen<vector0<>, detail::map_local_index_to_tuple<>, void>
{
template <typename Expr>
typename expression::lambda_actor<vector0<>, detail::map_local_index_to_tuple<>, Expr>::type const
@@ -362,21 +353,23 @@ namespace boost { namespace phoenix
struct lambda_local_gen
: lambda_actor_gen<>
{
+#if defined(BOOST_PHOENIX_NO_VARIADIC_SCOPE)
lambda_actor_gen<> const
operator()() const
{
return lambda_actor_gen<>();
}
+ #include <boost/phoenix/scope/detail/cpp03/lambda.hpp>
+#else
#define BOOST_PHOENIX_SCOPE_ACTOR_GEN_NAME lambda_actor_gen
#define BOOST_PHOENIX_SCOPE_ACTOR_GEN_FUNCTION operator()
#define BOOST_PHOENIX_SCOPE_ACTOR_GEN_CONST const
- #include <boost/phoenix/scope/detail/local_gen.hpp>
+ #include <boost/phoenix/scope/detail/local_gen.hpp>
#undef BOOST_PHOENIX_SCOPE_ACTOR_GEN_NAME
#undef BOOST_PHOENIX_SCOPE_ACTOR_GEN_FUNCTION
#undef BOOST_PHOENIX_SCOPE_ACTOR_GEN_CONST
-
-
+#endif
};
typedef lambda_local_gen lambda_type;
@@ -384,10 +377,4 @@ namespace boost { namespace phoenix
}}
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#endif
-
#endif