Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
matches.hpp File Reference
#include <boost/config.hpp>
#include <boost/detail/workaround.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/arithmetic/dec.hpp>
#include <boost/preprocessor/arithmetic/sub.hpp>
#include <boost/preprocessor/iteration/iterate.hpp>
#include <boost/preprocessor/facilities/intercept.hpp>
#include <boost/preprocessor/punctuation/comma_if.hpp>
#include <boost/preprocessor/repetition/enum.hpp>
#include <boost/preprocessor/repetition/enum_params.hpp>
#include <boost/preprocessor/repetition/enum_shifted.hpp>
#include <boost/preprocessor/repetition/enum_binary_params.hpp>
#include <boost/preprocessor/repetition/enum_shifted_params.hpp>
#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
#include <boost/preprocessor/repetition/repeat.hpp>
#include <boost/mpl/logical.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/proto/detail/template_arity.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/type_traits/is_convertible.hpp>
#include <boost/type_traits/is_reference.hpp>
#include <boost/type_traits/is_pointer.hpp>
#include <boost/proto/proto_fwd.hpp>
#include <boost/proto/traits.hpp>
#include <boost/proto/transform/when.hpp>
#include <boost/proto/transform/impl.hpp>
#include <boost/proto/detail/and_n.hpp>
#include <boost/proto/detail/or_n.hpp>
#include <boost/proto/detail/matches_.hpp>
#include <boost/proto/detail/vararg_matches_impl.hpp>
#include <boost/proto/detail/lambda_matches.hpp>
Include dependency graph for matches.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  boost::proto::detail::matches_< Expr, BasicExpr, Grammar >
 
struct  boost::proto::detail::and_2< B, Pred >
 
struct  boost::proto::detail::_and_impl< And, Expr, State, Data >
 
struct  boost::proto::detail::array_matches< T, U >
 
struct  boost::proto::detail::array_matches< T[M], T * >
 
struct  boost::proto::detail::array_matches< T[M], T const * >
 
struct  boost::proto::detail::array_matches< T[M], T[proto::N]>
 
struct  boost::proto::detail::lambda_matches< T, U >
 
struct  boost::proto::detail::lambda_matches< T, proto::_ BOOST_PROTO_TEMPLATE_ARITY_PARAM(-1)>
 
struct  boost::proto::detail::lambda_matches< T, T BOOST_PROTO_TEMPLATE_ARITY_PARAM(-1)>
 
struct  boost::proto::detail::lambda_matches< T[M], U BOOST_PROTO_TEMPLATE_ARITY_PARAM(-1)>
 
struct  boost::proto::detail::lambda_matches< T[M], _ BOOST_PROTO_TEMPLATE_ARITY_PARAM(-1)>
 
struct  boost::proto::detail::lambda_matches< T[M], T[M] BOOST_PROTO_TEMPLATE_ARITY_PARAM(-1)>
 
struct  boost::proto::detail::lambda_matches< T< Expr0 >, T< Grammar0 > BOOST_PROTO_TEMPLATE_ARITY_PARAM(1) >
 
struct  boost::proto::detail::vararg_matches_impl< Args1, Back, From, To >
 
struct  boost::proto::detail::vararg_matches< Expr, Args1, Args2, Back, Can, Zero, Void >
 
struct  boost::proto::detail::vararg_matches< Expr, Args1, Args2, Back, true, true, typename Back::proto_is_vararg_ >
 
struct  boost::proto::detail::vararg_matches< Expr, Args1, Args2, Back, true, false, typename Back::proto_is_vararg_ >
 
struct  boost::proto::detail::is_cv_ref_compatible< T, U >
 
struct  boost::proto::detail::is_cv_ref_compatible< T, U & >
 
struct  boost::proto::detail::is_cv_ref_compatible< T &, U & >
 
struct  boost::proto::detail::terminal_matches< T, U >
 
struct  boost::proto::detail::terminal_matches< T(&)[M], T(&)[proto::N]>
 
struct  boost::proto::detail::terminal_matches< T(&)[M], T * >
 
struct  boost::proto::detail::terminal_matches< T, T >
 
struct  boost::proto::detail::terminal_matches< T &, T >
 
struct  boost::proto::detail::terminal_matches< T const &, T >
 
struct  boost::proto::detail::terminal_matches< T, proto::_ >
 
struct  boost::proto::detail::terminal_matches< T, exact< T > >
 
struct  boost::proto::detail::terminal_matches< T, proto::convertible_to< U > >
 
struct  boost::proto::detail::matches_< Expr, BasicExpr, Grammar >
 
struct  boost::proto::detail::matches_< Expr, BasicExpr, proto::_ >
 
struct  boost::proto::detail::matches_< Expr, proto::basic_expr< Tag, Args1, N1 >, proto::basic_expr< Tag, Args2, N2 > >
 
struct  boost::proto::detail::matches_< Expr, proto::basic_expr< Tag, Args1, N1 >, proto::basic_expr< proto::_, Args2, N2 > >
 
