(→liste des librairies contenu dans boost) |
(→liste des librairies contenu dans boost) |
||
Ligne 66 : | Ligne 66 : | ||
: Categories Function objects and higher-order programming | : Categories Function objects and higher-order programming | ||
- | Call Traits | + | ====Call Traits==== |
Defines types for passing parameters. | Defines types for passing parameters. | ||
Ligne 79 : | Ligne 79 : | ||
Generic Programming | Generic Programming | ||
- | Chrono | + | ====Chrono==== |
Useful time utilities. | Useful time utilities. | ||
Ligne 92 : | Ligne 92 : | ||
Domain Specific, System | Domain Specific, System | ||
- | Circular Buffer | + | ====Circular Buffer==== |
A STL compliant container also known as ring or cyclic buffer. | A STL compliant container also known as ring or cyclic buffer. | ||
Ligne 105 : | Ligne 105 : | ||
Containers | Containers | ||
- | Compatibility | + | ====Compatibility==== |
Help for non-conforming standard libraries. | Help for non-conforming standard libraries. | ||
Ligne 118 : | Ligne 118 : | ||
Broken compiler workarounds | Broken compiler workarounds | ||
- | Compressed Pair | + | ====Compressed Pair==== |
Empty member optimization. | Empty member optimization. | ||
Ligne 131 : | Ligne 131 : | ||
Data structures, Patterns and Idioms | Data structures, Patterns and Idioms | ||
- | Concept Check | + | ====Concept Check==== |
Tools for generic programming. | Tools for generic programming. | ||
Ligne 144 : | Ligne 144 : | ||
Generic Programming, Correctness and testing | Generic Programming, Correctness and testing | ||
- | Config | + | ====Config==== |
Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users. | Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users. | ||
Ligne 157 : | Ligne 157 : | ||
Broken compiler workarounds | Broken compiler workarounds | ||
- | Container | + | ====Container==== |
Standard library containers and extensions. | Standard library containers and extensions. | ||
Ligne 170 : | Ligne 170 : | ||
Containers, Data structures | Containers, Data structures | ||
- | Context | + | ====Context==== |
Context switching library. | Context switching library. | ||
Ligne 183 : | Ligne 183 : | ||
Concurrent Programming, System | Concurrent Programming, System | ||
- | Conversion | + | ====Conversion==== |
Polymorphic and lexical casts. | Polymorphic and lexical casts. | ||
Ligne 196 : | Ligne 196 : | ||
String and text processing, Miscellaneous | String and text processing, Miscellaneous | ||
- | CRC | + | ====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. | 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. | ||
Ligne 209 : | Ligne 209 : | ||
Domain Specific | Domain Specific | ||
- | Date Time | + | ====Date Time==== |
A set of date-time libraries based on generic programming concepts. | A set of date-time libraries based on generic programming concepts. | ||
Ligne 222 : | Ligne 222 : | ||
Domain Specific, System | Domain Specific, System | ||
- | Dynamic Bitset | + | ====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. | 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. | ||
Ligne 235 : | Ligne 235 : | ||
Containers | Containers | ||
- | Enable If | + | ====Enable If==== |
Selective inclusion of function template overloads. | Selective inclusion of function template overloads. | ||
Ligne 248 : | Ligne 248 : | ||
Generic Programming | Generic Programming | ||
- | Exception | + | ====Exception==== |
The Boost Exception library supports transporting of arbitrary data in exception objects, and transporting of exceptions between threads. | The Boost Exception library supports transporting of arbitrary data in exception objects, and transporting of exceptions between threads. | ||
Ligne 261 : | Ligne 261 : | ||
Language Features Emulation | Language Features Emulation | ||
- | Filesystem | + | ====Filesystem==== |
The Boost Filesystem Library provides portable facilities to query and manipulate paths, files, and directories. | The Boost Filesystem Library provides portable facilities to query and manipulate paths, files, and directories. | ||
Ligne 274 : | Ligne 274 : | ||
System | System | ||
- | Flyweight | + | ====Flyweight==== |
Design pattern to manage large quantities of highly redundant objects. | Design pattern to manage large quantities of highly redundant objects. | ||
Ligne 287 : | Ligne 287 : | ||
Patterns and Idioms | Patterns and Idioms | ||
- | Foreach | + | ====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. | 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. | ||
Ligne 300 : | Ligne 300 : | ||
Algorithms, Language Features Emulation | Algorithms, Language Features Emulation | ||
- | Format | + | ====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%. | 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%. | ||
Ligne 313 : | Ligne 313 : | ||
String and text processing, Input/Output | String and text processing, Input/Output | ||
- | Function | + | ====Function==== |
Function object wrappers for deferred calls or callbacks. | Function object wrappers for deferred calls or callbacks. | ||
Ligne 326 : | Ligne 326 : | ||
Function objects and higher-order programming, Programming Interfaces | Function objects and higher-order programming, Programming Interfaces | ||
- | Function Types | + | ====Function Types==== |
Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types. | Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types. | ||
Ligne 339 : | Ligne 339 : | ||
Generic Programming, Template Metaprogramming | Generic Programming, Template Metaprogramming | ||
- | Functional | + | ====Functional==== |
The Boost.Function library contains a family of class templates that are function object wrappers. | The Boost.Function library contains a family of class templates that are function object wrappers. | ||
Ligne 352 : | Ligne 352 : | ||
Function objects and higher-order programming | Function objects and higher-order programming | ||
- | Functional/Factory | + | ====Functional/Factory==== |
Function object templates for dynamic and static object creation | Function object templates for dynamic and static object creation | ||
Ligne 365 : | Ligne 365 : | ||
Function objects and higher-order programming | Function objects and higher-order programming | ||
- | Functional/Forward | + | ====Functional/Forward==== |
Adapters to allow generic function objects to accept arbitrary arguments | Adapters to allow generic function objects to accept arbitrary arguments | ||
Ligne 378 : | Ligne 378 : | ||
Function objects and higher-order programming | Function objects and higher-order programming | ||
- | Functional/Hash | + | ====Functional/Hash==== |
A TR1 hash function object that can be extended to hash user defined types. | A TR1 hash function object that can be extended to hash user defined types. | ||
Ligne 391 : | Ligne 391 : | ||
Function objects and higher-order programming | Function objects and higher-order programming | ||
- | Functional/Overloaded Function | + | ====Functional/Overloaded Function==== |
Overload different functions into a single function object. | Overload different functions into a single function object. | ||
Ligne 404 : | Ligne 404 : | ||
Function objects and higher-order programming | Function objects and higher-order programming | ||
- | Fusion | + | ====Fusion==== |
Library for working with tuples, including various containers, algorithms, etc. | Library for working with tuples, including various containers, algorithms, etc. | ||
Ligne 417 : | Ligne 417 : | ||
Template Metaprogramming, Data structures | Template Metaprogramming, Data structures | ||
- | Geometry | + | ====Geometry==== |
Geometry Library. | Geometry Library. | ||
Ligne 430 : | Ligne 430 : | ||
Algorithms, Math and numerics | Algorithms, Math and numerics | ||
- | GIL | + | ====GIL==== |
Generic Image Library | Generic Image Library | ||
Ligne 443 : | Ligne 443 : | ||
Containers, Iterators, Algorithms, Generic Programming, Image processing | Containers, Iterators, Algorithms, Generic Programming, Image processing | ||
- | Graph | + | ====Graph==== |
The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL). | The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL). | ||
Ligne 456 : | Ligne 456 : | ||
Containers, Iterators, Algorithms | Containers, Iterators, Algorithms | ||
- | Heap | + | ====Heap==== |
Priority queue data structures. | Priority queue data structures. | ||
Ligne 469 : | Ligne 469 : | ||
Data structures | Data structures | ||
- | ICL | + | ====ICL==== |
Interval Container Library, interval sets and maps and aggregation of associated values | Interval Container Library, interval sets and maps and aggregation of associated values | ||
Ligne 482 : | Ligne 482 : | ||
Containers, Data structures | Containers, Data structures | ||
- | Identity Type | + | ====Identity Type==== |
Wrap types within round parenthesis so they can always be passed as macro parameters. | Wrap types within round parenthesis so they can always be passed as macro parameters. | ||
Ligne 495 : | Ligne 495 : | ||
Preprocessor Metaprogramming | Preprocessor Metaprogramming | ||
- | In Place Factory, Typed In Place Factory | + | ====In Place Factory, Typed In Place Factory==== |
Generic in-place construction of contained objects with a variadic argument-list. | Generic in-place construction of contained objects with a variadic argument-list. | ||
Ligne 508 : | Ligne 508 : | ||
Generic Programming | Generic Programming | ||
- | Integer | + | ====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. | 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. | ||
Ligne 521 : | Ligne 521 : | ||
Math and numerics | Math and numerics | ||
- | Interprocess | + | ====Interprocess==== |
Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators. | Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators. | ||
Ligne 534 : | Ligne 534 : | ||
Concurrent Programming | Concurrent Programming | ||
- | Interval | + | ====Interval==== |
Extends the usual arithmetic functions to mathematical intervals. | Extends the usual arithmetic functions to mathematical intervals. | ||
Ligne 547 : | Ligne 547 : | ||
Math and numerics | Math and numerics | ||
- | Intrusive | + | ====Intrusive==== |
Intrusive containers and algorithms. | Intrusive containers and algorithms. | ||
Ligne 560 : | Ligne 560 : | ||
Containers | Containers | ||
- | IO State Savers | + | ====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. | 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. | ||
Ligne 573 : | Ligne 573 : | ||
Input/Output | Input/Output | ||
- | Iostreams | + | ====Iostreams==== |
Boost.IOStreams provides a framework for defining streams, stream buffers and i/o filters. | Boost.IOStreams provides a framework for defining streams, stream buffers and i/o filters. | ||
Ligne 586 : | Ligne 586 : | ||
String and text processing, Input/Output | String and text processing, Input/Output | ||
- | Iterator | + | ====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. | 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. | ||
Ligne 599 : | Ligne 599 : | ||
Iterators | Iterators | ||
- | Lambda | + | ====Lambda==== |
Define small unnamed function objects at the actual call site, and more. | Define small unnamed function objects at the actual call site, and more. | ||
Ligne 612 : | Ligne 612 : | ||
Function objects and higher-order programming | Function objects and higher-order programming | ||
- | Lexical Cast | + | ====Lexical Cast==== |
General literal text conversions, such as an int represented a string, or vice-versa, from Kevlin Henney. | General literal text conversions, such as an int represented a string, or vice-versa, from Kevlin Henney. | ||
Ligne 625 : | Ligne 625 : | ||
String and text processing, Miscellaneous | String and text processing, Miscellaneous | ||
- | Local Function | + | ====Local Function==== |
Program functions locally, within other functions, directly within the scope where they are needed. | Program functions locally, within other functions, directly within the scope where they are needed. | ||
Ligne 638 : | Ligne 638 : | ||
Function objects and higher-order programming | Function objects and higher-order programming | ||
- | Locale | + | ====Locale==== |
Provide localization and Unicode handling tools for C++. | Provide localization and Unicode handling tools for C++. | ||
Ligne 651 : | Ligne 651 : | ||
String and text processing | String and text processing | ||
- | Math | + | ====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. | 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. | ||
Ligne 664 : | Ligne 664 : | ||
Math and numerics | Math and numerics | ||
- | Math Common Factor | + | ====Math Common Factor==== |
Greatest common divisor and least common multiple. | Greatest common divisor and least common multiple. | ||
Ligne 677 : | Ligne 677 : | ||
Math and numerics | Math and numerics | ||
- | Math Octonion | + | ====Math Octonion==== |
Octonions. | Octonions. | ||
Ligne 690 : | Ligne 690 : | ||
Math and numerics | Math and numerics | ||
- | Math Quaternion | + | ====Math Quaternion==== |
Quaternions. | Quaternions. | ||
Ligne 703 : | Ligne 703 : | ||
Math and numerics | Math and numerics | ||
- | Math/Special Functions | + | ====Math/Special Functions==== |
A wide selection of mathematical special functions. | A wide selection of mathematical special functions. | ||
Ligne 716 : | Ligne 716 : | ||
Math and numerics | Math and numerics | ||
- | Math/Statistical Distributions | + | ====Math/Statistical Distributions==== |
A wide selection of univariate statistical distributions and functions that operate on them. | A wide selection of univariate statistical distributions and functions that operate on them. | ||
Ligne 729 : | Ligne 729 : | ||
Math and numerics | Math and numerics | ||
- | Member Function | + | ====Member Function==== |
Generalized binders for function/object/pointers and member functions. | Generalized binders for function/object/pointers and member functions. | ||
Ligne 742 : | Ligne 742 : | ||
Function objects and higher-order programming | Function objects and higher-order programming | ||
- | Meta State Machine | + | ====Meta State Machine==== |
A very high-performance library for expressive UML2 finite state machines. | A very high-performance library for expressive UML2 finite state machines. | ||
Ligne 755 : | Ligne 755 : | ||
State Machines | State Machines | ||
- | Min-Max | + | ====Min-Max==== |
Standard library extensions for simultaneous min/max and min/max element computations. | Standard library extensions for simultaneous min/max and min/max element computations. | ||
Ligne 768 : | Ligne 768 : | ||
Algorithms | Algorithms | ||
- | Move | + | ====Move==== |
Portable move semantics for C++03 and C++11 compilers. | Portable move semantics for C++03 and C++11 compilers. | ||
Ligne 781 : | Ligne 781 : | ||
Language Features Emulation | Language Features Emulation | ||
- | MPI | + | ====MPI==== |
Message Passing Interface library, for use in distributed-memory parallel application programming. | Message Passing Interface library, for use in distributed-memory parallel application programming. | ||
Ligne 794 : | Ligne 794 : | ||
Concurrent Programming | Concurrent Programming | ||
- | MPL | + | ====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. | 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. | ||
Ligne 807 : | Ligne 807 : | ||
Template Metaprogramming | Template Metaprogramming | ||
- | Multi-Array | + | ====Multi-Array==== |
Boost.MultiArray provides a generic N-dimensional array concept definition and common implementations of that interface. | Boost.MultiArray provides a generic N-dimensional array concept definition and common implementations of that interface. | ||
Ligne 820 : | Ligne 820 : | ||
Containers, Math and numerics | Containers, Math and numerics | ||
- | Multi-Index | + | ====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. | 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. | ||
Ligne 833 : | Ligne 833 : | ||
Containers, Data structures | Containers, Data structures | ||
- | Numeric Conversion | + | ====Numeric Conversion==== |
Optimized Policy-based Numeric Conversions. | Optimized Policy-based Numeric Conversions. | ||
Ligne 846 : | Ligne 846 : | ||
Math and numerics, Miscellaneous | Math and numerics, Miscellaneous | ||
- | Operators | + | ====Operators==== |
Templates ease arithmetic classes and iterators. | Templates ease arithmetic classes and iterators. | ||
Ligne 859 : | Ligne 859 : | ||
Iterators, Generic Programming, Math and numerics | Iterators, Generic Programming, Math and numerics | ||
- | Optional | + | ====Optional==== |
Discriminated-union wrapper for optional values. | Discriminated-union wrapper for optional values. | ||
Ligne 872 : | Ligne 872 : | ||
Miscellaneous | Miscellaneous | ||
- | Parameter | + | ====Parameter==== |
Boost.Parameter Library - Write functions that accept arguments by name. | Boost.Parameter Library - Write functions that accept arguments by name. | ||
Ligne 885 : | Ligne 885 : | ||
Programming Interfaces, Language Features Emulation | Programming Interfaces, Language Features Emulation | ||
- | Phoenix | + | ====Phoenix==== |
Define small unnamed function objects at the actual call site, and more. | Define small unnamed function objects at the actual call site, and more. | ||
Ligne 898 : | Ligne 898 : | ||
Function objects and higher-order programming | Function objects and higher-order programming | ||
- | Pointer Container | + | ====Pointer Container==== |
Containers for storing heap-allocated polymorphic objects to ease OO-programming. | Containers for storing heap-allocated polymorphic objects to ease OO-programming. | ||
Ligne 911 : | Ligne 911 : | ||
Containers, Data structures | Containers, Data structures | ||
- | Polygon | + | ====Polygon==== |
Booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates. | Booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates. | ||
Ligne 924 : | Ligne 924 : | ||
Miscellaneous | Miscellaneous | ||
- | Pool | + | ====Pool==== |
Memory pool management. | Memory pool management. | ||
Ligne 937 : | Ligne 937 : | ||
Memory | Memory | ||
- | Preprocessor | + | ====Preprocessor==== |
Preprocessor metaprogramming tools including repetition and recursion. | Preprocessor metaprogramming tools including repetition and recursion. | ||
Ligne 950 : | Ligne 950 : | ||
Preprocessor Metaprogramming | Preprocessor Metaprogramming | ||
- | Program Options | + | ====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. | 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. | ||
Ligne 963 : | Ligne 963 : | ||
Input/Output, Miscellaneous | Input/Output, Miscellaneous | ||
- | Property Map | + | ====Property Map==== |
Concepts defining interfaces which map key objects to value objects. | Concepts defining interfaces which map key objects to value objects. | ||
Ligne 976 : | Ligne 976 : | ||
Containers, Generic Programming | Containers, Generic Programming | ||
- | Property Tree | + | ====Property Tree==== |
A tree data structure especially suited to storing configuration data. | A tree data structure especially suited to storing configuration data. | ||
Ligne 989 : | Ligne 989 : | ||
Containers, Data structures | Containers, Data structures | ||
- | Proto | + | ====Proto==== |
Expression template library and compiler construction toolkit for domain-specific embedded languages. | Expression template library and compiler construction toolkit for domain-specific embedded languages. | ||
Ligne 1 002 : | Ligne 1 002 : | ||
Template Metaprogramming | Template Metaprogramming | ||
- | Python | + | ====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. | 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. | ||
Ligne 1 015 : | Ligne 1 015 : | ||
Inter-language support | Inter-language support | ||
- | Random | + | ====Random==== |
A complete system for random number generation. | A complete system for random number generation. | ||
Ligne 1 028 : | Ligne 1 028 : | ||
Math and numerics | Math and numerics | ||
- | Range | + | ====Range==== |
A new infrastructure for generic algorithms that builds on top of the new iterator concepts. | A new infrastructure for generic algorithms that builds on top of the new iterator concepts. | ||
Ligne 1 041 : | Ligne 1 041 : | ||
Algorithms | Algorithms | ||
- | Ratio | + | ====Ratio==== |
Compile time rational arithmetic. | Compile time rational arithmetic. | ||
Ligne 1 054 : | Ligne 1 054 : | ||
Math and numerics | Math and numerics | ||
- | Rational | + | ====Rational==== |
A rational number class. | A rational number class. | ||
Ligne 1 067 : | Ligne 1 067 : | ||
Math and numerics | Math and numerics | ||
- | Ref | + | ====Ref==== |
A utility library for passing references to generic functions. | A utility library for passing references to generic functions. | ||
Ligne 1 080 : | Ligne 1 080 : | ||
Function objects and higher-order programming | Function objects and higher-order programming | ||
- | Regex | + | ====Regex==== |
Regular expression library. | Regular expression library. | ||
Ligne 1 093 : | Ligne 1 093 : | ||
String and text processing | String and text processing | ||
- | Result Of | + | ====Result Of==== |
Determines the type of a function call expression. | Determines the type of a function call expression. | ||
Ligne 1 106 : | Ligne 1 106 : | ||
Function objects and higher-order programming | Function objects and higher-order programming | ||
- | Scope Exit | + | ====Scope Exit==== |
Execute arbitrary code at scope exit. | Execute arbitrary code at scope exit. | ||
Ligne 1 119 : | Ligne 1 119 : | ||
Language Features Emulation | Language Features Emulation | ||
- | Serialization | + | ====Serialization==== |
Serialization for persistence and marshalling. | Serialization for persistence and marshalling. | ||
Ligne 1 132 : | Ligne 1 132 : | ||
Input/Output | Input/Output | ||
- | Signals | + | ====Signals==== |
Managed signals & slots callback implementation. | Managed signals & slots callback implementation. | ||
Ligne 1 145 : | Ligne 1 145 : | ||
Function objects and higher-order programming, Patterns and Idioms | Function objects and higher-order programming, Patterns and Idioms | ||
- | Signals2 | + | ====Signals2==== |
Managed signals & slots callback implementation (thread-safe version 2). | Managed signals & slots callback implementation (thread-safe version 2). | ||
Ligne 1 158 : | Ligne 1 158 : | ||
Function objects and higher-order programming, Patterns and Idioms | Function objects and higher-order programming, Patterns and Idioms | ||
- | Smart Ptr | + | ====Smart Ptr==== |
Smart pointer class templates. | Smart pointer class templates. | ||
Ligne 1 171 : | Ligne 1 171 : | ||
Memory | Memory | ||
- | Spirit | + | ====Spirit==== |
LL parser framework represents parsers directly as EBNF grammars in inlined C++. | LL parser framework represents parsers directly as EBNF grammars in inlined C++. | ||
Ligne 1 184 : | Ligne 1 184 : | ||
String and text processing, Parsing | String and text processing, Parsing | ||
- | Statechart | + | ====Statechart==== |
- | + | ||
Boost.Statechart - Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code. | Boost.Statechart - Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code. | ||
Ligne 1 197 : | Ligne 1 196 : | ||
State Machines | State Machines | ||
- | Static Assert | + | ====Static Assert==== |
Static assertions (compile time assertions). | Static assertions (compile time assertions). | ||
Ligne 1 210 : | Ligne 1 209 : | ||
Generic Programming, Template Metaprogramming, Correctness and testing | Generic Programming, Template Metaprogramming, Correctness and testing | ||
- | String Algo | + | ====String Algo==== |
String algorithms library. | String algorithms library. | ||
Ligne 1 223 : | Ligne 1 222 : | ||
String and text processing, Algorithms | String and text processing, Algorithms | ||
- | Swap | + | ====Swap==== |
Enhanced generic swap function. | Enhanced generic swap function. | ||
Ligne 1 236 : | Ligne 1 235 : | ||
Miscellaneous | Miscellaneous | ||
- | System | + | ====System==== |
Operating system support, including the diagnostics support that will be part of the C++0x standard library. | Operating system support, including the diagnostics support that will be part of the C++0x standard library. | ||
Ligne 1 249 : | Ligne 1 248 : | ||
System | System | ||
- | Test | + | ====Test==== |
Support for simple program testing, full unit testing, and for program execution monitoring. | Support for simple program testing, full unit testing, and for program execution monitoring. | ||
Ligne 1 262 : | Ligne 1 261 : | ||
Correctness and testing | Correctness and testing | ||
- | Thread | + | ====Thread==== |
Portable C++ multi-threading. | Portable C++ multi-threading. | ||
Ligne 1 275 : | Ligne 1 274 : | ||
Concurrent Programming, System | Concurrent Programming, System | ||
- | Timer | + | ====Timer==== |
Event timer, progress timer, and progress display classes. | Event timer, progress timer, and progress display classes. | ||
Ligne 1 288 : | Ligne 1 287 : | ||
Miscellaneous | Miscellaneous | ||
- | Tokenizer | + | ====Tokenizer==== |
Break of a string or other character sequence into a series of tokens. | Break of a string or other character sequence into a series of tokens. | ||
Ligne 1 301 : | Ligne 1 300 : | ||
String and text processing, Iterators | String and text processing, Iterators | ||
- | TR1 | + | ====TR1==== |
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. | 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. | ||
Ligne 1 314 : | Ligne 1 313 : | ||
Miscellaneous | Miscellaneous | ||
- | Tribool | + | ====Tribool==== |
3-state boolean type library. | 3-state boolean type library. | ||
Ligne 1 327 : | Ligne 1 326 : | ||
Miscellaneous | Miscellaneous | ||
- | Tuple | + | ====Tuple==== |
Ease definition of functions returning multiple values, and more. | Ease definition of functions returning multiple values, and more. | ||
Ligne 1 340 : | Ligne 1 339 : | ||
Data structures | Data structures | ||
- | Type Traits | + | ====Type Traits==== |
Templates for fundamental properties of types. | Templates for fundamental properties of types. | ||
Ligne 1 353 : | Ligne 1 352 : | ||
Generic Programming, Template Metaprogramming | Generic Programming, Template Metaprogramming | ||
- | Typeof | + | ====Typeof==== |
Typeof operator emulation. | Typeof operator emulation. | ||
Ligne 1 366 : | Ligne 1 365 : | ||
Language Features Emulation | Language Features Emulation | ||
- | uBLAS | + | ====uBLAS==== |
uBLAS provides matrix and vector classes as well as basic linear algebra routines. Several dense, packed and sparse storage schemes are supported. | uBLAS provides matrix and vector classes as well as basic linear algebra routines. Several dense, packed and sparse storage schemes are supported. | ||
Ligne 1 379 : | Ligne 1 378 : | ||
Math and numerics | Math and numerics | ||
- | Units | + | ====Units==== |
Zero-overhead dimensional analysis and unit/quantity manipulation and conversion. | Zero-overhead dimensional analysis and unit/quantity manipulation and conversion. | ||
Ligne 1 392 : | Ligne 1 391 : | ||
Domain Specific | Domain Specific | ||
- | Unordered | + | ====Unordered==== |
Unordered associative containers. | Unordered associative containers. | ||
Ligne 1 405 : | Ligne 1 404 : | ||
Containers | Containers | ||
- | Utility | + | ====Utility==== |
Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom. | Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom. | ||
Ligne 1 418 : | Ligne 1 417 : | ||
Algorithms, Function objects and higher-order programming, Memory, Patterns and Idioms, Miscellaneous | Algorithms, Function objects and higher-order programming, Memory, Patterns and Idioms, Miscellaneous | ||
- | Uuid | + | ====Uuid==== |
A universally unique identifier. | A universally unique identifier. | ||
Ligne 1 431 : | Ligne 1 430 : | ||
Data structures, Domain Specific | Data structures, Domain Specific | ||
- | Value Initialized | + | ====Value Initialized==== |
Wrapper for uniform-syntax value initialization, based on the original idea of David Abrahams. | Wrapper for uniform-syntax value initialization, based on the original idea of David Abrahams. | ||
Ligne 1 444 : | Ligne 1 443 : | ||
Miscellaneous | Miscellaneous | ||
- | Variant | + | ====Variant==== |
Safe, generic, stack-based discriminated union container. | Safe, generic, stack-based discriminated union container. | ||
Ligne 1 457 : | Ligne 1 456 : | ||
Containers, Data structures | Containers, Data structures | ||
- | Wave | + | ====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. | 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. | ||
Ligne 1 470 : | Ligne 1 469 : | ||
String and text processing | String and text processing | ||
- | Xpressive | + | ====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. | 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. |
Defines types for passing parameters.
Author(s) John Maddock, Howard Hinnant, et al First Release 1.13.0 Standard Categories Generic Programming
Useful time utilities.
Author(s) Vicente J. Botet Escribá First Release 1.47.0 Standard Categories Domain Specific, System
A STL compliant container also known as ring or cyclic buffer.
Author(s) Jan Gaspar First Release 1.35.0 Standard Categories Containers
Help for non-conforming standard libraries.
Author(s) Ralf Grosse-Kunstleve and Jens Maurer First Release 1.21.2 Standard Categories Broken compiler workarounds
Empty member optimization.
Author(s) John Maddock, Howard Hinnant, et al First Release 1.13.0 Standard Categories Data structures, Patterns and Idioms
Tools for generic programming.
Author(s) Jeremy Siek First Release 1.19.0 Standard Categories Generic Programming, Correctness and testing
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
Standard library containers and extensions.
Author(s) Ion Gaztañaga First Release 1.48.0 Standard Categories Containers, Data structures
Context switching library.
Author(s) Oliver Kowalke First Release 1.51.0 Standard Categories Concurrent Programming, System
Polymorphic and lexical casts.
Author(s) Dave Abrahams and Kevlin Henney First Release 1.20.0 Standard Categories String and text processing, Miscellaneous
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
A set of date-time libraries based on generic programming concepts.
Author(s) Jeff Garland First Release 1.29.0 Standard Categories Domain Specific, System
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
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
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
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
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
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 Algorithms, Language Features Emulation
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 String and text processing, Input/Output
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 programming, Programming Interfaces
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 Programming, Template Metaprogramming
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
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
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
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
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
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 Template Metaprogramming, Data structures
Geometry Library.
Author(s) Barend Gehrels, Bruno Lalande and Mateusz Loskot First Release 1.47.0 Standard Categories Algorithms, Math and numerics
Generic Image Library
Author(s) Lubomir Bourdev and Hailin Jin First Release 1.35.0 Standard Categories Containers, Iterators, Algorithms, Generic Programming, Image processing
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 Containers, Iterators, Algorithms
Priority queue data structures.
Author(s) Tim Blechmann First Release 1.49.0 Standard Categories Data structures
Interval Container Library, interval sets and maps and aggregation of associated values
Author(s) Joachim Faulhaber First Release 1.46.0 Standard Categories Containers, Data structures
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
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
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
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
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 containers and algorithms.
Author(s) Ion Gaztañaga First Release 1.35.0 Standard Categories Containers
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
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 String and text processing, Input/Output
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
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
General literal text conversions, such as an int represented a string, or vice-versa, from Kevlin Henney.
Author(s) Kevlin Henney First Release 1.20.0 Standard Categories String and text processing, Miscellaneous
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
Provide localization and Unicode handling tools for C++.
Author(s) Artyom Beilis First Release 1.48.0 Standard Categories String and text processing
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
Greatest common divisor and least common multiple.
Author(s) Daryle Walker First Release 1.26.0 Standard Categories Math and numerics
Octonions.
Author(s) Hubert Holin First Release 1.23.0 Standard Categories Math and numerics
Quaternions.
Author(s) Hubert Holin First Release 1.23.0 Standard Categories Math and numerics
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
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
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
A very high-performance library for expressive UML2 finite state machines.
Author(s) Christophe Henry First Release 1.44.0 Standard Categories State Machines
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
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
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
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
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 Containers, Math and numerics
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 Containers, Data structures
Optimized Policy-based Numeric Conversions.
Author(s) Fernando Cacciola First Release 1.32.0 Standard Categories Math and numerics, Miscellaneous
Templates ease arithmetic classes and iterators.
Author(s) Dave Abrahams and Jeremy Siek First Release 1.9.0 Standard Categories Iterators, Generic Programming, Math and numerics
Discriminated-union wrapper for optional values.
Author(s) Fernando Cacciola First Release 1.30.0 Standard Categories Miscellaneous
Boost.Parameter Library - Write functions that accept arguments by name.
Author(s) David Abrahams and Daniel Wallin First Release 1.33.0 Standard Categories Programming Interfaces, Language Features Emulation
Define small unnamed function objects at the actual call site, and more.
Author(s) Joel de Guzman, Dan Marsden and Thomas Heller First Release 1.47.0 Standard Categories Function objects and higher-order programming
Containers for storing heap-allocated polymorphic objects to ease OO-programming.
Author(s) Thorsten Ottosen First Release 1.33.0 Standard Categories Containers, Data structures
Booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates.
Author(s) Lucanus Simonson First Release 1.44.0 Standard Categories Miscellaneous
Memory pool management.
Author(s) Steve Cleary First Release 1.21.0 Standard Categories Memory
Preprocessor metaprogramming tools including repetition and recursion.
Author(s) Vesa Karvonen and Paul Mensonides First Release 1.26.0 Standard Categories Preprocessor Metaprogramming
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/Output, Miscellaneous
Concepts defining interfaces which map key objects to value objects.
Author(s) Jeremy Siek First Release 1.19.0 Standard Categories Containers, Generic Programming
A tree data structure especially suited to storing configuration data.
Author(s) Sebastian Redl First Release 1.41.0 Standard Categories Containers, Data structures
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
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
A complete system for random number generation.
Author(s) Jens Maurer First Release 1.15.0 Standard TR1 Categories Math and numerics
A new infrastructure for generic algorithms that builds on top of the new iterator concepts.
Author(s) Niel Groves, Thorsten Ottosen First Release 1.32.0 Standard Categories Algorithms
Compile time rational arithmetic.
Author(s) Vicente J. Botet Escribá First Release 1.47.0 Standard Categories Math and numerics
A rational number class.
Author(s) Paul Moore First Release 1.11.0 Standard Categories Math and numerics
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
Regular expression library.
Author(s) John Maddock First Release 1.18.0 Standard TR1 Categories String and text processing
Determines the type of a function call expression.
Author(s) First Release 1.32.0 Standard Categories Function objects and higher-order programming
Execute arbitrary code at scope exit.
Author(s) Alexander Nasonov First Release 1.38.0 Standard Categories Language Features Emulation
Serialization for persistence and marshalling.
Author(s) Robert Ramey First Release 1.32.0 Standard Categories Input/Output
Managed signals & slots callback implementation.
Author(s) Doug Gregor First Release 1.29.0 Standard Categories Function objects and higher-order programming, Patterns and Idioms
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 programming, Patterns and Idioms
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
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 String and text processing, Parsing
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 assertions (compile time assertions).
Author(s) John Maddock First Release 1.19.0 Standard Categories Generic Programming, Template Metaprogramming, Correctness and testing
String algorithms library.
Author(s) Pavol Droba First Release 1.32.0 Standard Categories String and text processing, Algorithms
Enhanced generic swap function.
Author(s) Joseph Gauterin First Release 1.38.0 Standard Categories Miscellaneous
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
Support for simple program testing, full unit testing, and for program execution monitoring.
Author(s) Gennadiy Rozental First Release 1.21.0 Standard Categories Correctness and testing
Portable C++ multi-threading.
Author(s) Anthony Williams (originally William Kempf) First Release 1.25.0 Standard Proposed Categories Concurrent Programming, System
Event timer, progress timer, and progress display classes.
Author(s) Beman Dawes First Release 1.9.0 Standard Categories Miscellaneous
Break of a string or other character sequence into a series of tokens.
Author(s) John Bandela First Release 1.23.0 Standard Categories String and text processing, Iterators
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
3-state boolean type library.
Author(s) Doug Gregor First Release 1.32.0 Standard Categories Miscellaneous
Ease definition of functions returning multiple values, and more.
Author(s) Jaakko Järvi First Release 1.24.0 Standard TR1 Categories Data structures
Templates for fundamental properties of types.
Author(s) John Maddock, Steve Cleary, et al First Release 1.13.0 Standard TR1 Categories Generic Programming, Template Metaprogramming
Typeof operator emulation.
Author(s) Arkadiy Vertleyb, Peder Holt First Release 1.34.0 Standard Categories Language Features Emulation
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
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 associative containers.
Author(s) Daniel James First Release 1.36.0 Standard TR1 Categories Containers
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 Algorithms, Function objects and higher-order programming, Memory, Patterns and Idioms, Miscellaneous
A universally unique identifier.
Author(s) Andy Tompkins First Release 1.42.0 Standard Categories Data structures, Domain Specific
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
Safe, generic, stack-based discriminated union container.
Author(s) Eric Friedman and Itay Maman First Release 1.31.0 Standard Categories Containers, Data structures
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
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