http://www.boost.org/doc/libs/1_61_0/

Boost 1.61.0 Library Documentation

Accumulators
Framework for incremental calculation, and collection of statistical accumulators.
Author(s): Eric Niebler
First Release: 1.36.0
Standard:
Categories: Math and numerics
Algorithm
A collection of useful generic algorithms.
Author(s): Marshall Clow
First Release: 1.50.0
Standard:
Categories: Algorithms
Align
Memory alignment functions, allocators, and traits.
Author(s): Glen Fernandes
First Release: 1.56.0
Standard:
Categories: Memory
Any
Safe, generic container for single values of different value types.
Author(s): Kevlin Henney
First Release: 1.23.0
Standard:
Categories: Data structures
Array
STL compliant container wrapper for arrays of constant size.
Author(s): Nicolai Josuttis
First Release: 1.17.0
Standard
TR1
Categories: Containers
Asio
Portable networking and other low-level I/O, including sockets, timers, hostname resolution, socket iostreams, serial ports, file descriptors and Windows HANDLEs.
Author(s): Chris Kohlhoff
First Release: 1.35.0
Standard:
Categories: Concurrent ProgrammingInput/Output
Assert
Customizable assert macros.
Author(s): Peter Dimov
First Release: 1.27.0
Standard:
Categories: Correctness and testing
Assign
Filling containers with constant or generated data has never been easier.
Author(s): Thorsten Ottosen
First Release: 1.32.0
Standard:
Categories: Input/Output
Atomic
C++11-style atomic<>.
Author(s): Helge Bahmann, Tim Blechmann and Andrey Semashev
First Release: 1.53.0
Standard:
Categories: Concurrent Programming
Bimap
Bidirectional maps library for C++. With Boost.Bimap you can create associative containers in which both types can be used as key.
Author(s): Matias Capeletto
First Release: 1.35.0
Standard:
Categories: ContainersData structures
Bind
boost::bind is a generalization of the standard functions std::bind1st and std::bind2nd. It supports arbitrary function objects, functions, function pointers, and member function pointers, and is able to bind any argument to a specific value or route input arguments into arbitrary positions.
Author(s): Peter Dimov
First Release: 1.25.0
Standard
TR1
Categories: Function objects and higher-order programming
Call Traits
Defines types for passing parameters.
Author(s): John Maddock, Howard Hinnant, et al
First Release: 1.13.0
Standard
Categories: Generic Programming
Chrono
Useful time utilities. C++11.
Author(s): Howard Hinnant, Beman Dawes and Vicente J. Botet Escriba
First Release: 1.47.0
Standard
Proposed
Categories: Domain SpecificSystem
Circular Buffer
A STL compliant container also known as ring or cyclic buffer.
Author(s): Jan Gaspar
First Release: 1.35.0
Standard:
Categories: Containers
Compatibility
Help for non-conforming standard libraries.
Author(s): Ralf Grosse-Kunstleve and Jens Maurer
First Release: 1.21.2
Standard:
Categories: Broken compiler workarounds
Compressed Pair
Empty member optimization.
Author(s): John Maddock, Howard Hinnant, et al
First Release: 1.13.0
Standard:
Categories: Data structuresPatterns and Idioms
Compute
Parallel/GPU-computing library
Author(s): Kyle Lutz
First Release: 1.61.0
Standard:
Categories: Concurrent Programming
Concept Check
Tools for generic programming.
Author(s): Jeremy Siek
First Release: 1.19.0
Standard:
Categories: Correctness and testingGeneric Programming
Config
Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users.
Author(s) 
First Release: 1.9.0
Standard:
Categories: Broken compiler workarounds
Container
Standard library containers and extensions.
Author(s): Ion Gaztañaga
First Release: 1.48.0
Standard:
Categories: ContainersData structures
Context
Context switching library.
Author(s): Oliver Kowalke
First Release: 1.51.0
Standard:
Categories: Concurrent ProgrammingSystem
Conversion
Polymorphic casts.
Author(s): Dave Abrahams and Kevlin Henney
First Release: 1.20.0
Standard:
Categories: Miscellaneous
Convert
An extendible and configurable type-conversion framework.
Author(s): Vladimir Batov
First Release: 1.59.0
Standard:
Categories: MiscellaneousString and text processing
Core
A collection of simple core utilities with minimal dependencies.
Author(s): Peter Dimov, Glen Fernandes and Andrey Semashev
First Release: 1.56.0
Standard:
Categories: Miscellaneous
Coroutine
Coroutine library.
Author(s): Oliver Kowalke
First Release: 1.53.0
Standard:
Categories: Concurrent Programming
Coroutine2
(C++14) Coroutine library.
Author(s): Oliver Kowalke
First Release: 1.59.0
Standard:
Categories: Concurrent Programming
CRC
The Boost CRC Library provides two implementations of CRC (cyclic redundancy code) computation objects and two implementations of CRC computation functions. The implementations are template-based.
Author(s): Daryle Walker
First Release: 1.22.0
Standard:
Categories: Domain Specific
Date Time
A set of date-time libraries based on generic programming concepts.
Author(s): Jeff Garland
First Release: 1.29.0
Standard:
Categories: Domain SpecificSystem
DLL
Library for comfortable work with DLL and DSO.
Author(s): Antony Polukhin and Renato Tegon Forti
First Release: 1.61.0
Standard:
Categories: System
Dynamic Bitset
The dynamic_bitset class represents a set of bits. It provides accesses to the value of individual bits via an operator[] and provides all of the bitwise operators that one can apply to builtin integers, such as operator& and operator<<. The number of bits in the set is specified at runtime via a parameter to the constructor of the dynamic_bitset.
Author(s): Jeremy Siek and Chuck Allison
First Release: 1.29.0
Standard:
Categories: Containers
Enable If
Selective inclusion of function template overloads.
Author(s): Jaakko Järvi, Jeremiah Willcock and Andrew Lumsdaine
First Release: 1.31.0
Standard:
Categories: Generic Programming
Endian
Types and conversion functions for correct byte ordering and more regardless of processor endianness.
Author(s): Beman Dawes
First Release: 1.58.0
Standard:
Categories: Input/OutputMath and numericsMiscellaneous
Exception
The Boost Exception library supports transporting of arbitrary data in exception objects, and transporting of exceptions between threads.
Author(s): Emil Dotchevski
First Release: 1.36.0
Standard:
Categories: Language Features Emulation
Filesystem
The Boost Filesystem Library provides portable facilities to query and manipulate paths, files, and directories.
Author(s): Beman Dawes
First Release: 1.30.0
Standard:
Categories: System
Flyweight
Design pattern to manage large quantities of highly redundant objects.
Author(s): Joaquín M López Muñoz
First Release: 1.38.0
Standard:
Categories: Patterns and Idioms
Foreach
In C++, writing a loop that iterates over a sequence is tedious. We can either use iterators, which requires a considerable amount of boiler-plate, or we can use the std::for_each() algorithm and move our loop body into a predicate, which requires no less boiler-plate and forces us to move our logic far from where it will be used. In contrast, some other languages, like Perl, provide a dedicated "foreach" construct that automates this process. BOOST_FOREACH is just such a construct for C++. It iterates over sequences for us, freeing us from having to deal directly with iterators or write predicates.
Author(s): Eric Niebler
First Release: 1.34.0
Standard:
Categories: AlgorithmsLanguage Features Emulation
Format
The format library provides a class for formatting arguments according to a format-string, as does printf, but with two major differences: format sends the arguments to an internal stream, and so is entirely type-safe and naturally supports all user-defined types; the ellipsis (...) can not be used correctly in the strongly typed context of format, and thus the function call with arbitrary arguments is replaced by successive calls to an argument feeding operator%.
Author(s): Samuel Krempp
First Release: 1.29.0
Standard:
Categories: Input/OutputString and text processing
Function
Function object wrappers for deferred calls or callbacks.
Author(s): Doug Gregor
First Release: 1.23.0
Standard
TR1
Categories: Function objects and higher-order programmingProgramming Interfaces
Function Types
Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types.
Author(s): Tobias Schwinger
First Release: 1.35.0
Standard:
Categories: Generic ProgrammingTemplate Metaprogramming
Functional
The Boost.Function library contains a family of class templates that are function object wrappers.
Author(s): Mark Rodgers
First Release: 1.16.0
Standard
 
