boost::proto::shift_right_assign — 一个用于生成右移赋值表达式类型的元函数,一个用于匹配右移赋值表达式的语法元素,以及一个 原始转换 (PrimitiveTransform),它会调度到 proto::pass_through<>
转换。
// In header: <boost/proto/traits.hpp> template<typename T, typename U> struct shift_right_assign : proto::transform< shift_right_assign<T, U> > { // types typedef proto::expr< proto::tag::shift_right_assign, proto::list2< T, U > > type; typedef proto::basic_expr< proto::tag::shift_right_assign, proto::list2< T, U > > proto_grammar; // member classes/structs/unions template<typename Expr, typename State, typename Data> struct impl : proto::pass_through<shift_right_assign>::template impl<Expr, State, Data> { }; };