引領boost(開篇)
一BOOST
Boost帶領你遠遠地超越了C++標準庫,它使得C++編程更優(yōu)雅、更有活力、更高產(chǎn)。(引自: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++中根據(jù)EBNF規(guī)則對文件進行分析, 作者 Joel de Guzman and team.
- tokenizer - 把字符串或其他字符序列分解成一系列標記(tokens), 作者 John Bandela.
- string_algo - 字符串算法庫, 作者 Pavol Droba .
2.1 容器(Containers)
- array - STL風格封裝下的定長數(shù)組, 作者 Nicolai Josuttis.
- dynamic_bitset - std::bitset的動態(tài)長度版本, 作者 Jeremy Siek 和 Chuck Allison.
- graph - 泛型圖的組件和算法, 作者 Jeremy Siek 和 a University of Notre Dame team.
- multi_array - 多維數(shù)組的容器和配接器, 作者 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 - 安全, 泛型, 基于棧的,不同于聯(lián)合容器, 作者 Eric Friedman and Itay Maman.
2.2 迭代器(Iterators)
- graph - 泛型圖的組件和算法, 作者 Jeremy Siek 和 a University of Notre Dame team.
- iterators - Iterator 構(gòu)造框架, 配接器, 概念, 和其他, 作者 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() 函數(shù)模板, 作者 Dave Abrahams and others.
- range - new 根基,其為建于new iterator概念之上的泛型計算, 作者 Thorsten Ottosen.
2.4 函數(shù)對象和高階編程(Function objects and higher-order programming)
- bind 和 mem_fn - 為函數(shù)/對象/指針和成員函數(shù)而被泛化的組合者, 作者 Peter Dimov.
- function - 為延期調(diào)用和回調(diào)的函數(shù)對象的包裹, 作者 Doug Gregor.
- functional - 增強的函數(shù)對象配接器, 作者 Mark Rodgers.
- lambda - 在實際調(diào)用地點定義小的無名函數(shù)對象, 作者 Jaakko Järvi 和 Gary Powell.
- ref - 一個工具庫,用于傳遞引用到泛型函數(shù), 作者 Jaako Järvi, Peter Dimov, Doug Gregor, 和 Dave Abrahams.
- signals - 被管理的信號和郵槽回調(diào)的實現(xiàn), 作者 Doug Gregor.
- result_of - 確定函數(shù)調(diào)用表達式的類型.
2.5 泛型編程(Generic Programming)
- call_traits - 實現(xiàn)自動判斷傳入?yún)?shù)的方式, 作者 John Maddock, Howard Hinnant, et al.
- concept check - 泛型編程的工具, 作者 Jeremy Siek.
- enable_if - 函數(shù)模板重載時的選擇性包含, 作者 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 - 靜態(tài)斷言 (編譯時斷言), 作者 John Maddock.
- type_traits - 類型的基本屬性的模板, 作者 John Maddock, Steve Cleary, et al.
2.6 模板元編程(Template Metaprogramming )
- mpl - 模板元編程框架,用于編譯時計算,序列化和元函數(shù)類, 作者 Aleksey Gurtovoy.
- static_assert - 靜態(tài)斷言 (編譯時斷言), 作者 John Maddock.
- type_traits - 類型的基本屬性的模板, 作者 John Maddock, Steve Cleary, et al.
2.7 預處理元編程(Preprocessor Metaprogramming)
- preprocessor - 預處理元編程工具,包含重復和遞歸, 作者 Vesa Karvonen 和 Paul Mensonides.
2.8 并發(fā)編程(Concurrent Programming)
- thread - 輕便的C++多線程庫, 作者 William Kempf.
2.9 數(shù)學和數(shù)值計算(Math and numerics)
- math - 在數(shù)學領域的幾個貢獻, 作者 various authors.
- conversion/numeric_cast - numeric_cast 類模板, 作者 Kevlin Henney.
- numeric/conversion - 優(yōu)化的基于策略的數(shù)值變換, 作者 Fernando Cacciola.
- integer - 能夠幫助簡化對整數(shù)類型的處理。
- interval - Extends the usual arithmetic functions to mathematical intervals, 作者 Guillaume Melquiond, Hervé Brönnimann and Sylvain Pion.
- math/common_factor - 最大公約數(shù)和最小公倍數(shù), 作者 Daryle Walker.
- math/octonion - Octonions, 作者 Hubert Holin.
- math/quaternion - Quaternions, 作者 Hubert Holin.
- math/special_functions - 數(shù)學方面的函數(shù)比如 atanh, sinc, 和 sinhc, 作者 Hubert Holin.
- multi_array - 多維數(shù)組的容器和配接器, 作者 Ron Garcia.
- operators - 使算法類和迭代器容易的模板, 作者 Dave Abrahams 和 Jeremy Siek.
- random - 隨機數(shù)生成的完整系統(tǒng), 作者 Jens Maurer.
- rational - 有理數(shù)類, 作者 Paul Moore.
- uBLAS - 基本線性代數(shù),用于矩陣操作, 作者 Joerg Walter and Mathias Koch.
2.10 糾錯和測試( Correctness and testing)
- concept check - 泛型編程的工具, 作者 Jeremy Siek.
- static_assert - 靜態(tài)斷言 (編譯時斷言), 作者 John Maddock.
- test - 支持簡單程序測試, 完整單元測試, 和程序執(zhí)行監(jiān)控, 作者 Gennadiy Rozental.
2.11數(shù)據(jù)結(jié)構(gòu)( Data structures)
- any - 安全,泛型的容器,包含不同類型的值, 作者 Kevlin Henney.
- compressed_pair - 針對pair當中空成員做了一些優(yōu)化, 作者 John Maddock, Howard Hinnant, et al.
- multi_index - 提供對可重復鍵值STL兼容容器的存取接口, 作者 Joaquín M López Muñoz.
- tuple - 容易地定義可返回多個值的函數(shù), 作者 Jaakko Järvi.
- variant - 安全, 泛型, 基于棧的,不同于聯(lián)合容器, 作者 Eric Friedman and Itay Maman.
2.12 輸入/輸出(Input/Output)
- format - 類型安全的 '類似printf' 格式的操作, 作者 Samuel Krempp.
- io state savers - 保存 I/O 狀態(tài)來防止混亂的數(shù)據(jù), 作者 Daryle Walker.
- program_options - 通過命令行,配置文件和其他來源來存取配置參數(shù), 作者 Vladimir Prus.
- serialization - Serialization of arbitrary data for persistence and marshalling, 作者 Robert Ramey
- assign - 用常數(shù)或更容易方式生成的數(shù)據(jù)填充容器, 作者 Thorsten Ottosen.
2.13 跨語言支持(Inter-language support)
2.14 內(nèi)存(Memory)
- pool - 內(nèi)存池管理, 作者 Steve Cleary.
- smart_ptr - 五個智能指針類模板, 作者 Greg Colvin, Beman Dawes, Peter Dimov, 和 Darin Adler.
- utility - 類 noncopyable 加 checked_delete(), checked_array_delete(), next(), prior() 函數(shù)模板, 加 base-from-member idiom, 作者 Dave Abrahams 等.
2.15解析( Parsing )
- spirit - LL分析的框架,在嵌入式C++中根據(jù)EBNF規(guī)則對文件進行分析, 作者 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當中空成員做了一些優(yōu)化, 作者 John Maddock, Howard Hinnant, et al.
- conversion - 各種類型間的轉(zhuǎn)化,Numeric, polymorphic, 和 lexical casts, 作者 Dave Abrahams and Kevlin Henney.
- numeric/conversion - 優(yōu)化的基于策略的數(shù)值變換, 作者 Fernando Cacciola.
- crc - 循環(huán)沉余碼, 作者 Daryle Walker.
- date_time - Date-Time 庫, 作者 Jeff Garland.
- filesystem - 方便地操作文件路徑, 通過iteration訪問目錄, 和其他有用的文件系統(tǒng)操作, 作者 Beman Dawes.
- optional - 對可選項值的可識別聯(lián)合包裹, 作者 Fernando Cacciola.
- program_options - 通過命令行,配置文件和其他來源來存取配置參數(shù), 作者 Vladimir Prus.
- timer - 事件定時器, 進度定時器, 和進度顯示類, 作者 Beman Dawes.
- tribool - 3種狀態(tài)的 boolean 類型庫, 作者 Doug Gregor.
- utility - 類 noncopyable 加 checked_delete(), checked_array_delete(), next(), prior() 函數(shù)模板, 加 base-from-member idiom, 作者 Dave Abrahams 等.
- value_initialized - 為統(tǒng)一的語法的值初始化的包裹, 作者 Fernando Cacciola, 基于 David Abrahams 的思想.
2.17 Broken compiler workarounds
- compatibility - 對不一致的標準庫提供幫助, 作者 Ralf Grosse-Kunstleve and Jens Maurer.
- config - 幫助 boost 庫的開發(fā)者配置編譯器特性;不打算提供給庫用戶使用.