一、时间与日期
timer
(精度不高,可移植性低,不建议使用)
date_time
特性:基于日常使用的公历,提供与时间相关的功能,与c语言的传统时间结构相互转换。
默认时间为微妙,也可以返回纳秒。
boost::gregorian;
boost::posix_time;
二、内存管理
smart_ptr (C++11已收录)
make_shared代替new,比直接创建shared_ptr更高效,内部仅分配一次内存。
pool
预先分配一块大的内存空间,然后定制内存分配。
pool
pool(size_type requested_size); // 构造函数
void* malloc(); // 分配内存,大小为requested_size
bool is_form(void* chunk) const; //
void free(void* chunk); // 归还内存
bool release_memory(); // 释放未分配内存
bool purge_memory(); // 释放所有内存
object_pool 用于类实例
object_pool(); // 构造函数
element_type* malloc(); // 分配内存
voude free(element_type * p)const; // 归还内存
bool is_form(element_type * p) const; // 判断对象
element_type * construct(...); // 创建对象
void destory(element_type * p); // 销毁对象
singleton_pool :单例模式的内存池
三、实用工具
1、noncopyable 不可复制标识符
class do_no_copy(): boost::noncopyable
2、ignore_unused 表示暂时不用的变量
ignore_unused(...)
3、optional 选项值(已收录到C++17)
可看做一个大小为1且行为类似于指针的容器
4、assign
using namespace boost::assign
5、tribool 三态布尔逻辑
true、false、indeterminate
6、operators 操作符推导
equality_comparable:
less_than_comparable
addable
subtractable
incrementable
decrementable
eqyivalent
示例:class point:boost::less_than_comparable<point> {};
7、exception(部分特性已收录)
8、uuid 全球唯一标识符
boost::uuid u;
9、config boost开发者使用
10、utility
二进制常量 BOOST_BINARY(0110)
调用函数名 BOOST_CURRENT_FUNCTION
四、字符串与文本处理
format
五、正确性与测试
BOOST_ASSERT
BOOST_ASSERT_MSG
BOOST_STATIC_ASSERT
BOOST_STATIC_ASSERT_MSG
lightweight_test
六、容器与数据结构
<暂不使用>
七、算法
foreach
algorithm
八、数学与数字
<暂不使用>
math.constant
ratio
crc
random
九、操作系统相关
system(C++11已收录)
封装错误码
chrono (C++11已收录)
时间长度duration
时钟clock
时间点time_point
cpu_timer
常用时间度量
wall:挂钟时间,进程运行的实际时间
user:用户cpu时间,进程执行用户治理使用的cpu时间
system:系统cpu时间,进程执行系统内核调用使用的cpu时间
filesystem (C++17已收录)
路径处理:path, portable_posix_name(),windows_name()
文件状态:file_status
文件属性:initial_path(),current_path(),file_szie(), last_write_time()
文件操作:create_directory(),rename(),remove(),copy_file(),create_symlink()
迭代目录:directory_iterator
program_options 命令行参数解析
选项值 typed_value
选项描述器 option_description、options_description
分析器:parse_command_line();
存储器:variables_map
环境变量:parse_environment()
十、函数与回调
ref (c++11已收录):应用代理模式,引入对象包装器
bind (c++标准库的增强):函数适配器,可调用对象包括(函数指针、函数引用、成员函数指针、函数对象及lambda表达式),真正的威力在于占位符
function:函数对象容器或泛化函数指针,以对象形式封装原始的函数指针或函数对象,能容纳任何符合函数签名的可调用对象,应此被用于回调机制,。与auto 相比,运行时获取,可以拷贝、赋值等。
signals2:线程安全的观察者模式(信号与槽机制),重要函数connect\disconnect\num_slots, 类似于一个增强的function类。
十一、并发编程
atomic (c++11已收录)
thread (c++11已收录)
asio