Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

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.

Synopsis

// In header: <boost/proto/make_expr.hpp>

template<typename Tag, typename Sequence, typename Void = void> 
struct unpack_expr {
  // types
  typedef 
    typename proto::result_of::make_expr<
      Tag,
      typename fusion::result_of::value_at_c<S, 0>::type,
      ...
      typename fusion::result_of::value_at_c<S, N-1>::type
    >::type
   type;  // Where S is a Fusion RandomAccessSequence equivalent to Sequence, and N is the size of S.
};

Description

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

Sequence is a Fusion Forward 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.


PrevUpHomeNext