Categories: Function objects and higher-order programming
Functional/Factory
Function object templates for dynamic and static object creation
Author(s): Tobias Schwinger
First Release: 1.43.0
Standard
 
Categories: Function objects and higher-order programming
Functional/Forward
Adapters to allow generic function objects to accept arbitrary arguments
Author(s): Tobias Schwinger
First Release: 1.43.0
Standard
 
Categories: Function objects and higher-order programming
Functional/Hash
A TR1 hash function object that can be extended to hash user defined types.
Author(s): Daniel James
First Release: 1.33.0
Standard
TR1
Categories: Function objects and higher-order programming
Functional/Overloaded Function
Overload different functions into a single function object.
Author(s): Lorenzo Caminiti
First Release: 1.50.0
Standard
 
Categories: Function objects and higher-order programming
Fusion
Library for working with tuples, including various containers, algorithms, etc.
Author(s): Joel de Guzman, Dan Marsden and Tobias Schwinger
First Release: 1.35.0
Standard
 
Categories: Data structuresTemplate Metaprogramming
Geometry
The Boost.Geometry library provides geometric algorithms, primitives and spatial index.
Author(s): Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz and Menelaos Karavelas
First Release: 1.47.0
Standard
 
Categories: AlgorithmsData structuresMath and numerics
GIL
Generic Image Library
Author(s): Lubomir Bourdev and Hailin Jin
First Release: 1.35.0
Standard
 
