Struct template not_
boost::proto::not_ — Inverts the set of expressions matched by a grammar. When used as a transform,
proto::not_<> returns the current expression unchanged.
Synopsis
template<typename Grammar>
struct not_ : proto::transform<not_<Grammar> > {
typedef not_ proto_grammar;
template<typename Expr, typename State, typename Data>
struct impl : proto::transform_impl<Expr, State, Data> {
typedef Expr result_type;
Expr operator()(typename impl::expr_param, typename impl::state_param,
typename impl::data_param) const;
};
};
Description
Если выражение типа<E>не соответствует грамматике<G>, то<E>соответствует<proto::not_<G>>. Например,<proto::not_<proto::terminal<proto::_> >>будет соответствовать любому нетерминалу.