Boost C++ 库

...世界上最受推崇和设计精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu,《C++ 编码规范

结构模板 unpack_expr - Boost C++ 函数库
PrevUpHomeNext

结构模板 unpack_expr

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>::valuetrue,则会选择另一个特化版本。


PrevUpHomeNext