Categories: AlgorithmsContainersGeneric ProgrammingImage processingIterators
Graph
The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL).
Author(s): Jeremy Siek and a University of Notre Dame team; now maintained by Andrew Sutton and Jeremiah Willcock.
First Release: 1.18.0
Standard
 
Categories: AlgorithmsContainersIterators
Hana
A modern C++ metaprogramming library. It provides high level algorithms to manipulate heterogeneous sequences, allows writing type-level computations with a natural syntax, provides tools to introspect user-defined types and much more.
Author(s): Louis Dionne
First Release: 1.61.0
Standard
 
Categories: Template Metaprogramming
Heap
Priority queue data structures.
Author(s): Tim Blechmann
First Release: 1.49.0
Standard
 
Categories: Data structures
ICL
Interval Container Library, interval sets and maps and aggregation of associated values
Author(s): Joachim Faulhaber
First Release: 1.46.0
Standard
 
Categories: ContainersData structures
Identity Type
Wrap types within round parenthesis so they can always be passed as macro parameters.
Author(s): Lorenzo Caminiti
First Release: 1.50.0
Standard
 
Categories: Preprocessor Metaprogramming
In Place Factory, Typed In Place Factory
Generic in-place construction of contained objects with a variadic argument-list.
Author(s): Fernando Cacciola
First Release: 1.32.0
Standard
 
Categories: Generic Programming
Integer
The organization of boost integer headers and classes is designed to take advantage of <stdint.h> types from the 1999 C standard without resorting to undefined behavior in terms of the 1998 C++ standard. The header <boost/cstdint.hpp> makes the standard integer types safely available in namespace boost without placing any names in namespace std.
Author(s):  
First Release: 1.9.0
Standard
 
Categories: Math and numerics
Interprocess
Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators.
Author(s): Ion Gaztañaga
First Release: 1.35.0
Standard
 
Categories: Concurrent Programming
Interval
Extends the usual arithmetic functions to mathematical intervals.
Author(s): Guillaume Melquiond, Hervé Brönnimann and Sylvain Pion
First Release: 1.30.0
Standard
 
Categories: Math and numerics
Intrusive
Intrusive containers and algorithms.
Author(s): Ion Gaztañaga
First Release: 1.35.0
Standard
 
Categories: Containers
IO State Savers
The I/O sub-library of Boost helps segregate the large number of Boost headers. This sub-library should contain various items to use with/for the standard I/O library.
Author(s): Daryle Walker
First Release: 1.28.0
Standard
 
Categories: Input/Output
Iostreams
Boost.IOStreams provides a framework for defining streams, stream buffers and i/o filters.
Author(s): Jonathan Turkanis
First Release: 1.33.0
Standard
 
Categories: Input/OutputString and text processing
Iterator
The Boost Iterator Library contains two parts. The first is a system of concepts which extend the C++ standard iterator requirements. The second is a framework of components for building iterators based on these extended concepts and includes several useful iterator adaptors.
Author(s): Dave Abrahams, Jeremy Siek and Thomas Witt
First Release: 1.21.0
Standard
 
Categories: Iterators
Lambda
Define small unnamed function objects at the actual call site, and more.
Author(s): Jaakko Järvi and Gary Powell
First Release: 1.28.0
Standard
 
Categories: Function objects and higher-order programming
Lexical Cast
General literal text conversions, such as an int represented a string, or vice-versa.
Author(s): Kevlin Henney
First Release: 1.20.0
Standard
 
Categories: MiscellaneousString and text processing
Local Function
Program functions locally, within other functions, directly within the scope where they are needed.
Author(s): Lorenzo Caminiti
First Release: 1.50.0
Standard
 
Categories: Function objects and higher-order programming
Locale
Provide localization and Unicode handling tools for C++.
Author(s): Artyom Beilis
First Release: 1.48.0
Standard
 
Categories: String and text processing
Lockfree
Lockfree data structures.
Author(s): Tim Blechmann
First Release: 1.53.0
Standard
 
Categories: Concurrent Programming
Log
Logging library.
Author(s): Andrey Semashev
First Release: 1.54.0
Standard
 
Categories: Miscellaneous
Math
Boost.Math includes several contributions in the domain of mathematics: The Greatest Common Divisor and Least Common Multiple library provides run-time and compile-time evaluation of the greatest common divisor (GCD) or least common multiple (LCM) of two integers. The Special Functions library currently provides eight templated special functions, in namespace boost. The Complex Number Inverse Trigonometric Functions are the inverses of trigonometric functions currently present in the C++ standard. Quaternions are a relative of complex numbers often used to parameterise rotations in three dimentional space. Octonions, like quaternions, are a relative of complex numbers.
Author(s): various
First Release: 1.23.0
Standard
 
