boost::yap::value
// In header: <boost/yap/algorithm.hpp> template<typename T> decltype(auto) value(T && x);
将 x 的唯一元素转发给调用者,如果 x 是引用表达式,则可能首先调用 deref()
,否则将 x 不变地转发给调用者。
更正式地
如果 x 不是表达式,则将 x 转发给调用者。
否则,如果 x 是引用表达式,则结果为 value(deref(x))
。
否则,如果 x 是只有一个值的表达式(一元表达式或终端表达式),则结果是转发的 x 的第一个元素。
否则,将 x 转发给调用者。