annotate DEPENDENCIES/generic/include/boost/phoenix/core/domain.hpp @ 125:34e428693f5d vext

Vext -> Repoint
author Chris Cannam
date Thu, 14 Jun 2018 11:15:39 +0100
parents c530137014c0
children
rev   line source
Chris@16 1 /*=============================================================================
Chris@16 2 Copyright (c) 2005-2010 Joel de Guzman
Chris@16 3 Copyright (c) 2010 Eric Niebler
Chris@16 4
Chris@16 5 Distributed under the Boost Software License, Version 1.0. (See accompanying
Chris@16 6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Chris@16 7 ==============================================================================*/
Chris@16 8 #ifndef BOOST_PHOENIX_CORE_DOMAIN_HPP
Chris@16 9 #define BOOST_PHOENIX_CORE_DOMAIN_HPP
Chris@16 10
Chris@16 11 #include <boost/phoenix/core/limits.hpp>
Chris@16 12 #include <boost/proto/matches.hpp>
Chris@16 13 #include <boost/proto/transform/call.hpp>
Chris@16 14 #include <boost/proto/transform/when.hpp>
Chris@16 15 #include <boost/proto/domain.hpp>
Chris@16 16
Chris@16 17 namespace boost { namespace phoenix
Chris@16 18 {
Chris@16 19 template <typename Expr>
Chris@16 20 struct actor;
Chris@16 21
Chris@16 22 struct meta_grammar;
Chris@16 23
Chris@16 24 struct phoenix_generator
Chris@16 25 : proto::switch_<phoenix_generator>
Chris@16 26 {
Chris@101 27
Chris@101 28 BOOST_PROTO_USE_BASIC_EXPR()
Chris@101 29
Chris@16 30 template<typename Tag>
Chris@16 31 struct case_
Chris@16 32 : proto::otherwise<proto::call<proto::pod_generator<actor>(proto::_)> >
Chris@16 33 {};
Chris@16 34 };
Chris@16 35
Chris@101 36 struct phoenix_default_domain
Chris@101 37 : proto::domain<
Chris@101 38 proto::basic_default_generator
Chris@101 39 , proto::_
Chris@101 40 , proto::basic_default_domain
Chris@101 41 >
Chris@101 42 {
Chris@101 43 template <typename T>
Chris@101 44 struct as_child
Chris@101 45 //: proto_base_domain::as_expr<T> // proto lambda example.
Chris@101 46 : as_expr<T>
Chris@101 47 {};
Chris@101 48 };
Chris@101 49
Chris@16 50 struct phoenix_domain
Chris@16 51 : proto::domain<
Chris@16 52 phoenix_generator
Chris@16 53 , meta_grammar
Chris@16 54 , proto::basic_default_domain
Chris@16 55 >
Chris@16 56 {
Chris@16 57 template <typename T>
Chris@16 58 struct as_child
Chris@101 59 //: proto_base_domain::as_expr<T> // proto lambda example.
Chris@101 60 : as_expr<T>
Chris@16 61 {};
Chris@16 62 };
Chris@16 63 }}
Chris@16 64
Chris@16 65 #endif