struct  boost::proto::detail::matches_< Expr, proto::basic_expr< Tag, Args1, 0 >, proto::basic_expr< Tag, Args2, 0 > >
 
struct  boost::proto::detail::matches_< Expr, proto::basic_expr< Tag, Args1, 0 >, proto::basic_expr< proto::_, Args2, N2 > >
 
struct  boost::proto::detail::matches_< Expr, proto::basic_expr< Tag, Args1, 0 >, proto::basic_expr< proto::_, Args2, 0 > >
 
struct  boost::proto::detail::matches_< Expr, proto::basic_expr< Tag, Args1, 1 >, proto::basic_expr< Tag, Args2, 1 > >
 
struct  boost::proto::detail::matches_< Expr, proto::basic_expr< Tag, Args1, 1 >, proto::basic_expr< proto::_, Args2, 1 > >
 
struct  boost::proto::detail::matches_< Expr, proto::basic_expr< Tag, Args, Arity >, proto::if_< If, Then, Else > >
 
struct  boost::proto::detail::matches_< Expr, BasicExpr, or_<> >
 
struct  boost::proto::detail::matches_< Expr, BasicExpr, or_< G0 > >
 
struct  boost::proto::detail::matches_< Expr, BasicExpr, and_<> >
 
struct  boost::proto::detail::matches_< Expr, BasicExpr, and_< G0 > >
 
struct  boost::proto::detail::matches_< Expr, BasicExpr, not_< Grammar > >
 
struct  boost::proto::detail::matches_< Expr, proto::basic_expr< Tag, Args, Arity >, switch_< Cases, Transform > >
 
struct  boost::proto::detail::matches_< Expr, proto::basic_expr< Tag, Args, Arity >, switch_< Cases > >
 
struct  boost::proto::matches< Expr, Grammar >
 A Boolean metafunction that evaluates whether a given expression type matches a grammar. More...
 
struct  boost::proto::matches< Expr &, Grammar >
 INTERNAL ONLY. More...
 
struct  boost::proto::_
 A wildcard grammar element that matches any expression, and a transform that returns the current expression unchanged. More...
 
struct  boost::proto::_::impl< Expr, State, Data >
 
struct  boost::proto::detail::_and_impl< proto::and_<>, Expr, State, Data >
 
struct  boost::proto::detail::_and_impl< proto::and_< G0 >, Expr, State, Data >
 
struct  boost::proto::not_< Grammar >
 Inverts the set of expressions matched by a grammar. More...
 
struct  boost::proto::not_< Grammar >::impl< Expr, State, Data >
 
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::if_< If, Then, Else >::impl< Expr, State, Data >
 
struct  boost::proto::or_<>
 For matching one of a set of alternate grammars. More...
 
struct  boost::proto::or_<>::impl< Expr, State, Data >
 
struct  boost::proto::or_<>::impl< Expr &, State, Data >
 
struct  boost::proto::and_<>
 For matching all of a set of grammars. More...
 
struct  boost::proto::and_<>::impl< Expr, State, Data >
 
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::switch_< Cases, Transform >::impl< Expr, State, Data >
 
struct  boost::proto::switch_< Cases >
 INTERNAL ONLY (This is merely a compile-time optimization for the common case) More...
 
struct  boost::proto::switch_< Cases >::impl< Expr, State, Data >
 
struct  boost::proto::switch_< Cases >::impl< Expr &, State, Data >
 
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::is_callable< or_< BOOST_PP_ENUM_PARAMS(BOOST_PROTO_MAX_LOGICAL_ARITY, G) > >
 INTERNAL ONLY. More...
 
struct  boost::proto::is_callable< and_< BOOST_PP_ENUM_PARAMS(BOOST_PROTO_MAX_LOGICAL_ARITY, G) > >
 INTERNAL ONLY. More...
 
struct  boost::proto::is_callable< not_< Grammar > >
 INTERNAL ONLY. More...
 
struct  boost::proto::is_callable< if_< If, Then, Else > >
 INTERNAL ONLY. More...
 
struct  boost::proto::is_callable< vararg< Grammar > >
 INTERNAL ONLY. More...
 
struct  boost::proto::is_callable< switch_< Cases, Transform > >
 INTERNAL ONLY. More...
 

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::proto
 
 boost::proto::detail
 

Macros

#define BOOST_PROTO_LOGICAL_typename_G   BOOST_PP_ENUM_PARAMS(BOOST_PROTO_MAX_LOGICAL_ARITY, typename G)
 
#define BOOST_PROTO_LOGICAL_G   BOOST_PP_ENUM_PARAMS(BOOST_PROTO_MAX_LOGICAL_ARITY, G)
 

Macro Definition Documentation

#define BOOST_PROTO_LOGICAL_G   BOOST_PP_ENUM_PARAMS(BOOST_PROTO_MAX_LOGICAL_ARITY, G)
#define BOOST_PROTO_LOGICAL_typename_G   BOOST_PP_ENUM_PARAMS(BOOST_PROTO_MAX_LOGICAL_ARITY, typename G)