boost::proto::result_of::unpack_expr — 元函数,用于计算 proto::unpack_expr()
函数的返回类型,其领域从子领域的领域推导而来。
// 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. };
计算 proto::unpack_expr()
函数的返回类型。
Sequence
是一个 Fusion Forward Sequence。
在该特化版本中,领域从子类型的领域推导而来。如果 proto::is_domain<Sequence>::value
为 true
,则会选择另一个特化版本。