Categories: Math and numerics
Math Common Factor
Greatest common divisor and least common multiple.
Author(s): Daryle Walker
First Release: 1.26.0
Standard
 
Categories: Math and numerics
Math Octonion
Octonions.
Author(s): Hubert Holin
First Release: 1.23.0
Standard
 
Categories: Math and numerics
Math Quaternion
Quaternions.
Author(s): Hubert Holin
First Release: 1.23.0
Standard
 
Categories: Math and numerics
Math/Special Functions
A wide selection of mathematical special functions.
Author(s): John Maddock, Paul Bristow, Hubert Holin and Xiaogang Zhang
First Release: 1.35.0
Standard
 
Categories: Math and numerics
Math/Statistical Distributions
A wide selection of univariate statistical distributions and functions that operate on them.
Author(s): John Maddock and Paul Bristow
First Release: 1.35.0
Standard
 
Categories: Math and numerics
Member Function
Generalized binders for function/object/pointers and member functions.
Author(s): Peter Dimov
First Release: 1.25.0
Standard
TR1
Categories: Function objects and higher-order programming
Meta State Machine
A very high-performance library for expressive UML2 finite state machines.
Author(s): Christophe Henry
First Release: 1.44.0
Standard
 
Categories: State Machines
Metaparse
A library for generating compile time parsers parsing embedded DSL code as part of the C++ compilation process
Author(s): Abel Sinkovics
First Release: 1.61.0
Standard
 
Categories: Template Metaprogramming
Min-Max
Standard library extensions for simultaneous min/max and min/max element computations.
Author(s): Hervé Brönnimann
First Release: 1.32.0
Standard
 
Categories: Algorithms
Move
Portable move semantics for C++03 and C++11 compilers.
Author(s): Ion Gaztañaga
First Release: 1.48.0
Standard
 
Categories: Language Features Emulation
MPI
Message Passing Interface library, for use in distributed-memory parallel application programming.
Author(s): Douglas Gregor and Matthias Troyer
First Release: 1.35.0
Standard
 
Categories: Concurrent Programming
MPL
The Boost.MPL library is a general-purpose, high-level C++ template metaprogramming framework of compile-time algorithms, sequences and metafunctions. It provides a conceptual foundation and an extensive set of powerful and coherent tools that make doing explict metaprogramming in C++ as easy and enjoyable as possible within the current language.
Author(s): Aleksey Gurtovoy
First Release: 1.30.0
Standard
 
Categories: Template Metaprogramming
Multi-Array
Boost.MultiArray provides a generic N-dimensional array concept definition and common implementations of that interface.
Author(s): Ron Garcia
First Release: 1.29.0
Standard
 
Categories: ContainersMath and numerics
Multi-Index
The Boost Multi-index Containers Library provides a class template named multi_index_container which enables the construction of containers maintaining one or more indices with different sorting and access semantics.
Author(s): Joaquín M López Muñoz
First Release: 1.32.0
Standard
 
Categories: ContainersData structures
Multiprecision
Extended precision arithmetic types for floating point, integer andrational arithmetic.
Author(s): John Maddock and Christopher Kormanyos
First Release: 1.53.0
Standard
 
Categories: Math and numerics
Numeric Conversion
Optimized Policy-based Numeric Conversions.
Author(s): Fernando Cacciola
First Release: 1.32.0
Standard
 
Categories: Math and numerics
Odeint
Solving ordinary differential equations.
Author(s): Karsten Ahnert and Mario Mulansky
First Release: 1.53.0
Standard
 
Categories: Math and numerics
Operators
Templates ease arithmetic classes and iterators.
Author(s): Dave Abrahams and Jeremy Siek
First Release: 1.9.0
Standard
 
Categories: Generic ProgrammingIteratorsMath and numerics
Optional
A value-semantic, type-safe wrapper for representing 'optional' (or 'nullable') objects of a given type. An optional object may or may not contain a value of the underlying type.
Author(s): Fernando Cacciola
First Release: 1.30.0
Standard
 
Categories: Data structures
Parameter
Boost.Parameter Library - Write functions that accept arguments by name.
Author(s): David Abrahams and Daniel Wallin
First Release: 1.33.0
Standard
 
Categories: Language Features EmulationProgramming Interfaces
Phoenix
Define small unnamed function objects at the actual call site, and more.
Author(s): Joel de Guzman, Dan Marsden, Thomas Heller and John Fletcher
First Release: 1.47.0
Standard
 
