...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::pop_front — A PolymorphicFunctionObject type that invokes the
fusion::pop_front()
algorithm on its argument.
// In header: <boost/proto/fusion.hpp> struct pop_front : proto::callable { template<typename This, typename Expr> struct result<This(Expr)> : fusion::result_of::pop_front< typename boost::remove_reference< Expr >::type const > { }; // public member functions template<typename Expr> typename fusion::result_of::pop_front< Expr const >::type operator()(Expr const &) const; };
A PolymorphicFunctionObject type that invokes the
fusion::pop_front()
algorithm on its argument. This is
useful for defining a CallableTransform such as
pop_front(_)
, which removes the first child from a Proto
expression node. Such a transform might be used as the first argument to the
proto::fold<>
transform; that is, fold all but the first child.