Boost简介

来源:http://www.cnblogs.com/wangkangluo1/archive/2012/05/28/2521493.html

原文链接

一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库索引(来自BoostChina

1 按字母顺序库列表

  • any - 安全,泛型的容器,包含不同类型的值, 作者 Kevlin Henney.
  • array - STL风格封装下的定长数组, 作者 Nicolai Josuttis.
  • assign - 用常数或更容易方式生成的数据填充容器, 作者 Thorsten Ottosen.
  • bind
    mem_fn - 为函数/对象/指针和成员函数而被泛化的组合者, 作者 Peter Dimov.
  • call_traits - 实现自动判断传入参数的方式, 作者 John Maddock, Howard Hinnant, et al.
  • compatibility - 对不一致的标准库提供帮助, 作者 Ralf Grosse-Kunstleve and Jens Maurer.
  • compressed_pair - 针对pair当中空成员做了一些优化, 作者 John Maddock, Howard Hinnant, et al.
  • concept check - 泛型编程的工具, 作者 Jeremy Siek.
  • config - 帮助 boost 库的开发者配置编译器特性;不打算提供给库用户使用.
  • conversion - 各种类型间的转化,Numeric, polymorphic, 和 lexical casts, 作者 Dave Abrahams and Kevlin Henney.
  • crc - 循环沉余码, 作者 Daryle Walker.
  • date_time - Date-Time 库, 作者 Jeff Garland.
  • dynamic_bitset -
    std::bitset的动态长度版本, 作者 Jeremy Siek 和 Chuck Allison.
  • enable_if - 函数模板重载时的选择性包含, 作者 Jaakko Järvi, Jeremiah Willcock, 和 Andrew Lumsdaine.
  • filesystem - 方便地操作文件路径, 通过iteration访问目录, 和其他有用的文件系统操作, 作者 Beman Dawes.
  • format - 类型安全的 '类似printf' 格式的操作, 作者 Samuel Krempp.
  • function - 为延期调用和回调的函数对象的包裹, 作者 Doug Gregor.
  • functional - 增强的函数对象配接器, 作者 Mark Rodgers.
  • graph - 泛型图的组件和算法, 作者 Jeremy Siek 和 a University of Notre Dame team.
  • integer - 能够帮助简化对整数类型的处理。
  • interval- Extends the usual arithmetic functions to mathematical intervals, 作者 Guillaume Melquiond, Herv´ Brönnimann and Sylvain Pion.
  • in_place_factory, typed_in_place_factory- Generic in-place construction of contained objects with a variadic argument-list, 作者 Fernando Cacciola.
  • io state savers - 保存 I/O 状态来防止混乱的数据, 作者 Daryle Walker.
  • iterators - Iterator 构造框架, 配接器, 概念, 和其他, 作者 Dave Abrahams, Jeremy Siek, 和 Thomas Witt.
  • lambda - 在实际调用地点定义小的无名函数对象, 作者 Jaakko Järvi and Gary Powell.
  • math - 在数学领域的几个贡献, 作者 various authors.
  • math/common_factor - 最大公约数和最小公倍数, 作者 Daryle Walker.
  • math/octonion - Octonions, 作者 Hubert Holin.
  • math/quaternion - Quaternions, 作者 Hubert Holin.
  • math/special_functions - 数学方面的函数比如 atanh, sinc, 和 sinhc, 作者 Hubert Holin.
  • minmax - 标准库扩展,用于同时进行 min/max 和 min/max 元素计算, 作者 Hervé Brönnimann.
  • mpl - 模板元编程框架,用于编译时计算,序列化和元函数类, 作者 Aleksey Gurtovoy.
  • multi_array - 多维数组的容器和配接器, 作者 Ron Garcia.
  • multi_index - 提供对可重复键值STL兼容容器的存取接口, 作者 Joaquín M López Muñoz.
  • numeric/conversion - 优化的基于策略的数值变换, 作者 Fernando Cacciola.
  • operators - 使算法类和迭代器容易的模板, 作者 Dave Abrahams 和 Jeremy Siek.
  • optional - 对可选项值的可识别联合包裹, 作者 Fernando Cacciola.
  • pool - 内存池管理, 作者 Steve Cleary.
  • preprocessor - 预处理元编程工具,包含重复和递归, 作者 Vesa Karvonen 和 Paul Mensonides.
  • program_options - 通过命令行,配置文件和其他来源来存取配置参数, 作者 Vladimir Prus.
  • property map - Concepts defining interfaces which map key objects to value objects, 作者 Jeremy Siek.
  • python - 映射 C++ 类和函数给
    Python 使用, 作者 Dave Abrahams.
  • random - 随机数生成的完整系统, 作者 Jens Maurer.
  • range - new 根基,其为建于new iterator概念之上的泛型计算, 作者 Thorsten Ottosen.
  • rational - 有理数类, 作者 Paul Moore.
  • ref - 一个工具库,用于传递引用到泛型函数, 作者 Jaako Järvi, Peter Dimov, Doug Gregor, 和 Dave Abrahams.
  • regex - 正则表达式库, 作者 John Maddock .
  • serialization - Serialization for persistence and marshalling, 作者 Robert Ramey
  • signals - 被管理的信号和邮槽回调的实现, 作者 Doug Gregor.
  • smart_ptr - 五个智能指针类模板, 作者 Greg Colvin, Beman Dawes, Peter Dimov, 和 Darin Adler.
  • static_assert - 静态断言 (编译时断言), 作者 John Maddock.
  • spirit - LL分析的框架,在嵌入式C++中根据EBNF规则对文件进行分析, 作者 Joel de Guzman and team.
  • string_algo - 字符串算法库, 作者 Pavol Droba .
  • test - 支持简单程序测试, 完整单元测试, 和程序执行监控, 作者 Gennadiy Rozental.
  • thread - 跨平台的线程实现。Portable C++ multi-threading, 作者 William Kempf.
  • timer - Event timer, progress timer, and progress display classes, 作者 Beman Dawes.
  • tokenizer - 把字符串或其他字符序列分解成一系列标记(tokens), 作者 John Bandela.
  • tribool - 3种状态的 boolean 类型库, 作者 Doug Gregor.
  • tuple - Ease definition of functions returning multiple values, and more, 作者 Jaakko Järvi.
  • type_traits - 类型的基本属性的模板, 作者 John Maddock, Steve Cleary, et al.
  • uBLAS - 基本线性代数,用于矩阵操作, 作者 Joerg Walter and Mathias Koch.
  • utility - 类
    noncopyablechecked_delete(), checked_array_delete(),
    next(),  prior() 函数模板, 加 base-from-member idiom, 作者 Dave Abrahams 等.
  • value_initialized - 为统一的语法的值初始化的包裹, 作者 Fernando Cacciola, 基于 David Abrahams 的思想.
  • variant - 安全, 泛型, 基于栈的,不同于联合容器, 作者 Eric Friedman and Itay Maman.

2 按主题库列表

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)

  • concept check - 泛型编程的工具, 作者 Jeremy Siek.
  • static_assert - 静态断言 (编译时断言), 作者 John Maddock.
  • test - 支持简单程序测试, 完整单元测试, 和程序执行监控, 作者 Gennadiy Rozental.

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)

  • python - 映射 C++ 类和函数给
    Python 使用, 作者 Dave Abrahams.

