For matching all of a set of grammars. More...
#include <proto_fwd.hpp>
Classes | |
struct | impl |
Public Types | |
typedef and_ | proto_grammar |
typedef and_ < BOOST_PP_ENUM_PARAMS(BOOST_PROTO_MAX_LOGICAL_ARITY, G) > | transform_type |
Public Member Functions | |
BOOST_PROTO_CALLABLE () typedef X proto_is_transform_ | |
BOOST_FORCEINLINE boost::proto::detail::apply_transform < transform_type(Expr const &)> ::result_type | operator() (Expr &&e) const |
BOOST_FORCEINLINE boost::proto::detail::apply_transform < transform_type(Expr const &, State const &)> ::result_type | operator() (Expr &&e, State &&s) const |
BOOST_FORCEINLINE boost::proto::detail::apply_transform < transform_type(Expr const &, State const &, Data const &)> ::result_type | operator() (Expr &&e, State &&s, Data &&d) const |
For matching all of a set of grammars.
When used as a transform, and_<>
applies the transforms associated with the each grammar in the set, and returns the result of the last.
An expression type E
matches and_<B0,B1,...Bn>
if E
matches all Bx
for x
in [0,n)
.
When applying and_<B0,B1,...Bn>
as a transform with an expression e
, state s
and data d
, it is equivalent to (B0()(e, s, d),B1()(e, s, d),...Bn()(e, s, d))
.
typedef and_ boost::proto::and_<>::proto_grammar |
|
inherited |
|
inherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |