Boost.Hana
1.7.1
您的元编程标准库
待办事项列表
成员
boost::hana::A
(T_1) \times \cdots \times A(T_n) \to A(U) @f$. const expr auto ap
为了性能考虑,可以考虑向标记分派实现提供对所有参数的访问。
类
boost::hana::constant_detail::which< A, B, C >
这是一个糟糕的技巧,用来避免拥有
类
boost::hana::detail::has_duplicates< T >
此实现是 O(n^2)。我们可以用 O(n) 来实现它,但这需要更复杂的设置,包括使用 O(1) 查找的存储(可以基于编译时哈希)。如果我们为关联序列实现这种存储,我们就可以用它来优化它。
成员
boost::hana::max
这里也不能指定签名。有关详细信息,请参阅
min
。
成员
boost::hana::min
我们现在无法指定签名,因为返回对象的标记取决于
x < y
是否成立。如果我们想要在数学上正确,我们应该要求
if_(cond, x, y)
返回
x
和
y
的共同数据类型,然后
min
的行为就会自然而然地出现。但是,我不确定这是否可取,因为这是一个很大的要求。
页
用户手册
改进这个解释,并讨论包装成类型的非整数常量表达式。
解释即使表达式产生的结果没有被访问,副作用也不可能出现在常量表达式中。