diff DEPENDENCIES/generic/include/boost/spirit/home/phoenix/scope/scoped_environment.hpp @ 16:2665513ce2d3

Add boost headers
author Chris Cannam
date Tue, 05 Aug 2014 11:11:38 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DEPENDENCIES/generic/include/boost/spirit/home/phoenix/scope/scoped_environment.hpp	Tue Aug 05 11:11:38 2014 +0100
@@ -0,0 +1,47 @@
+/*=============================================================================
+    Copyright (c) 2001-2007 Joel de Guzman
+    Copyright (c) 2004 Daniel Wallin
+
+    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 PHOENIX_SCOPE_SCOPED_ENVIRONMENT_HPP
+#define PHOENIX_SCOPE_SCOPED_ENVIRONMENT_HPP
+
+namespace boost { namespace phoenix
+{
+    template <typename Env, typename OuterEnv, typename Locals, typename Map>
+    struct scoped_environment
+    {
+        typedef Env env_type;
+        typedef OuterEnv outer_env_type;
+        typedef Locals locals_type;
+        typedef Map map_type;
+        typedef typename Env::args_type args_type;
+        typedef typename Env::tie_type tie_type;
+
+        scoped_environment(
+            Env const& env
+          , OuterEnv const& outer_env
+          , Locals& locals)
+            : env(env)
+            , outer_env(outer_env)
+            , locals(locals) {}
+
+        tie_type const& 
+        args() const
+        {
+            return env.args();
+        }
+
+        Env const& env;
+        OuterEnv const& outer_env;
+        Locals& locals;
+
+    private:
+        // silence MSVC warning C4512: assignment operator could not be generated
+        scoped_environment& operator= (scoped_environment const&);
+    };
+}}
+
+#endif