A wildcard grammar element that matches any expression, and a transform that returns the current expression unchanged. More...
#include <matches.hpp>


Classes | |
| struct | impl |
Public Types | |
| typedef _ | proto_grammar |
| typedef _ | 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 |
A wildcard grammar element that matches any expression, and a transform that returns the current expression unchanged.
The wildcard type, _, is a grammar element such that matches<E,_>value is true for any expression type E.
The wildcard can also be used as a stand-in for a template argument when matching terminals. For instance, the following is a grammar that will match any std::complex<> terminal:
When used as a transform, _ returns the current expression unchanged. For instance, in the following, _ is used with the fold<> transform to fold the children of a node:
| typedef _ boost::proto::_::proto_grammar |
|
inherited |
|
inherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |