Boost C++ 库

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

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

结构模板调用

boost::proto::call — 将给定的 CallableTransform 转换为 PrimitiveTransform

提要

// In header: <boost/proto/transform/call.hpp>

template<typename T> 
struct call :  proto::transform< call<T> > {
  // member classes/structs/unions
  template<typename Expr, typename State, typename Data> 
  struct impl :  proto::transform_impl<Expr, State, Data> {
    // types
    typedef see-below result_type;

    // public member functions
    result_type operator()(typename impl::expr_param, 
                           typename impl::state_param, 
                           typename impl::data_param) const;
  };
};

描述

proto::call<> 的目的是将转换标记为可调用,以便 proto::when<> 知道如何应用它。模板参数必须是 PrimitiveTransformCallableTransform;也就是说,返回类型是可调用 PolymorphicFunctionObject 的函数类型。

有关 proto::call<> 转换行为的完整描述,请参阅嵌套 proto::call::impl<> 类模板的文档。


PrevUpHomeNext