Boost C++ Libraries 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.

Struct template unpack_expr

boost::proto::result_of::unpack_expr — Metafunction that computes the return type of the proto::unpack_expr() function, with a domain deduced from the domains of the children.


template<typename Tag, typename Sequence, typename Void = void> 
struct unpack_expr {
  // types
    typename proto::result_of::make_expr<
      typename fusion::value_at<Sequence, 0>::type,
      typename fusion::value_at<Sequence, N-1>::type
   type;  // Where N is the size of Sequence.


Compute the return type of the proto::unpack_expr() function.

Sequence is a Fusion Random Access Sequence.

In this specialization, the domain is deduced from the domains of the child types. If proto::is_domain<Sequence>::value is true, then another specialization is selected.