C++类型特征概述
有人整理了标准
(GCC-4.6.1) 和 Boost 自己的
中可用的所有类型特征的列表吗?
Has anybody put together a list of all the type traits available in standard <type_traits>
(GCC-4.6.1) and Boost's own <boost/type_traits.hpp>
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
完整的特征列表可在线获取:
;然而,GCC 的实施尚未完成。 GCC 4.6 缺失:
std::underlying_type
特征。这个将出现在 GCC 4.7 上。std::is_trivially_X
系列特征。相反,它具有 std::has_trivial_default_constructor 和类似的名称,这些名称似乎来自早期草案。关于移动构造函数的内容丢失了。std::is_nothro_X
系列特征。它们还使用旧名称,例如 std::has_nothrot_default_constructor 。关于移动构造函数的内容也丢失了。std::aligned_union
特征。这个可以通过当前支持的std::aligned_storage
轻松实现。The full lists of traits are available online:
<boost/type_traits.hpp>
;<type_traits>
.However, the GCC implementation is not yet complete. GCC 4.6 is missing:
std::underlying_type
trait. This one will be on GCC 4.7.std::is_trivially_X
series of traits. Instead it hasstd::has_trivial_default_constructor
and similar that seem to have the name from an earlier draft. The one about the move constructor is missing.std::is_nothrow_X
series of traits. These also use an older name likestd::has_nothrow_default_constructor
. The one about the move constructor is missing too.std::aligned_union
trait. This one can be easily implemented in terms ofstd::aligned_storage
, which is currently supported.