Categories: Function objects and higher-order programming
Pointer Container
Containers for storing heap-allocated polymorphic objects to ease OO-programming.
Author(s): Thorsten Ottosen
First Release: 1.33.0
Standard
 
Categories: ContainersData structures
Polygon
Voronoi diagram construction and booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates.
Author(s): Lucanus Simonson and Andrii Sydorchuk
First Release: 1.44.0
Standard
 
Categories: AlgorithmsData structuresMath and numerics
Pool
Memory pool management.
Author(s): Steve Cleary
First Release: 1.21.0
Standard
 
Categories: Memory
Predef
This library defines a set of compiler, architecture, operating system, library, and other version numbers from the information it can gather of C, C++, Objective C, and Objective C++ predefined macros or those defined in generally available headers.
Author(s): Rene Rivera
First Release: 1.55.0
Standard
 
Categories: Miscellaneous
Preprocessor
Preprocessor metaprogramming tools including repetition and recursion.
Author(s): Vesa Karvonen and Paul Mensonides
First Release: 1.26.0
Standard
 
Categories: Preprocessor Metaprogramming
Program Options
The program_options library allows program developers to obtain program options, that is (name, value) pairs from the user, via conventional methods such as command line and config file.
Author(s): Vladimir Prus
First Release: 1.32.0
Standard
 
Categories: Input/OutputMiscellaneous
Property Map
Concepts defining interfaces which map key objects to value objects.
Author(s): Jeremy Siek
First Release: 1.19.0
Standard
 
Categories: ContainersGeneric Programming
Property Tree
A tree data structure especially suited to storing configuration data.
Author(s): Marcin Kalicinski and Sebastian Redl
First Release: 1.41.0
Standard
 
Categories: ContainersData structures
Proto
Expression template library and compiler construction toolkit for domain-specific embedded languages.
Author(s): Eric Niebler
First Release: 1.37.0
Standard
 
Categories: Template Metaprogramming
Python
The Boost Python Library is a framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ classes functions and objects to Python, and vice-versa, using no special tools -- just your C++ compiler.
Author(s): Dave Abrahams
First Release: 1.19.0
Standard
 
Categories: Inter-language support
Random
A complete system for random number generation.
Author(s): Jens Maurer
First Release: 1.15.0
Standard
TR1
Categories: Math and numerics
Range
A new infrastructure for generic algorithms that builds on top of the new iterator concepts.
Author(s): Niel Groves and Thorsten Ottosen
First Release: 1.32.0
Standard
 
Categories: Algorithms
Ratio
Compile time rational arithmetic. C++11.
Author(s): Howard Hinnant, Beman Dawes and Vicente J. Botet Escriba
First Release: 1.47.0
Standard
Proposed
Categories: Math and numerics
Rational
A rational number class.
Author(s): Paul Moore
First Release: 1.11.0
Standard
 
Categories: Math and numerics
Ref
A utility library for passing references to generic functions.
Author(s): Jaako Järvi, Peter Dimov, Doug Gregor and Dave Abrahams
First Release: 1.25.0
Standard
TR1
Categories: Function objects and higher-order programming
Regex
Regular expression library.
Author(s): John Maddock
First Release: 1.18.0
Standard
TR1
Categories: String and text processing
Result Of
Determines the type of a function call expression.
Author(s):  
First Release: 1.32.0
Standard
 
Categories: Function objects and higher-order programming
Scope Exit
Execute arbitrary code at scope exit.
Author(s): Alexander Nasonov
First Release: 1.38.0
Standard
 
Categories: Language Features Emulation
Serialization
Serialization for persistence and marshalling.
Author(s): Robert Ramey
First Release: 1.32.0
Standard
 
Categories: Input/Output
Signals (deprecated)
Managed signals & slots callback implementation.
Author(s): Doug Gregor
First Release: 1.29.0
Standard
 
Categories: Function objects and higher-order programmingPatterns and Idioms
Signals2
Managed signals & slots callback implementation (thread-safe version 2).
Author(s): Frank Mori Hess
First Release: 1.39.0
Standard
 
Categories: Function objects and higher-order programmingPatterns and Idioms
Smart Ptr
Smart pointer class templates.
Author(s): Greg Colvin, Beman Dawes, Peter Dimov, Darin Adler and Glen Fernandes
First Release: 1.23.0
Standard
TR1
Categories: Memory
Sort
High-performance templated sort functions.
Author(s): Steven Ross
First Release: 1.58.0
Standard
 
Categories: Algorithms
Spirit
LL parser framework represents parsers directly as EBNF grammars in inlined C++.
Author(s): Joel de Guzman, Hartmut Kaiser and Dan Nuffer
First Release: 1.30.0
Standard
 
