diff options
Diffstat (limited to '3rdParty/Boost/src/boost/phoenix/core/domain.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/phoenix/core/domain.hpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/phoenix/core/domain.hpp b/3rdParty/Boost/src/boost/phoenix/core/domain.hpp new file mode 100644 index 0000000..2ee5359 --- /dev/null +++ b/3rdParty/Boost/src/boost/phoenix/core/domain.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2005-2010 Joel de Guzman + Copyright (c) 2010 Eric Niebler + + 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_CORE_DOMAIN_HPP +#define BOOST_PHOENIX_CORE_DOMAIN_HPP + +#include <boost/phoenix/core/limits.hpp> +#include <boost/proto/matches.hpp> +#include <boost/proto/transform/call.hpp> +#include <boost/proto/transform/when.hpp> +#include <boost/proto/domain.hpp> + +namespace boost { namespace phoenix +{ + template <typename Expr> + struct actor; + + struct meta_grammar; + + struct phoenix_generator + : proto::switch_<phoenix_generator> + { + template<typename Tag> + struct case_ + : proto::otherwise<proto::call<proto::pod_generator<actor>(proto::_)> > + {}; + }; + + struct phoenix_domain + : proto::domain< + phoenix_generator + , meta_grammar + , proto::basic_default_domain + > + { + template <typename T> + struct as_child + : as_expr<T> + {}; + }; +}} + +#endif |