/src/contrib/boost/spirit/home/phoenix/scope/scoped_environment.hpp
http://pythonocc.googlecode.com/ · C++ Header · 47 lines · 33 code · 6 blank · 8 comment · 0 complexity · 050cb5ed05a338c25f1aa56c322f127a MD5 · raw file
- /*=============================================================================
- 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