造价通

反馈
取消

热门搜词

造价通

取消 发送 反馈意见

Boost程序库探秘:深度解析C++准标准库目录

2018/06/1996 作者:佚名
导读:   目录第0章 导读 10.1 关于本书 10.2 读者对象 20.3 本书的风格 30.4 本书的开发环境 30.5 本书的结构 40.6 如何阅读本书 5第1章 模板元编程(Ⅰ) 71.1 模板元编程概述 71.1.1 元数据 81.1.2 元函数 91.1.3 元函数转发 101.1.4 方便的工具 111.1.5 应用示例 121.2 type_traits 141.2.1 概述 1
  目录第0章 导读 10.1 关于本书 10.2 读者对象 20.3 本书的风格 30.4 本书的开发环境 30.5 本书的结构 40.6 如何阅读本书 5第1章 模板元编程(Ⅰ) 71.1 模板元编程概述 71.1.1 元数据 81.1.2 元函数 91.1.3 元函数转发 101.1.4 方便的工具 111.1.5 应用示例 121.2 type_traits 141.2.1 概述 141.2.2 元数据类别(Ⅰ) 151.2.3 元数据类别(Ⅱ) 171.2.4 元数据属性 181.2.5 元数据之间的关系 201.2.6 元数据转换 211.2.7 解析函数元数据 251.2.8 实现原理 261.2.9 应用示例 281.3 总结 29第2章 实用工具 312.1 compressed_pair 312.1.1 什么是空类 312.1.2 类摘要 332.1.3 构造与赋值 342.1.4 用法 352.1.5 实现原理 362.1.6 功能扩展 372.2 checked_delete 402.2.1 函数的用法 412.2.2 函数对象的用法 422.2.3 带检查的删除 442.2.4 实现原理 452.2.5 使用建议 472.3 addressof 472.3.1 用法 472.3.2 实现原理 492.3.3 使用建议 492.4 value_initialized 502.4.1 变量的初始化 502.4.2 initialized<T> 512.4.3 用法 522.4.4 value_initialized<T> 522.4.5 更方便的用法 532.5 base_from_member 542.5.1 类摘要 542.5.2 用法 552.5.3 进一步的用法 572.6 conversion 592.6.1 标准转型操作符 592.6.2 多态对象的转型 602.6.3 polymorphic_downcast 612.6.4 polymorphic_cast 622.6.5 使用模板元编程实现转型 632.7 numeric/conversion 662.8 pointer 672.8.1 pointee 672.8.2 indirect_reference 692.8.3 pointer_to_other 692.8.4 compare_pointees 702.9 scope_exit 722.9.1 用法 722.9.2 应用示例 732.9.3 实现原理 742.9.4 注意事项 752.10 总结 76第3章 迭代器 793.1 迭代器概述 793.1.1 迭代器模式 793.1.2 标准迭代器 803.1.3 新式迭代器 813.1.4 标准迭代器工具 833.1.5 迭代器与算法 843.2 next_prior 843.2.1 函数声明 853.2.2 用法 853.3 iterator_traits 873.3.1 标准迭代器特征类 873.3.2 类摘要 883.3.3 用法 893.4 iterator_facade 893.4.1 迭代器的核心操作 903.4.2 类摘要 903.4.3 用法 923.5 iterator_adaptor 963.5.1 类摘要 963.5.2 用法 983.6 迭代器工具 993.6.1 共享容器迭代器 993.6.2 发生器迭代器 1023.6.3 逆向迭代器 1043.6.4 间接迭代器 1053.6.5 计数迭代器 1073.6.6 函数输入迭代器 1103.6.7 函数输出迭代器 1133.6.8 过滤迭代器 1153.6.9 转换迭代器 1183.6.10 索引迭代器 1193.6.11 组合迭代器 1213.7 总结 124第4章 函数对象 1274.1 hash 1274.1.1 类摘要 1284.1.2 用法 1294.1.3 实现原理 1304.1.4 扩展hash 1314.2 mem_fn 1344.2.1 工作原理 1344.2.2 用法 1344.2.3 其他议题 1364.3 factory 1374.3.1 类摘要 1384.3.2 用法 1384.3.3 value_factory 1414.3.4 使用typeof库 1414.4 forward 1424.4.1 类摘要 1424.4.2 用法 1434.5 总结 145第5章 指针容器 1475.1 概述 1475.1.1 入门示例 1485.1.2 指针容器的优缺点 1515.1.3 可克隆概念 1525.1.4 克隆分配器 1535.1.5 指针容器的分类 1545.2 指针容器的共通能力 1575.2.1 模板参数 1575.2.2 构造与赋值 5.2.3 访问元素 1605.2.4 其他能力 1625.3 序列指针容器适配器 1635.3.1 配置元函数 1635.3.2 类摘要 1645.3.3 接口解说 1665.3.4 代码示例 1665.4 ptr_vector 1675.4.1 类摘要 1685.4.2 用法 1695.5 ptr_deque 1705.5.1 类摘要 1705.5.2 用法 1715.6 ptr_list 1725.6.1 类摘要 1725.6.2 用法 1735.7 ptr_array 1745.7.1 类摘要 1745.7.2 用法 1755.8 ptr_circular_buffer 1775.8.1 类摘要 1775.8.2 用法 1785.9 空指针处理 1795.9.1 禁用空指针 1795.9.2 允许空指针 1795.9.3 使用空指针 1815.9.4 空对象模式 1825.10 关联指针容器的共通能力 1845.10.1 类摘要 1845.10.2 接口解说 1855.11 集合指针容器适配器 1865.11.1 配置元函数 1865.11.2 ptr_set_adapter 1875.11.3 ptr_multiset_adapter 1885.12 ptr_set和ptr_multiset 1895.12.1 类摘要 1895.12.2 用法 1905.13 ptr_unordered_set和ptr_unordered_multiset 1915.13.1 类摘要 1915.13.2 用法 1935.14 映射指针容器适配器 1945.14.1 配置元函数 1945.14.2 ptr_map_adapter 1955.14.3 ptr_multimap_adapter 1975.15 ptr_map和ptr_multimap 1985.15.1 类摘要 1985.15.2 用法 1995.16 ptr_unordered_map和ptr_unordered_multimap 2005.16.1 类摘要 2005.16.2 用法 2025.17 使用assign库 2035.17.1 向容器添加元素 2035.17.2 初始化容器元素 2045.18 使用算法 2055.18.1 标准算法 2055.18.2 序列指针容器的算法 2095.18.3 关联指针容器的算法 2125.19 其他议题 2145.19.1 异常 2145.19.2 间接函数对象 2155.19.3 插入迭代器 2165.19.4 使用视图分配器 2175.19.5 可克隆性的再讨论 2185.19.6 序列化 2195.20 总结 219第6章 侵入式容器 2216.1 概述 2216.1.1 手工实现链表 2226.1.2 intrusive库介绍 2236.2 入门示例 2246.2.1 使用基类挂钩 2246.2.2 使用成员挂钩 2256.3 基本概念 2276.3.1 节点 2286.3.2 节点特征 2286.3.3 节点算法 2296.3.4 值特征 2306.3.5 挂钩 2316.3.6 选项 2326.3.7 处置器 2346.3.8 克隆 2346.4 链表 2356.4.1 节点和算法 2356.4.2 基类挂钩 2366.4.3 成员挂钩 2376.4.4 list类摘要 2386.4.5 list的基本用法 2406.4.6 list的特有用法 2426.5 有序集合 2466.5.1 节点和算法 2466.5.2 基类挂钩 2476.5.3 成员挂钩 2486.5.4 set类摘要 2486.5.5 set的基本用法 2506.5.6 set的特有用法 2516.5.7 multiset类摘要 2536.5.8 multiset的用法 2546.6 无序集合 2546.6.1 节点和算法 2556.6.2 基类挂钩 2556.6.3 成员挂钩 2566.6.4 unordered_set类摘要 2576.6.5 unordered_set的基本用法 2586.6.6 unordered_set的特有用法 2606.6.7 unordered_multiset类摘要 2636.6.8 unordered_multiset的用法 2636.7 其他议题 2646.7.1 同时使用多个挂钩 2646.7.2 链接模式 2666.7.3 万能挂钩 2666.8 总结 267第7章 多索引容器 2697.1 概述 2697.2 入门示例 2707.2.1 简单的例子 2707.2.2 复杂的例子 2717.2.3 更复杂的例子 2737.3 基本概念 2767.3.1 索引 2767.3.2 索引说明 2777.3.3 键提取器 2787.3.4 索引说明列表 2797.3.5 索引标签 2797.3.6 多索引容器 2807.4 键提取器 2817.4.1 定义 2817.4.2 identity 2827.4.3 member 2837.4.4 const_mem_fun 2847.4.5 mem_fun 2867.4.6 global_fun 2877.4.7 自定义键提取器 2877.5 序列索引 2887.5.1 索引说明 2887.5.2 类摘要 2897.5.3 用法 2907.6 随机访问索引 2927.6.1 索引说明 2927.6.2 类摘要 2927.6.3 用法 2937.7 有序索引 2947.7.1 索引说明 2957.7.2 类摘要 2957.7.3 基本用法 2977.7.4 高级用法 2987.8 散列索引 3017.8.1 索引说明 3027.8.2 类摘要 3027.8.3 用法 3037.9 修改元素 3057.9.1 替换元素 3057.9.2 修改元素 3067.9.3 修改键 3097.10 多索引容器 3107.10.1 类摘要 3107.10.2 用法 3117.11 组合索引键 3147.11.1 类摘要 3147.11.2 用法 3157.11.3 辅助工具 3167.12 总结 318第8章 流处理 3198.1 概述 3198.1.1 标准库的流处理 3198.1.2 Boost的流处理 3218.2 入门示例 3228.2.1 示例1 3228.2.2 示例2 3248.3 设备的特征 3258.3.1 设备的字符类型 3258.3.2 设备的模式 3268.3.3 设备的分类 3288.4 设备 3298.4.1 设备概述 3298.4.2 数组设备 3308.4.3 标准容器设备 3328.4.4 文件设备 3348.4.5 空设备 3358.5 过滤器 3368.5.1 过滤器概述 3378.5.2 管道和设备链 3378.5.3 计数过滤器 3398.5.4 正则表达式过滤器(Ⅰ) 3418.5.5 正则表达式过滤器(Ⅱ) 3448.5.6 压缩过滤器 3458.6 流 3488.6.1 基本流 3488.6.2 过滤流 3498.7 流处理函数 3528.8 定制设备 3538.8.1 定制源设备 3548.8.2 定制接收设备 3568.9 定制过滤器 3578.9.1 过滤器实现原理 3578.9.2 aggregate_filter 3588.9.3 basic_line_filter 3608.9.4 手工打造过滤器 3618.10 组合设备 3658.10.1 combine 3658.10.2 compose 3668.10.3 tee 3678.11 其他议题 3698.12 总结 370第9章 序列化 3739.1 编译与使用 3739.1.1 编译 3739.1.2 使用 3769.2 入门示例 3769.2.1 示例1 3769.2.2 示例2 3789.2.3 示例3 3799.3 基本概念 3819.3.1 存档(archive) 3819.3.2 可序列化 3829.3.3 序列化和反序列化 3839.4 存档 3839.4.1 输出存档 3839.4.2 输入存档 3859.4.3 类继承体系 3869.4.4 XML格式存档 3879.4.5 异常 3889.5 使用序列化 3899.5.1 基本类型的序列化 3899.5.2 数组的序列化 3909.5.3 标准类型的序列化 3929.5.4 标准容器的序列化 3939.5.5 非标准容器的序列化 3949.5.6 Boost类型的序列化 3959.5.7 Boost容器的序列化 3979.6 定制序列化 3999.6.1 可序列化的要求 3999.6.2 侵入式可序列化 4029.6.3 非侵入式可序列化 4039.6.4 Boost类型的可序列化 4049.6.5 Boost容器的可序列化 4079.7 高级定制序列化 4109.7.1 派生类的序列化 4109.7.2 序列化的版本 4119.8 指针的序列化 4139.8.1 指针可序列化的要求 4139.8.2 原始指针的序列化 4149.8.3 智能指针的序列化 4149.8.4 派生类指针的序列化 4159.8.5 指针容器的序列化 4179.9 实用工具 4179.9.1 BOOST_STRONG_TYPEDEF 4179.9.2 BOOST_STATIC_WARNING 4189.9.3 smart_cast 4189.9.4 base64编解码 4199.9.5 base16编解码 4229.10 总结 424第10章 泛型编程 42710.1 enable_if 42710.1.1 类摘要 42810.1.2 应用于模板函数 42910.1.3 应用于模板类 43010.1.4 lazy_enable_if 43110.2 call_traits 43110.2.1 类摘要 43210.2.2 用法 43210.2.3 实现原理 43410.3 concept_check 43610.3.1 概述 43610.3.2 基本概念检查 43710.3.3 函数对象概念检查 43810.3.4 标准迭代器概念检查 43910.3.5 新式迭代器概念检查 44010.3.6 容器概念检查 44210.3.7 在函数声明中的概念检查 44410.3.8 概念原型类 44510.4 function_types 44610.4.1 属性标签 44710.4.2 函数类型分类 44810.4.3 函数类型分解 44910.4.4 函数类型合成 45110.4.5 其他议题 45210.5 总结 452第11章 模板元编程(Ⅱ) 45511.1 mpl概述 45511.2 mpl的整数类型 45611.2.1 概述 45611.2.2 整数类型 45811.2.3 bool类型 45911.2.4 基本运算 46011.3 mpl的流程控制 46411.3.1 if_和if_c 46411.3.2 eval_if和eval_if_c 46511.4 mpl的容器 46711.4.1 概述 46711.4.2 vector 46811.4.3 string 46911.4.4 map 47111.4.5 相关元函数 47211.5 mpl的迭代器 47311.5.1 概述 47311.5.2 相关元函数 47411.6 mpl的算法 47511.6.1 插入器 47511.6.2 查询算法 47611.6.3 变换算法 47811.6.4 运行时算法 47911.7 mpl的高级用法 48111.7.1 高阶元数据 48111.7.2 占位符 48211.7.3 bind表达式 48311.7.4 lambda表达式 48411.7.5 算法的高级应用 48511.8 mpl的调试 48811.8.1 断言 48811.8.2 打印输出 49111.9 mpl实例研究 49211.9.1 泛型编程版本 49311.9.2 元编程第1版 49511.9.3 元编程第2版 49711.10 总结 499第12章 开发实践 50112.1 基本工具 50112.1.1 标准整数 50212.1.2 并发 50312.1.3 日志 50612.2 第一个TCP服务器 50712.2.1 tcp_buffer 50812.2.2 tcp_server 51012.2.3 tcp_session 51412.2.4 验证 51912.2.5 使用回调函数 52012.2.6 简单协议的实现 52312.2.7 HTTP协议的实现 52912.3 多线程工具 53212.3.1 job_queue 53212.3.2 worker 53512.3.3 scheduler 53912.3.4 safe_map 54112.3.5 safe_singleton 54612.4 第二个TCP服务器 54712.4.1 消息结构定义 54812.4.2 tcp_message 54912.4.3 tcp_session 55212.4.4 tcp_server 55812.4.5 实现echo协议 56012.4.6 实现聊天室 56212.5 总结 571第13章 Effective Boost 57313.1 基本原则 57313.2 内存管理 57713.3 容器、迭代器和算法 57813.4 其他 58013.5 结束语 582附录A 推荐书目 583附录B Boost程序库组件索引 585附录C 程序员的工具箱 597
*文章为作者独立观点,不代表造价通立场,除来源是“造价通”外。
关注微信公众号造价通(zjtcn_Largedata),获取建设行业第一手资讯

热门推荐

相关阅读