...世界上最受推崇和专业设计的 C++ 库项目之一。 — Herb Sutter 和 Andrei Alexandrescu, C++ 编码标准
...世界上最受推崇和专业设计的 C++ 库项目之一。
PrimitiveTransform
PrimitiveTransform 是一种类类型,它具有一个名为 impl<> 的嵌套类模板,该模板接受三个模板参数,分别表示表达式类型、状态类型和数据类型。嵌套 impl 模板的特化是三元单态函数对象,它们接受表达式、状态和数据参数。PrimitiveTransform 也是一个 多态函数对象,它根据嵌套的 impl<> 模板实现。
impl<>
result_type
typename Fn::template impl<Expr, State, Data>::result_type
重载函数调用运算符的返回类型。
fn
expr
state
data
多态函数调用 1
fn(expr)
应用变换。
多态函数调用 2
fn(expr, state)
多态函数调用 3
fn(expr, state, data)
单态函数调用
typename Fn::template impl< Expr, State, Data >()(expr, state, data)