2.14 内存(Memory)

  • pool - 内存池管理, 作者 Steve Cleary.
  • smart_ptr - 五个智能指针类模板, 作者 Greg Colvin, Beman Dawes, Peter Dimov, 和 Darin Adler.
  • utility - 类
    noncopyablechecked_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 - 类
    noncopyablechecked_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 库的开发者配置编译器特性;不打算提供给库用户使用.
时间: 2024-10-30 10:40:15

Boost简介的相关文章

Boost.Python简介

Boost.Python简单概括:是Boost库的一部分:用来在C++代码中调用python代码以及在Python代码中调用C++代码,并且避免用户直接操作指针. 以下内容搬运自:https://wiki.python.org/moin/boost.python/GettingStarted 简介 BoostPython库让C++和Python几乎无缝结合,是Boost库的一个功能. 用BoostPython库,能快速.容易地将C++输出到Python,使得Python接口和C++接口非常像.它

C++之Boost::array用法简介_C 语言

本文实例讲述了c++里支持静态数组的容器:boost.array.分享给大家供大家参考.具体分析如下: 很多C++程序员都认为boost.array很有可能出现在下一代标准库里.对于boost.array的用法有一个基本的了解是很有必要的. 1. 为什么我们需要固定大小的数组的容器 首先,固定大小的数组还是很常见的,虽然stl提供了vector,但是vector作为动态可增长的数组,比静态数组多了一点开销,这在一些人看来是无法忍受的.c++里也需要提供固定大小容量的数组容器,当然,性能可以和普通

