引领boost(开篇)
一BOOST
Boost带领你远远地超越了C++标准库,它使得C++编程更优雅、更有活力、更高产。(引自:Beyond the C++ Standard Library: An Introduction to Boost)(慢慢体会哦!)
二参考
主要:
boost的在线document:http://boost.org/libs/libraries.htm
唯一的关于boost的book:Beyond the C++ Standard Library: An Introduction to Boost
其他:
http://www.boost.org/
heroboy2000: http://blog.csdn.net/heroboy2000/
dozb: http://dozb.bokee.com/catalog_2005.html
boost china: http://www.stlchina.org/twiki/bin/view.pl/Main/BoostChina
三 boost库索引(来自boost china)(本系列文章使用boost 1.34版本)
2.0 字符串和文本处理( String and text processing)
- conversion/lexical_cast - lexical_cast 类模板,作者 Kevlin Henney.
- format - 类型安全的 '类似printf' 格式的操作, 作者 Samuel Krempp.
- regex - 正则表达式库, 作者 John Maddock .
- spirit - LL分析的框架,在嵌入式C++中根据EBNF规则对文件进行分析, 作者 Joel de Guzman and team.
- tokenizer - 把字符串或其他字符序列分解成一系列标记(tokens), 作者 John Bandela.
- string_algo - 字符串算法库, 作者 Pavol Droba .
2.1 容器(Containers)
- array - STL风格封装下的定长数组, 作者 Nicolai Josuttis.
- dynamic_bitset - std::bitset的动态长度版本, 作者 Jeremy Siek 和 Chuck Allison.
- graph - 泛型图的组件和算法, 作者 Jeremy Siek 和 a University of Notre Dame team.
- multi_array - 多维数组的容器和配接器, 作者 Ron Garcia.
- multi_index - 提供对可重复键值STL兼容容器的存取接口, 作者 Joaquín M López Muñoz.
- property map - Concepts defining interfaces which map key objects to value objects, 作者 Jeremy Siek.
- variant - 安全, 泛型, 基于栈的,不同于联合容器, 作者 Eric Friedman and Itay Maman.
2.2 迭代器(Iterators)
- graph - 泛型图的组件和算法, 作者 Jeremy Siek 和 a University of Notre Dame team.
- iterators - Iterator 构造框架, 配接器, 概念, 和其他, 作者 Dave Abrahams, Jeremy Siek, 和 Thomas Witt.
- operators - 使算法类和迭代器容易的模板, 作者 Dave Abrahams 和 Jeremy Siek.
- tokenizer - 把字符串或其他字符序列分解成一系列标记(tokens), 作者 John Bandela.
2.3 算法( Algorithms )
- graph - 泛型图的组件和算法, 作者 Jeremy Siek 和 a University of Notre Dame team.
- minmax - 标准库扩展,用于同时进行 min/max 和 min/max 元素计算, 作者 Hervé Brönnimann.
- string_algo - 字符串算法库, 作者 Pavol Droba .
- utility - 类 next(), prior() 函数模板, 作者 Dave Abrahams and others.
- range - new 根基,其为建于new iterator概念之上的泛型计算, 作者 Thorsten Ottosen.
2.4 函数对象和高阶编程(Function objects and higher-order programming)
- bind 和 mem_fn - 为函数/对象/指针和成员函数而被泛化的组合者, 作者 Peter Dimov.
- function - 为延期调用和回调的函数对象的包裹, 作者 Doug Gregor.
- functional - 增强的函数对象配接器, 作者 Mark Rodgers.
- lambda - 在实际调用地点定义小的无名函数对象, 作者 Jaakko Järvi 和 Gary Powell.
- ref - 一个工具库,用于传递引用到泛型函数, 作者 Jaako Järvi, Peter Dimov, Doug Gregor, 和 Dave Abrahams.
- signals - 被管理的信号和邮槽回调的实现, 作者 Doug Gregor.
- result_of - 确定函数调用表达式的类型.
2.5 泛型编程(Generic Programming)
- call_traits - 实现自动判断传入参数的方式, 作者 John Maddock, Howard Hinnant, et al.
- concept check - 泛型编程的工具, 作者 Jeremy Siek.
- enable_if - 函数模板重载时的选择性包含, 作者 Jaakko Järvi, Jeremiah Willcock, 和 Andrew Lumsdaine.
- in_place_factory, typed_in_place_factory- Generic in-place construction of contained objects with a variadic argument-list, 作者 Fernando Cacciola.
- operators - 使算法类和迭代器容易的模板, 作者 Dave Abrahams 和 Jeremy Siek.
- property map - Concepts defining interfaces which map key objects to value objects, 作者 Jeremy Siek.
- static_assert - 静态断言 (编译时断言), 作者 John Maddock.
- type_traits - 类型的基本属性的模板, 作者 John Maddock, Steve Cleary, et al.
2.6 模板元编程(Template Metaprogramming )
- mpl - 模板元编程框架,用于编译时计算,序列化和元函数类, 作者 Aleksey Gurtovoy.
- static_assert - 静态断言 (编译时断言), 作者 John Maddock.
- type_traits - 类型的基本属性的模板, 作者 John Maddock, Steve Cleary, et al.
2.7 预处理元编程(Preprocessor Metaprogramming)
- preprocessor - 预处理元编程工具,包含重复和递归, 作者 Vesa Karvonen 和 Paul Mensonides.
2.8 并发编程(Concurrent Programming)
- thread - 轻便的C++多线程库, 作者 William Kempf.
2.9 数学和数值计算(Math and numerics)
- math - 在数学领域的几个贡献, 作者 various authors.
- conversion/numeric_cast - numeric_cast 类模板, 作者 Kevlin Henney.
- numeric/conversion - 优化的基于策略的数值变换, 作者 Fernando Cacciola.
- integer - 能够帮助简化对整数类型的处理。
- interval - Extends the usual arithmetic functions to mathematical intervals, 作者 Guillaume Melquiond, Hervé Brönnimann and Sylvain Pion.
- math/common_factor - 最大公约数和最小公倍数, 作者 Daryle Walker.
- math/octonion - Octonions, 作者 Hubert Holin.
- math/quaternion - Quaternions, 作者 Hubert Holin.
- math/special_functions - 数学方面的函数比如 atanh, sinc, 和 sinhc, 作者 Hubert Holin.
- multi_array - 多维数组的容器和配接器, 作者 Ron Garcia.
- operators - 使算法类和迭代器容易的模板, 作者 Dave Abrahams 和 Jeremy Siek.
- random - 随机数生成的完整系统, 作者 Jens Maurer.
- rational - 有理数类, 作者 Paul Moore.
- uBLAS - 基本线性代数,用于矩阵操作, 作者 Joerg Walter and Mathias Koch.
2.10 纠错和测试( Correctness and testing)
2.11数据结构( Data structures)
- any - 安全,泛型的容器,包含不同类型的值, 作者 Kevlin Henney.
- compressed_pair - 针对pair当中空成员做了一些优化, 作者 John Maddock, Howard Hinnant, et al.
- multi_index - 提供对可重复键值STL兼容容器的存取接口, 作者 Joaquín M López Muñoz.
- tuple - 容易地定义可返回多个值的函数, 作者 Jaakko Järvi.
- variant - 安全, 泛型, 基于栈的,不同于联合容器, 作者 Eric Friedman and Itay Maman.
2.12 输入/输出(Input/Output)
- format - 类型安全的 '类似printf' 格式的操作, 作者 Samuel Krempp.
- io state savers - 保存 I/O 状态来防止混乱的数据, 作者 Daryle Walker.
- program_options - 通过命令行,配置文件和其他来源来存取配置参数, 作者 Vladimir Prus.
- serialization - Serialization of arbitrary data for persistence and marshalling, 作者 Robert Ramey
- assign - 用常数或更容易方式生成的数据填充容器, 作者 Thorsten Ottosen.
2.13 跨语言支持(Inter-language support)
2.14 内存(Memory)
- pool - 内存池管理, 作者 Steve Cleary.
- smart_ptr - 五个智能指针类模板, 作者 Greg Colvin, Beman Dawes, Peter Dimov, 和 Darin Adler.
- utility - 类 noncopyable 加 checked_delete(), checked_array_delete(), next(), prior() 函数模板, 加 base-from-member idiom, 作者 Dave Abrahams 等.
2.15解析( Parsing )
- spirit - LL分析的框架,在嵌入式C++中根据EBNF规则对文件进行分析, 作者 Joel de Guzman and team.
2.16杂项( Miscellaneous )
- base-from-member - Idiom to initialize a base class with a member, 作者 Daryle Walker.
- compressed_pair - 针对pair当中空成员做了一些优化, 作者 John Maddock, Howard Hinnant, et al.
- conversion - 各种类型间的转化,Numeric, polymorphic, 和 lexical casts, 作者 Dave Abrahams and Kevlin Henney.
- numeric/conversion - 优化的基于策略的数值变换, 作者 Fernando Cacciola.
- crc - 循环沉余码, 作者 Daryle Walker.
- date_time - Date-Time 库, 作者 Jeff Garland.
- filesystem - 方便地操作文件路径, 通过iteration访问目录, 和其他有用的文件系统操作, 作者 Beman Dawes.
- optional - 对可选项值的可识别联合包裹, 作者 Fernando Cacciola.
- program_options - 通过命令行,配置文件和其他来源来存取配置参数, 作者 Vladimir Prus.
- timer - 事件定时器, 进度定时器, 和进度显示类, 作者 Beman Dawes.
- tribool - 3种状态的 boolean 类型库, 作者 Doug Gregor.
- utility - 类 noncopyable 加 checked_delete(), checked_array_delete(), next(), prior() 函数模板, 加 base-from-member idiom, 作者 Dave Abrahams 等.
- value_initialized - 为统一的语法的值初始化的包裹, 作者 Fernando Cacciola, 基于 David Abrahams 的思想.
2.17 Broken compiler workarounds
- compatibility - 对不一致的标准库提供帮助, 作者 Ralf Grosse-Kunstleve and Jens Maurer.
- config - 帮助 boost 库的开发者配置编译器特性;不打算提供给库用户使用.