Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext

Struct pop_front

boost::proto::functional::pop_front — A PolymorphicFunctionObject type that invokes the fusion::pop_front() algorithm on its argument.

Synopsis

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;
};

Description

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.

pop_front public member functions

  1. template<typename Expr> 
      typename fusion::result_of::pop_front< Expr const  >::type 
      operator()(Expr const & expr) const;

PrevUpHomeNext