Categories: ParsingString and text processing
Statechart
Boost.Statechart - Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code.
Author(s): Andreas Huber Dönni
First Release: 1.34.0
Standard
 
Categories: State Machines
Static Assert
Static assertions (compile time assertions).
Author(s): John Maddock
First Release: 1.19.0
Standard
 
Categories: Correctness and testingGeneric ProgrammingTemplate Metaprogramming
String Algo
String algorithms library.
Author(s): Pavol Droba
First Release: 1.32.0
Standard
 
Categories: AlgorithmsString and text processing
Swap
Enhanced generic swap function.
Author(s): Joseph Gauterin
First Release: 1.38.0
Standard
 
Categories: Miscellaneous
System
Operating system support, including the diagnostics support that will be part of the C++0x standard library.
Author(s): Beman Dawes
First Release: 1.35.0
Standard:
Categories: System
Test
Support for simple program testing, full unit testing, and for program execution monitoring.
Author(s): Gennadiy Rozental and Raffi Enficiaud
First Release: 1.21.0
Standard:
Categories: Correctness and testing
Thread
Portable C++ multi-threading. C++11, C++14.
Author(s): Anthony Williams and Vicente J. Botet Escriba
First Release: 1.25.0
Standard
Proposed
Categories: Concurrent ProgrammingSystem
ThrowException
A common infrastructure for throwing exceptions from Boost libraries.
Author(s): Emil Dotchevski
First Release: 1.56.0
Standard:
Categories: Miscellaneous
Timer
Event timer, progress timer, and progress display classes.
Author(s): Beman Dawes
First Release: 1.9.0
Standard:
Categories: Miscellaneous
Tokenizer
Break of a string or other character sequence into a series of tokens.
Author(s): John Bandela
First Release: 1.23.0
Standard:
Categories: IteratorsString and text processing
TR1 (deprecated)
The TR1 library provides an implementation of the C++ Technical Report on Standard Library Extensions. This library does not itself implement the TR1 components, rather it's a thin wrapper that will include your standard library's TR1 implementation (if it has one), otherwise it will include the Boost Library equivalents, and import them into namespace std::tr1.
Author(s): John Maddock
First Release: 1.34.0
Standard
TR1
Categories: Miscellaneous
Tribool
3-state boolean type library.
Author(s): Doug Gregor
First Release: 1.32.0
Standard:
Categories: Miscellaneous
TTI
Type Traits Introspection library.
Author(s): Edward Diener
First Release: 1.54.0
Standard:
Categories: Generic ProgrammingTemplate Metaprogramming
Tuple
Ease definition of functions returning multiple values, and more.
Author(s): Jaakko Järvi
First Release: 1.24.0
Standard
TR1
Categories: Data structures
Type Erasure
Runtime polymorphism based on concepts.
Author(s): Steven Watanabe
First Release: 1.54.0
Standard:
Categories: Data structures
Type Index
Runtime/Compile time copyable type info.
Author(s): Antony Polukhin
First Release: 1.56.0
Standard
 
Categories: Language Features Emulation
Type Traits
Templates for fundamental properties of types.
Author(s): John Maddock, Steve Cleary, et al
First Release: 1.13.0
Standard
TR1
Categories: Generic ProgrammingTemplate Metaprogramming
Typeof
Typeof operator emulation.
Author(s): Arkadiy Vertleyb and Peder Holt
First Release: 1.34.0
Standard:
Categories: Language Features Emulation
uBLAS
uBLAS provides matrix and vector classes as well as basic linear algebra routines. Several dense, packed and sparse storage schemes are supported.
Author(s): Joerg Walter and Mathias Koch
First Release: 1.29.0
Standard:
Categories: Math and numerics
Units
Zero-overhead dimensional analysis and unit/quantity manipulation and conversion.
Author(s): Matthias Schabel and Steven Watanabe
First Release: 1.36.0
Standard:
Categories: Domain Specific
Unordered
Unordered associative containers.
Author(s): Daniel James
First Release: 1.36.0
Standard
TR1
Categories: Containers
Utility
Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom.
Author(s): Dave Abrahams and others
First Release: 1.13.0
Standard:
Categories: AlgorithmsFunction objects and higher-order programmingMemoryMiscellaneousPatterns and Idioms
Uuid
A universally unique identifier.
Author(s): Andy Tompkins
First Release: 1.42.0
Standard:
Categories: Data structuresDomain Specific
Value Initialized
Wrapper for uniform-syntax value initialization, based on the original idea of David Abrahams.
Author(s): Fernando Cacciola
First Release: 1.9.0
Standard:
Categories: Miscellaneous
Variant
Safe, generic, stack-based discriminated union container.
Author(s): Eric Friedman and Itay Maman
First Release: 1.31.0
Standard:
Categories: ContainersData structures
VMD
Variadic Macro Data library.
Author(s): Edward Diener
First Release: 1.60.0
Standard:
Categories: Preprocessor Metaprogramming
Wave
The Boost.Wave library is a Standards conformant, and highly configurable implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface.
Author(s): Hartmut Kaiser
First Release: 1.33.0
Standard
Categories: String and text processing
Xpressive
Regular expressions that can be written as strings or as expression templates, and which can refer to each other and themselves recursively with the power of context-free grammars.
Author(s): Eric Niebler
First Release: 1.34.0
Standard:
Categories: String and text processing