Boost.Context库简介及协程的构建

最近从各大公司的开源项目看来,基于协程的高性能服务端开发变得越来越流行了,比如我了解到的微信团队的libco.魅族的libgo.以及libcopp.传统的高性能服务端的开发大多都是基于异步框架和多线程或者多进程的模型来设计的,这种架构虽然经历了长久的考验且经验丰富,但是却有着固有的缺点: (1). 异步构架将代码逻辑强行分开,不利于人类常理的顺序思维习惯,自然也不是对开发者友好的: (2). 线程虽然相对于进程共享了大量的数据,创建和切换效率较高,算是作为内核级别轻量级别的调度单元,在X86构架

C++ 日志库 boost::log 以及 glog 的对比

该文章转自阿里ata精选文章,作者为苏樽 日志能方便地诊断程序原因.统计程序运行数据,是大型软件系统必不可少的组件之一.本文将从设计上和功能上对比 C++ 语言常见的两款日志库: boost::log 和 google-glog .   设计 boost::log 的设计主要有日志器( Logger ).日志核心( Logging core ). Sink 前后端( frontend, backend )组成.日志文本以及日志环境由日志器( Logger )负责搜集,日志核心负责处理日志数据(例

一些优化Nginx服务器的技巧简介

  这篇文章主要介绍了一些优化Nginx服务器的技巧简介,包括对HTTP模块和Events模块的配置建议,需要的朋友可以参考下 大多数的Nginx安装指南告诉你如下基础知识--通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了.然而,如果你真的想挤压出nginx的性能,你必须更深入一些.在本指南中,我将解释Nginx的那些设置可以微调,以优化处理大量客户端时的性能.需要注意一点,这不

【原创】各种 JSON 解析库的功能简介

这里增加一项无聊的对比图,看客自斟. =================================== [rui_maciel/mjson]Last Update:2013-05-15(最新版本为 mjson-1.5 发布日期为 2012-08-22)description M's JSON parser is a small JSON parser written in ISO C which enables the user to handle information describe

MySQL · 引擎特性 · InnoDB 事务锁简介

InnoDB 事务锁系统简介 前言 本文的目的是对InnoDB的事务锁模块做个简单的介绍,使读者对这块有初步的认识.本文先介绍行级锁和表级锁的相关概念,再介绍其内部的一些实现:最后以两个有趣的案例结束本文. 本文所有的代码和示例都是基于当前最新的MySQL5.7.10版本. 行级锁 InnoDB支持到行级别粒度的并发控制,本小节我们分析下几种常见的行级锁类型,以及在哪些情况下会使用到这些类型的锁. LOCK_REC_NOT_GAP 锁带上这个FLAG时,表示这个锁对象只是单纯的锁在记录上,不会锁

boost::asio译文

Christopher Kohlhoff Copyright 2003-2012 Christopher M. Kohlhoff 以Boost1.0的软件授权进行发布(见附带的LICENSE_1_0.txt文件或从http://www.boost.org/LICENSE_1_0.txt) Boost.Asio是用于网络和低层IO编程的跨平台C++库,为开发者提供了C++环境下稳定的异步模型. 综述 基本原理 应用程序与外界交互的方式有很多,可通过文件,网络,串口或控制台.例如在网络通信中,完成独

《深入理解Elasticsearch(原书第2版)》一第1章Elasticsearch简介1.1 Apache Lucene简介

第1章 Elasticsearch简介 我们希望读者通过阅读本书来获取和拓展关于Elasticsearch的基本知识.假设读者已经知道如何使用Elasticsearch进行单次或批量索引创建,如何发送请求检索感兴趣的文档,如何使用过滤器缩减检索返回文档的数量,以及使用切面/聚合(faceting/aggregation)机制来计算数据的一些统计量.不过,在接触Elasticsearch提供的各种令人激动的功能之前,希望读者能对Apache Lucene有一个快速的了解,因为Elasticsear