- 博客(9)
- 收藏
- 关注
翻译 boost BOOST_IDENTITY_TYPE
目录 动机 解决方案 模板 抽象类型 用法 实现 用户手册 此库允许用圆括号包装类型,使这些类型可以直接当作宏参数传递 动机 考虑实现用类型type定义一个变量varn 功能的宏: #define VAR(type, n) type var ## n VAR(int, 1); // OK. VAR(std::map, 2); /
2014-05-07 19:53:47
1115
翻译 boost add_pointer
template struct add_pointer { typedef see-below type; }; type: 和remove_referenceT>::type*类型一样 此模板类的功能是构造一个和TYPEOF(&t)一样的类型,其中T是对象类型 头文件: #include boost/type_traits/add_pointer.hpp> or #incl
2014-05-07 15:19:25
578
翻译 boost remove_reference
template struct remove_reference { typedef see-below type; }; type: 类型和T一样,但是移除了引用修饰符 头文件: #include boost/type_traits/remove_reference.hpp> 或者#include boost/type_traits.hpp> Table 1.30. Exa
2014-05-07 14:33:13
1371
翻译 boost function_traits
Expression Result function_traitsvoid (void)>::arity 值为0的整形常量表达式 function_traitslong (int)>::arity 值为1的整形常量表达式 function_traitslong (int, long, double,void*)>:
2014-05-07 11:52:53
967
原创 boost unordered中桶个数
本文接着 http://blog.csdn.net/freemannnn/article/details/24546963 继续讨论。 桶的初始个数 在boost头文件boost\unordered\detail\util.hpp中定义了桶的初始数目: static const std::size_t default_bucket_count = 11; 也就是说,一个unorder
2014-04-26 18:40:59
837
原创 boost unordered 初识
boost中的unordered_set/unordered_map/unordered_multiset/unordered_multimap都类似,以下统称unordered。 unordered中所使用的散列方法是除法散列法。 散列函数是 h(k) = k mod m。 其中k是元素的哈希值,m是unordered中桶的个数。为了尽量避免散列冲突,桶的个数m应该取素数。 元素
2014-04-26 17:45:19
613
原创 BOOST_PP_SEQ_ENUM宏
定义此宏的头文件boost\preprocessor\seq\enum.hpp 此宏用来将一个序列转换成数组。 举个例子: 先定义一个序列, #define BOOST_UNORDERED_PRIMES (17ul)(29ul)(37ul)(53ul) (此序列可以在boost\unordered\detail\util.hpp中找到) BOOST_PP_SEQ_ENUM(BOO
2014-04-26 14:24:20
1580
原创 BOOST_PP_SEQ_SIZE宏
定义此宏的头文件boost\preprocessor\seq\size.hpp 此宏用来求一个序列的长度。 举个列子: 先定义一个序列, #define BOOST_UNORDERED_PRIMES (17ul)(29ul)(37ul)(53ul) (此序列可以在boost\unordered\detail\util.hpp中找到) BOOST_PP_SEQ_SIZE(BOOST_UN
2014-04-26 13:48:11
1190
原创 BOOST_PP_CAT宏
BOOST_PP_CAT宏主要用来连接两个标识符。此宏被其它地方用到。 头文件boost\preprocessor\cat.hpp # define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b) # define BOOST_PP_CAT_I(a, b) BOOST_PP_CAT_II(~, a ## b) # define BOOST_
2014-04-26 12:04:40
4008
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人