boost::proto::complement — 用于生成补集表达式类型的元函数,用于匹配补集表达式的语法元素,以及一个 PrimitiveTransform,它分派到 proto::pass_through<>
变换。
// In header: <boost/proto/traits.hpp> template<typename T> struct complement : proto::transform< complement<T> > { // types typedef proto::expr< proto::tag::complement, proto::list1< T > > type; typedef proto::basic_expr< proto::tag::complement, proto::list1< T > > proto_grammar; // member classes/structs/unions template<typename Expr, typename State, typename Data> struct impl : proto::pass_through<complement>::template impl<Expr, State, Data> { }; };