oost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。

boost主要包含一下几个大类:字符串及文本处理、容器、迭代子(Iterator)、算法、函数对象和高阶编程、泛型编程、模板元编程、预处理元编程、并发编程、数学相关、纠错和测试、数据结构、输入/输出、跨语言支持、内存相关、语法分析、杂项。 有一些库是跨类别包含的,就是既属于这个类别又属于那个类别。

在文本处理部分,conversion/lexcial_cast类用于“用C++”的方法实现数字类型和字符串之间的转换。 主要是替代C标准库中的 atoi、 itoa之类的函数。当然其中一个最大的好处就是支持泛型了。

format库提供了对流的“printf-like”功能。printf里使用%d、%s等等的参数做替换的方法在很多情况下还是非常方便的,STL的iostream则缺乏这样的功能。format为stream增加了这个功能,并且功能比原始的printf更强。

regex,这个不多说了,正则表达式库。如果需要做字符串分析的人就会理解正则表达式有多么有用了。

spirit,这个是做LL分析的框架,可以根据EBNF规则对文件进行分析。(不要告诉我不知道什么是EBNF)。做编译器的可能会用到。一般人不太用的到。

tokenizer库。我以前经常在CSDN上看到有人问怎么把一个字符串按逗号分割成字符串数组。也许有些人很羡慕VB的split函数。现在,boost的tokenizer也有相同的功能了,如果我没记错的话,这个tokenizer还支持正则表达式,是不是很爽?

array: 提供了常量大小的数组的一个包装,喜欢用数组但是苦恼数组定位、确定数组大小等功能的人这下开心了。

dynamic_bitset,动态分配大小的bitset,我们知道STL里有个bitset,为位运算提供了不少方便。可惜它的大小需要在编译期指定。现在好了,运行期动态分配大小的bitset来了。

graph。提供了图的容器和相关算法。我还没有在程序中用到过图,需要用的人可以看看。

multi_array提供了对多维数组的封装,应该还是比较有用的。

并发编程里只有一个库,thread,提供了一个可移植的线程库,不过在Windows平台上我感觉用处不大。因为它是基于Posix线程的,在Windows里对Posix的支持不是很好。

接下来的 数学和数值 类里,包含了很多数值处理方面的类库,数学类我也不太熟,不过这里有几个类还是很有用的,比如rational分数类,random随机数类,等等。

static_assert,提供了编译器的assert功能。

test库,一个单元测试框架,非常不错。

concept_check提供了泛型编程时,对泛型量的一点检查,不是很完善,不过比没有好。

数据类型类any,一个安全的可以包含不同对象的类。把它作为容器的元素类型,那么这个容器就可以包含不同类型的元素。比用void *要安全。

compressed_pair,跟STL里的pair差不多。不过对空元素做了优化。

tuple,呵呵,也许是某些人梦寐以求的东西。可以让函数返回多个值。

跨语言支持:Python,呵呵,好东东啊,可以将C++的类和函数映射给python使用。以下为几个CSDN上的关于boost.python的中文资料:http://dev.csdn.net/article/19/19828.shtm,http://dev.csdn.net/article/19/19829.shtm,http://dev.csdn.net/article/19/19830.shtm,http://dev.csdn.net/article/19/19831.shtm

pool:内存池,呵呵,不用害怕频繁分配释放内存导致内存碎片,也不用自己辛辛苦苦自己实现了。

smart_ptr:智能指针,这下不用担心内存泄漏的问题了吧。不过,C++里的智能指针都还不是十全十美的,用的时候小心点了,不要做太技巧性的操作了。

date_time,这个是平台、类库无关的实现,如果程序需要跨平台,可以考虑用这个。

timer,提供了一个计时器,虽然不是Windows里那种基于消息的计时器,不过据说可以用来测量语句执行时间。

uitlity里提供了一个noncopyable类,可以实现“无法复制”的类。很多情况下,我们需要避免一个类被复制,比如代表文件句柄的类,文件句柄如果被两个实例共享,操作上会有很多问题,而且语义上也说不过去。一般的避免实例复制的方法是把拷贝构造和operator=私有化,现在只要继承一下这个类就可以了,清晰了很多。

