Forward declarations of all of proto's public types and functions. More...
#include <cstddef>
#include <climits>
#include <boost/config.hpp>
#include <boost/detail/workaround.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/arithmetic/inc.hpp>
#include <boost/preprocessor/punctuation/comma.hpp>
#include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
#include <boost/preprocessor/repetition/enum_trailing_binary_params.hpp>
#include <boost/preprocessor/repetition/repeat_from_to.hpp>
#include <boost/ref.hpp>
#include <boost/mpl/long.hpp>
#include <boost/type_traits/remove_const.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/mpl/aux_/config/ttp.hpp>
#include <boost/utility/result_of.hpp>
Classes | |
struct | boost::proto::detail::sized_type< N > |
struct | boost::proto::detail::private_type_ |
struct | boost::proto::detail::uncvref< T > |
struct | boost::proto::detail::uncvref< T const > |
struct | boost::proto::detail::uncvref< T & > |
struct | boost::proto::detail::uncvref< T const & > |
struct | boost::proto::detail::uncvref< T const [N]> |
struct | boost::proto::detail::uncvref< T(&)[N]> |
struct | boost::proto::detail::uncvref< T const (&)[N]> |
struct | boost::proto::detail::ignore |
struct | boost::proto::detail::is_transform_< T, Void > |
struct | boost::proto::detail::is_aggregate_< T, Void > |
struct | boost::proto::detail::flat_view< Expr > |
struct | boost::proto::argsns_::term< Arg0 > |
struct | boost::proto::tagns_::tag::proto_expr< Tag, Domain > |
struct | boost::proto::tagns_::tag::proto_expr_iterator< Tag, Domain > |
struct | boost::proto::tagns_::tag::proto_flat_view< Tag, Domain > |
struct | boost::proto::tag_of< Expr > |
A metafunction that returns the tag type of a Proto expression. More... | |
struct | boost::proto::generator< Extends > |
A generator that wraps expressions passed to it in the specified extension wrapper. More... | |
struct | boost::proto::pod_generator< Extends > |
A generator that wraps expressions passed to it in the specified extension wrapper and uses aggregate initialization for the wrapper. More... | |
struct | boost::proto::compose_generators< First, Second > |
A composite generator that first applies one transform to an expression and then forwards the result on to another generator for further transformation. More... | |
struct | boost::proto::wants_basic_expr< Generator, Void > |
Tests a generator to see whether it would prefer to be passed instances of proto::basic_expr<> rather than proto::expr<> . More... | |
struct | boost::proto::use_basic_expr< Generator > |
Annotate a generator to indicate that it would prefer to be passed instances of proto::basic_expr<> rather than proto::expr<> . More... | |
struct | boost::proto::domainns_::domain< Generator, Grammar, Super > |
For use in defining domain tags to be used with proto::extends<> . More... | |
struct | boost::proto::domainns_::base_expr< Domain, Tag, Args, WantsBasicExpr > |
Given a domain, a tag type and an argument list, compute the type of the expression to generate. More... | |
struct | boost::proto::exprns_::basic_expr< Tag, Args, Arity > |
struct | boost::proto::exprns_::expr< Tag, Args, Arity > |
struct | boost::proto::exprns_::extends< Expr, Derived, Domain, Arity > |
extends<> class template for adding behaviors to a Proto expression template More... | |
struct | boost::proto::exprns_::virtual_member< This, Fun, Domain > |
INTERNAL ONLY. More... | |
struct | boost::proto::or_<> |
For matching one of a set of alternate grammars. More... | |
struct | boost::proto::and_<> |
For matching all of a set of grammars. More... | |
struct | boost::proto::not_< Grammar > |
Inverts the set of expressions matched by a grammar. More... | |
struct | boost::proto::if_< If, Then, Else > |
Used to select one grammar or another based on the result of a compile-time Boolean. More... | |
struct | boost::proto::switch_< Cases, Transform > |
For matching one of a set of alternate grammars, which are looked up based on some property of an expression. More... | |
struct | boost::proto::exact< T > |
For forcing exact matches of terminal types. More... | |
struct | boost::proto::convertible_to< T > |
For matching terminals that are convertible to a type. More... | |
struct | boost::proto::vararg< Grammar > |
For matching a Grammar to a variable number of sub-expressions. More... | |
struct | boost::proto::context::null_eval< Expr, Context, Arity > |
struct | boost::proto::context::default_eval< Expr, Context, Tag, Arity > |
struct | boost::proto::context::callable_context< Context, DefaultCtx > |
An evaluation context adaptor that makes authoring a context a simple matter of writing function overloads, rather then writing template specializations. More... | |
struct | boost::proto::context::callable_eval< Expr, Context, Arity > |
A BinaryFunction that accepts a Proto expression and a callable context and calls the context with the expression tag and children as arguments, effectively fanning the expression out. More... | |
struct | boost::proto::utility::literal< T, Domain > |
A simple wrapper for a terminal, provided for ease of use. More... | |
struct | boost::proto::result_of::as_expr< T, Domain > |
A metafunction that computes the return type of the as_expr() function. More... | |
struct | boost::proto::result_of::as_child< T, Domain > |
A metafunction that computes the return type of the as_child() function. More... | |
struct | boost::proto::result_of::child< Expr, N > |
A metafunction that returns the type of the Nth child of a Proto expression, where N is an MPL Integral Constant. More... | |
struct | boost::proto::result_of::child_c< Expr, N > |
struct | boost::proto::result_of::left< Expr > |
A metafunction that returns the type of the left child of a binary Proto expression. More... | |
struct | boost::proto::result_of::right< Expr > |
A metafunction that returns the type of the right child of a binary Proto expression. More... | |
struct | boost::proto::result_of::deep_copy< Expr > |
A metafunction for calculating the return type of proto::deep_copy() . More... | |
struct | boost::proto::result_of::eval< Expr, Context > |
A metafunction for calculating the return type of proto::eval() given a certain Expr and Context types. More... | |
struct | boost::proto::result_of::make_expr< Tag,, Void1, Void2 > |
Metafunction that computes the return type of the make_expr() function, with a domain deduced from the domains of the children. More... | |
struct | boost::proto::result_of::unpack_expr< Tag, Sequence, Void1, Void2 > |
Metafunction that computes the return type of the unpack_expr() function, with a domain deduced from the domains of the children. More... | |
struct | boost::proto::result_of::as_env< T > |
struct | boost::proto::result_of::has_env_var< Env, Key > |
struct | boost::proto::result_of::env_var< Env, Key > |
struct | boost::proto::is_expr< T, Void > |
A Boolean metafunction that indicates whether a given type T is a Proto expression type. More... | |
struct | boost::proto::is_domain< T, Void > |
A metafunction that returns mpl::true_ if the type T is the type of a Proto domain; mpl::false_ otherwise. More... | |
struct | boost::proto::is_sub_domain_of< SubDomain, SuperDomain > |
A metafunction that returns mpl::true_ if the type SubDomain is a sub-domain of SuperDomain ; mpl::false_ otherwise. More... | |
struct | boost::proto::is_env< T, Void > |
struct | boost::proto::arity_of< Expr > |
A metafunction that returns the arity of a Proto expression. More... | |
struct | boost::proto::domain_of< T, Void > |
A metafunction that returns the domain of a given type. More... | |
struct | boost::proto::matches< Expr, Grammar > |
A Boolean metafunction that evaluates whether a given expression type matches a grammar. More... | |
struct | boost::proto::unary_expr< Tag, T > |
A metafunction for generating unary expression types with a specified tag type, a grammar element for matching unary expressions, and a PrimitiveTransform that dispatches to the pass_through<> transform. More... | |
struct | boost::proto::binary_expr< Tag, T, U > |
A metafunction for generating binary expression types with a specified tag type, a grammar element for matching binary expressions, and a PrimitiveTransform that dispatches to the pass_through<> transform. More... | |
struct | boost::proto::nary_expr< Tag, > |
struct | boost::proto::terminal< T > |
A metafunction for generating terminal expression types, a grammar element for matching terminal expressions, and a PrimitiveTransform that returns the current expression unchanged. More... | |
struct | boost::proto::unary_plus< T > |
struct | boost::proto::negate< T > |
struct | boost::proto::dereference< T > |
struct | boost::proto::complement< T > |
struct | boost::proto::address_of< T > |
struct | boost::proto::logical_not< T > |
struct | boost::proto::pre_inc< T > |
struct | boost::proto::pre_dec< T > |
struct | boost::proto::post_inc< T > |
struct | boost::proto::post_dec< T > |
struct | boost::proto::shift_left< T, U > |
struct | boost::proto::shift_right< T, U > |
struct | boost::proto::multiplies< T, U > |
struct | boost::proto::divides< T, U > |
struct | boost::proto::modulus< T, U > |
struct | boost::proto::plus< T, U > |
struct | boost::proto::minus< T, U > |
struct | boost::proto::less< T, U > |
struct | boost::proto::greater< T, U > |
struct | boost::proto::less_equal< T, U > |
struct | boost::proto::greater_equal< T, U > |
struct | boost::proto::equal_to< T, U > |
struct | boost::proto::not_equal_to< T, U > |
struct | boost::proto::logical_or< T, U > |
struct | boost::proto::logical_and< T, U > |
struct | boost::proto::bitwise_and< T, U > |
struct | boost::proto::bitwise_or< T, U > |
struct | boost::proto::bitwise_xor< T, U > |
struct | boost::proto::comma< T, U > |
struct | boost::proto::mem_ptr< T, U > |
struct | boost::proto::assign< T, U > |
struct | boost::proto::shift_left_assign< T, U > |
struct | boost::proto::shift_right_assign< T, U > |
struct | boost::proto::multiplies_assign< T, U > |
struct | boost::proto::divides_assign< T, U > |
struct | boost::proto::modulus_assign< T, U > |
struct | boost::proto::plus_assign< T, U > |
struct | boost::proto::minus_assign< T, U > |
struct | boost::proto::bitwise_and_assign< T, U > |
struct | boost::proto::bitwise_or_assign< T, U > |
struct | boost::proto::bitwise_xor_assign< T, U > |
struct | boost::proto::subscript< T, U > |
struct | boost::proto::member< T, U > |
struct | boost::proto::if_else_< T, U, V > |
A metafunction for generating ternary conditional expression types, a grammar element for matching ternary conditional expressions, and a PrimitiveTransform that dispatches to the pass_through<> transform. More... | |
struct | boost::proto::function<> |
struct | boost::proto::functional::as_expr< Domain > |
A callable PolymorphicFunctionObject that is equivalent to the as_expr() function. More... | |
struct | boost::proto::functional::as_child< Domain > |
A callable PolymorphicFunctionObject that is equivalent to the as_child() function. More... | |
struct | boost::proto::functional::child< N > |
A callable PolymorphicFunctionObject that is equivalent to the child() function. More... | |
struct | boost::proto::functional::child_c< N > |
A callable PolymorphicFunctionObject that is equivalent to the child_c() function. More... | |
struct | boost::proto::functional::has_env_var< Key > |
struct | boost::proto::functional::env_var< Key > |
struct | boost::proto::functional::make_expr< Tag, Domain > |
A callable function object equivalent to the proto::make_expr() function. More... | |
struct | boost::proto::functional::unpack_expr< Tag, Domain > |
A callable function object equivalent to the proto::unpack_expr() function. More... | |
struct | boost::proto::is_callable< T > |
Boolean metafunction which detects whether a type is a callable function object type or not. More... | |
struct | boost::proto::is_transform< T > |
Boolean metafunction which detects whether a type is a PrimitiveTransform type or not. More... | |
struct | boost::proto::is_aggregate< T > |
A Boolean metafunction that indicates whether a type requires aggregate initialization. More... | |
struct | boost::proto::callable |
struct | boost::proto::envns_::env< Key, Value, Base > |
struct | boost::proto::transform< PrimitiveTransform, X > |
struct | boost::proto::when< Grammar, PrimitiveTransform > |
A grammar element and a PrimitiveTransform that associates a transform with the grammar. More... | |
struct | boost::proto::otherwise< Fun > |
Syntactic sugar for when<_, Fun> , for use in grammars to handle all the cases not yet handled. More... | |
struct | boost::proto::call< PrimitiveTransform > |
Wrap PrimitiveTransform so that when<> knows it is callable. More... | |
struct | boost::proto::make< Object > |
A PrimitiveTransform which computes a type by evaluating any nested transforms and then constructs an object of that type. More... | |
struct | boost::proto::protect< PrimitiveTransform > |
A PrimitiveTransform which prevents another PrimitiveTransform from being applied in an ObjectTransform . More... | |
struct | boost::proto::noinvoke< T > |
struct | boost::proto::lazy< Object > |
A PrimitiveTransform that uses make<> to build a CallableTransform, and then uses call<> to apply it. More... | |
struct | boost::proto::fold< Sequence, State0, Fun > |
A PrimitiveTransform that invokes the fusion::fold<> algorithm to accumulate. More... | |
struct | boost::proto::reverse_fold< Sequence, State0, Fun > |
A PrimitiveTransform that is the same as the fold<> transform, except that it folds back-to-front instead of front-to-back. More... | |
struct | boost::proto::fold_tree< Sequence, State0, Fun > |
A PrimitiveTransform that recursively applies the fold<> transform to sub-trees that all share a common tag type. More... | |
struct | boost::proto::reverse_fold_tree< Sequence, State0, Fun > |
A PrimitiveTransform that recursively applies the reverse_fold<> transform to sub-trees that all share a common tag type. More... | |
struct | boost::proto::pass_through< Grammar, Domain > |
A PrimitiveTransform that transforms the child expressions of an expression node according to the corresponding children of a Grammar. More... | |
struct | boost::proto::_default< Grammar > |
struct | boost::proto::integral_c< T, I > |
A PrimitiveTransform that returns a specified integral constant. More... | |
struct | boost::proto::char_< I > |
A PrimitiveTransform that returns a specified char. More... | |
struct | boost::proto::int_< I > |
A PrimitiveTransform that returns a specified int. More... | |
struct | boost::proto::long_< I > |
A PrimitiveTransform that returns a specified long. More... | |
struct | boost::proto::size_t< I > |
A PrimitiveTransform that returns a specified std::size_t. More... | |
struct | boost::proto::_child_c< N > |
A PrimitiveTransform that returns N-th child of the current expression. More... | |
struct | boost::proto::_env_var< Key > |
struct | boost::proto::is_extension< T > |
Macros | |
#define | BOOST_PROTO_MAX_ARITY 10 |
#define | BOOST_PROTO_MAX_LOGICAL_ARITY 10 |
#define | BOOST_PROTO_MAX_FUNCTION_CALL_ARITY BOOST_PROTO_MAX_ARITY |
#define | BOOST_PROTO_DISABLE_IF_IS_CONST(T) |
#define | BOOST_PROTO_DISABLE_IF_IS_FUNCTION(T) |
#define | BOOST_PROTO_RESULT_OF boost::tr1_result_of |
#define | BOOST_PROTO_RETURN_TYPE_STRICT_LOOSE(X, Y) Y |
#define | BOOST_PROTO_DISABLE_MSVC_C4522 |
#define | BOOST_PROTO_DISABLE_MSVC_C4714 |
#define | BOOST_PROTO_UNCVREF(X) typename boost::proto::detail::uncvref<X>::type \ |
INTERNAL ONLY. More... | |
#define | M0(Z, N, DATA) template<BOOST_PP_ENUM_PARAMS_Z(Z, N, typename Arg)> struct BOOST_PP_CAT(list, N); \ |
#define | BOOST_PROTO_UNEXPR() typedef int proto_is_expr_; |
#define | BOOST_PROTO_CALLABLE() typedef void proto_is_callable_; |
#define | BOOST_PROTO_AGGREGATE() typedef void proto_is_aggregate_; |
#define | BOOST_PROTO_USE_BASIC_EXPR() typedef void proto_use_basic_expr_; |
#define | M0(Z, N, DATA) typedef _child_c<N> BOOST_PP_CAT(_child, N); |
Typedefs | |
typedef char | boost::proto::detail::yes_type |
typedef char(& | boost::proto::detail::no_type )[2] |
typedef detail::ignore const | boost::proto::ignore |
typedef detail::not_a_domain | boost::proto::domainns_::no_super_domain |
typedef make_expr< tag::terminal > | boost::proto::functional::make_terminal |
typedef make_expr < tag::unary_plus > | boost::proto::functional::make_unary_plus |
typedef make_expr< tag::negate > | boost::proto::functional::make_negate |
typedef make_expr < tag::dereference > | boost::proto::functional::make_dereference |
typedef make_expr < tag::complement > | boost::proto::functional::make_complement |
typedef make_expr < tag::address_of > | boost::proto::functional::make_address_of |
typedef make_expr < tag::logical_not > | boost::proto::functional::make_logical_not |
typedef make_expr< tag::pre_inc > | boost::proto::functional::make_pre_inc |
typedef make_expr< tag::pre_dec > | boost::proto::functional::make_pre_dec |
typedef make_expr< tag::post_inc > | boost::proto::functional::make_post_inc |
typedef make_expr< tag::post_dec > | boost::proto::functional::make_post_dec |
typedef make_expr < tag::shift_left > | boost::proto::functional::make_shift_left |
typedef make_expr < tag::shift_right > | boost::proto::functional::make_shift_right |
typedef make_expr < tag::multiplies > | boost::proto::functional::make_multiplies |
typedef make_expr< tag::divides > | boost::proto::functional::make_divides |
typedef make_expr< tag::modulus > | boost::proto::functional::make_modulus |
typedef make_expr< tag::plus > | boost::proto::functional::make_plus |
typedef make_expr< tag::minus > | boost::proto::functional::make_minus |
typedef make_expr< tag::less > | boost::proto::functional::make_less |
typedef make_expr< tag::greater > | boost::proto::functional::make_greater |
typedef make_expr < tag::less_equal > | boost::proto::functional::make_less_equal |
typedef make_expr < tag::greater_equal > | boost::proto::functional::make_greater_equal |
typedef make_expr< tag::equal_to > | boost::proto::functional::make_equal_to |
typedef make_expr < tag::not_equal_to > | boost::proto::functional::make_not_equal_to |
typedef make_expr < tag::logical_or > | boost::proto::functional::make_logical_or |
typedef make_expr < tag::logical_and > | boost::proto::functional::make_logical_and |
typedef make_expr < tag::bitwise_and > | boost::proto::functional::make_bitwise_and |
typedef make_expr < tag::bitwise_or > | boost::proto::functional::make_bitwise_or |
typedef make_expr < tag::bitwise_xor > | boost::proto::functional::make_bitwise_xor |
typedef make_expr< tag::comma > | boost::proto::functional::make_comma |
typedef make_expr< tag::mem_ptr > | boost::proto::functional::make_mem_ptr |
typedef make_expr< tag::assign > | boost::proto::functional::make_assign |
typedef make_expr < tag::shift_left_assign > | boost::proto::functional::make_shift_left_assign |
typedef make_expr < tag::shift_right_assign > | boost::proto::functional::make_shift_right_assign |
typedef make_expr < tag::multiplies_assign > | boost::proto::functional::make_multiplies_assign |
typedef make_expr < tag::divides_assign > | boost::proto::functional::make_divides_assign |
typedef make_expr < tag::modulus_assign > | boost::proto::functional::make_modulus_assign |
typedef make_expr < tag::plus_assign > | boost::proto::functional::make_plus_assign |
typedef make_expr < tag::minus_assign > | boost::proto::functional::make_minus_assign |
typedef make_expr < tag::bitwise_and_assign > | boost::proto::functional::make_bitwise_and_assign |
typedef make_expr < tag::bitwise_or_assign > | boost::proto::functional::make_bitwise_or_assign |
typedef make_expr < tag::bitwise_xor_assign > | boost::proto::functional::make_bitwise_xor_assign |
typedef make_expr< tag::subscript > | boost::proto::functional::make_subscript |
typedef make_expr< tag::if_else_ > | boost::proto::functional::make_if_else |
typedef make_expr< tag::function > | boost::proto::functional::make_function |
typedef functional::flatten | boost::proto::_flatten |
typedef functional::make_pair | boost::proto::_make_pair |
typedef functional::first | boost::proto::_first |
typedef functional::second | boost::proto::_second |
typedef functional::pop_front | boost::proto::_at |
typedef functional::pop_front | boost::proto::_pop_front |
typedef functional::push_front | boost::proto::_push_front |
typedef functional::pop_back | boost::proto::_pop_back |
typedef functional::push_back | boost::proto::_push_back |
typedef functional::reverse | boost::proto::_reverse |
typedef functional::eval | boost::proto::_eval |
typedef functional::make_expr < tag::terminal > | boost::proto::_make_terminal |
typedef functional::make_expr < tag::unary_plus > | boost::proto::_make_unary_plus |
typedef functional::make_expr < tag::negate > | boost::proto::_make_negate |
typedef functional::make_expr < tag::dereference > | boost::proto::_make_dereference |
typedef functional::make_expr < tag::complement > | boost::proto::_make_complement |
typedef functional::make_expr < tag::address_of > | boost::proto::_make_address_of |
typedef functional::make_expr < tag::logical_not > | boost::proto::_make_logical_not |
typedef functional::make_expr < tag::pre_inc > | boost::proto::_make_pre_inc |
typedef functional::make_expr < tag::pre_dec > | boost::proto::_make_pre_dec |
typedef functional::make_expr < tag::post_inc > | boost::proto::_make_post_inc |
typedef functional::make_expr < tag::post_dec > | boost::proto::_make_post_dec |
typedef functional::make_expr < tag::shift_left > | boost::proto::_make_shift_left |
typedef functional::make_expr < tag::shift_right > | boost::proto::_make_shift_right |
typedef functional::make_expr < tag::multiplies > | boost::proto::_make_multiplies |
typedef functional::make_expr < tag::divides > | boost::proto::_make_divides |
typedef functional::make_expr < tag::modulus > | boost::proto::_make_modulus |
typedef functional::make_expr < tag::plus > | boost::proto::_make_plus |
typedef functional::make_expr < tag::minus > | boost::proto::_make_minus |
typedef functional::make_expr < tag::less > | boost::proto::_make_less |
typedef functional::make_expr < tag::greater > | boost::proto::_make_greater |
typedef functional::make_expr < tag::less_equal > | boost::proto::_make_less_equal |
typedef functional::make_expr < tag::greater_equal > | boost::proto::_make_greater_equal |
typedef functional::make_expr < tag::equal_to > | boost::proto::_make_equal_to |
typedef functional::make_expr < tag::not_equal_to > | boost::proto::_make_not_equal_to |
typedef functional::make_expr < tag::logical_or > | boost::proto::_make_logical_or |
typedef functional::make_expr < tag::logical_and > | boost::proto::_make_logical_and |
typedef functional::make_expr < tag::bitwise_and > | boost::proto::_make_bitwise_and |
typedef functional::make_expr < tag::bitwise_or > | boost::proto::_make_bitwise_or |
typedef functional::make_expr < tag::bitwise_xor > | boost::proto::_make_bitwise_xor |
typedef functional::make_expr < tag::comma > | boost::proto::_make_comma |
typedef functional::make_expr < tag::mem_ptr > | boost::proto::_make_mem_ptr |
typedef functional::make_expr < tag::assign > | boost::proto::_make_assign |
typedef functional::make_expr < tag::shift_left_assign > | boost::proto::_make_shift_left_assign |
typedef functional::make_expr < tag::shift_right_assign > | boost::proto::_make_shift_right_assign |
typedef functional::make_expr < tag::multiplies_assign > | boost::proto::_make_multiplies_assign |
typedef functional::make_expr < tag::divides_assign > | boost::proto::_make_divides_assign |
typedef functional::make_expr < tag::modulus_assign > | boost::proto::_make_modulus_assign |
typedef functional::make_expr < tag::plus_assign > | boost::proto::_make_plus_assign |
typedef functional::make_expr < tag::minus_assign > | boost::proto::_make_minus_assign |
typedef functional::make_expr < tag::bitwise_and_assign > | boost::proto::_make_bitwise_and_assign |
typedef functional::make_expr < tag::bitwise_or_assign > | boost::proto::_make_bitwise_or_assign |
typedef functional::make_expr < tag::bitwise_xor_assign > | boost::proto::_make_bitwise_xor_assign |
typedef functional::make_expr < tag::subscript > | boost::proto::_make_subscript |
typedef functional::make_expr < tag::if_else_ > | boost::proto::_make_if_else |
typedef functional::make_expr < tag::function > | boost::proto::_make_function |
typedef int | boost::proto::envns_::empty_state |
typedef _child_c< 0 > | boost::proto::_child0 |
typedef _child_c< 1 > | boost::proto::_child1 |
typedef _child0 | boost::proto::_child |
typedef _child0 | boost::proto::_left |
typedef _child1 | boost::proto::_right |
Functions | |
boost::proto::BOOST_PP_REPEAT_FROM_TO (2, BOOST_PP_DEC(10), M0,~) struct _byref | |
Variables | |
int const | boost::proto::N = (INT_MAX >> 10) |
Forward declarations of all of proto's public types and functions.
#define BOOST_PROTO_AGGREGATE | ( | ) | typedef void proto_is_aggregate_; |
#define BOOST_PROTO_CALLABLE | ( | ) | typedef void proto_is_callable_; |
Referenced by BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG().
#define BOOST_PROTO_DISABLE_IF_IS_CONST | ( | T | ) |
#define BOOST_PROTO_DISABLE_IF_IS_FUNCTION | ( | T | ) |
#define BOOST_PROTO_DISABLE_MSVC_C4522 |
#define BOOST_PROTO_DISABLE_MSVC_C4714 |
#define BOOST_PROTO_MAX_ARITY 10 |
#define BOOST_PROTO_MAX_FUNCTION_CALL_ARITY BOOST_PROTO_MAX_ARITY |
#define BOOST_PROTO_MAX_LOGICAL_ARITY 10 |
#define BOOST_PROTO_RESULT_OF boost::tr1_result_of |
#define BOOST_PROTO_RETURN_TYPE_STRICT_LOOSE | ( | X, | |
Y | |||
) | Y |
#define BOOST_PROTO_UNCVREF | ( | X | ) | typename boost::proto::detail::uncvref<X>::type \ |
INTERNAL ONLY.
#define BOOST_PROTO_UNEXPR | ( | ) | typedef int proto_is_expr_; |
#define BOOST_PROTO_USE_BASIC_EXPR | ( | ) | typedef void proto_use_basic_expr_; |
#define M0 | ( | Z, | |
N, | |||
DATA | |||
) | template<BOOST_PP_ENUM_PARAMS_Z(Z, N, typename Arg)> struct BOOST_PP_CAT(list, N); \ |
#define M0 | ( | Z, | |
N, | |||
DATA | |||
) | typedef _child_c<N> BOOST_PP_CAT(_child, N); |