...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::proto::functional::reverse — A PolymorphicFunctionObject type that invokes the
fusion::reverse()
algorithm on its argument.
// In header: <boost/proto/fusion.hpp> struct reverse : proto::callable { // member classes/structs/unions template<typename This, typename Expr> struct result<This(Expr)> : result< This(Expr const &) > { }; template<typename This, typename Expr> struct result<This(Expr &)> : fusion::result_of::reverse< Expr > { }; // public member functions template<typename Expr> typename fusion::result_of::reverse< Expr >::type operator()(Expr &) const; template<typename Expr> typename fusion::result_of::reverse< Expr const >::type operator()(Expr const &) const; };
A PolymorphicFunctionObject type that invokes the
fusion::reverse()
algorithm on its argument. This is
useful for defining a CallableTransform like
reverse(_)
, which reverses the order of the children
of a Proto expression node.