value_initialized:数值初始化,可以保证声明的对象都被明确的初始化,不过这个真的实用吗?似乎写这个比直接写初始化还累。呵呵,仁者见仁了。

这里面除了regex、python和test需要编译出库才能用,其他的大部分都可以直接源代码应用,比较方便。其实这些库使用都不难。最主要的原因是有些库的使用需要有相关的背景知识,比如元编程、STL、泛型编程等等。

btw: 还有 Graph 库,用于图数据的处理

Boost 1.61.0 Library Documentation的更多相关文章

  1. Centos7 下Boost 1.61.0源码 配置开发环境

    1 下载地址 https://sourceforge.net/projects/boost/files/boost/1.61.0/ boost_1_61_0.tar.gz 2 卸载系统自带的boost ...

  2. phantompy — phantompy 0.10 documentation

    phantompy - phantompy 0.10 documentation     phantompy¶     Release v0.10.     phantompy is a BSD Li ...

  3. boost 学习笔记 0: 安装环境

    boost 学习笔记 0: 安装环境 最完整的教程 http://einverne.github.io/post/2015/12/boost-learning-note-0.html Linux 自动 ...

  4. boost 1.56.0 编译及使用

    boost的编译和使用,经过搜集资料和总结,记录成文.感谢文后所列参考资料的作者. 1 下载 地址:http://sourceforge.net/projects/boost/files/boost/ ...

  5. HOWTO Use Python in the web — Python v3.0.1 documentation

    HOWTO Use Python in the web - Python v3.0.1 documentation mod_python¶ People coming from PHP often f ...

  6. Recipes — Bottle 0.13-dev documentation

    Recipes - Bottle 0.13-dev documentation Recipes¶ This is a collection of code snippets and examples ...

  7. ubuntu14.04 boost 1.58.0 安裝

    1.首先下载安装包,然后解压, 切换目录 wget -o boost_1_58_0.gar.gz http://sourceforge.net/projects/boost/files/boost/1 ...

  8. windows 10 上源码编译boost 1.66.0 | compile boost 1.66.0 from source on windows 10

    本文首发于个人博客https://kezunlin.me/post/854071ac/,欢迎阅读! compile boost 1.66.0 from source on windows 10 Ser ...

  9. Ubuntu 16.04源码编译boost库 编写CMakeLists.txt | compile boost 1.66.0 from source on ubuntu 16.04

    本文首发于个人博客https://kezunlin.me/post/d5d4a460/,欢迎阅读! compile boost 1.66.0 from source on ubuntu 16.04 G ...

随机推荐

  1. Android jar包混淆

    具体可参考http://proguard.sourceforge.net/manual/examples.html#library 1.找到android的adt目录下的 D:\soft\adt-bu ...

  2. QT字体的设置

    摘要: QT4.7.0在移植到开发板上的时候,中文支持是必不可少的,如何让QT支持中文,如何制作QT支持的字体文件,如何使QT UI编辑器中的字号与开发板中的字号一致.作者通过实验进行了一一验证. 介 ...

  3. arcgis api for silverlight

    原文 http://blog.sina.com.cn/s/blog_4638cf7b0100wntt.html arcgis api for silverlight(1) (2011-09-21 09 ...

  4. JavaScript 输入验证器工具

    前注:在数据添加的时候很多地方都会涉及到数据的合法性验证,所以有必要提炼成为一个工具.今天偶然间点错网页,弹出一个游戏界面,本来是想看怎么实现的背景音乐的加载的,结果看到一个注册页面的验证JS,所以这 ...

  5. MongoDB appendix

    mongo 是数据库shell.一般假定它和mongod 运行在同一台机器上,还假定mongod 绑定了默认端口. eg.  mongo  staging.example.com:20000,这样就会 ...

  6. D-Separation(D分离)

    是属于 Bayesian network 中的概念

  7. Python常用模块 (2) (loging、configparser、json、pickle、subprocess)

    logging 简单应用 将日志打印到屏幕 import logging logging.debug('debug message') logging.info('info message') log ...

  8. Velocity.js发布:更快的动画切换速度

    Velocity.js是一款动画切换的jQuery插件,它重新实现了jQuery的$.animate()方法从而加快动画切换的速度.Velocity.js只有7k的大小,它不仅包含了$.animate ...

  9. 【巧妙预处理系列+离散化处理】【uva1382】Distant Galaxy

    给出平面上的n个点,找一个矩形,使得边界上包含尽量多的点. [输入格式] 输入的第一行为数据组数T.每组数据的第一行为整数n(1≤n≤100):以下n行每行两个整数,即各个点的坐标(坐标均为绝对值不超 ...

  10. jquery中push()的用法(数组添加元素)

    push定义和用法 push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度. 语法 arrayObject.push(newelement1,newelement2,....,newele ...