• Boost 1.61.0 Library Documentation


    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
     
    CategoriesFunction 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
     
    CategoriesFunction 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
     
    CategoriesFunction 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
     
    CategoriesFunction 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
     
    CategoriesData 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
     
    CategoriesAlgorithmsData structuresMath and numerics
    GIL
    Generic Image Library
    Author(s): Lubomir Bourdev and Hailin Jin
    First Release: 1.35.0
    Standard
     
    CategoriesAlgorithmsContainersGeneric 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
     
    CategoriesAlgorithmsContainersIterators
    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
     
    CategoriesTemplate Metaprogramming
    Heap
    Priority queue data structures.
    Author(s): Tim Blechmann
    First Release: 1.49.0
    Standard
     
    CategoriesData structures
    ICL
    Interval Container Library, interval sets and maps and aggregation of associated values
    Author(s): Joachim Faulhaber
    First Release: 1.46.0
    Standard
     
    CategoriesContainersData 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
     
    CategoriesPreprocessor 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
     
    CategoriesGeneric 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
     
    CategoriesMath 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
     
    CategoriesConcurrent 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
     
    CategoriesMath and numerics
    Intrusive
    Intrusive containers and algorithms.
    Author(s): Ion Gaztañaga
    First Release: 1.35.0
    Standard
     
    CategoriesContainers
    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
     
    CategoriesInput/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
     
    CategoriesInput/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
     
    CategoriesIterators
    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
     
    CategoriesFunction 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
     
    CategoriesMiscellaneousString 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
     
    CategoriesFunction objects and higher-order programming
    Locale
    Provide localization and Unicode handling tools for C++.
    Author(s): Artyom Beilis
    First Release: 1.48.0
    Standard
     
    CategoriesString and text processing
    Lockfree
    Lockfree data structures.
    Author(s): Tim Blechmann
    First Release: 1.53.0
    Standard
     
    CategoriesConcurrent Programming
    Log
    Logging library.
    Author(s): Andrey Semashev
    First Release: 1.54.0
    Standard
     
    CategoriesMiscellaneous
    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
     
    CategoriesMath and numerics
    Math Common Factor
    Greatest common divisor and least common multiple.
    Author(s): Daryle Walker
    First Release: 1.26.0
    Standard
     
    CategoriesMath and numerics
    Math Octonion
    Octonions.
    Author(s): Hubert Holin
    First Release: 1.23.0
    Standard
     
    CategoriesMath and numerics
    Math Quaternion
    Quaternions.
    Author(s): Hubert Holin
    First Release: 1.23.0
    Standard
     
    CategoriesMath 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
     
    CategoriesMath 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
     
    CategoriesMath 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
     
    CategoriesState 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
     
    CategoriesTemplate 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
     
    CategoriesAlgorithms
    Move
    Portable move semantics for C++03 and C++11 compilers.
    Author(s): Ion Gaztañaga
    First Release: 1.48.0
    Standard
     
    CategoriesLanguage 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
     
    CategoriesConcurrent 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
     
    CategoriesTemplate 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
     
    CategoriesContainersMath 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
     
    CategoriesContainersData 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
     
    CategoriesMath and numerics
    Numeric Conversion
    Optimized Policy-based Numeric Conversions.
    Author(s): Fernando Cacciola
    First Release: 1.32.0
    Standard
     
    CategoriesMath and numerics
    Odeint
    Solving ordinary differential equations.
    Author(s): Karsten Ahnert and Mario Mulansky
    First Release: 1.53.0
    Standard
     
    CategoriesMath and numerics
    Operators
    Templates ease arithmetic classes and iterators.
    Author(s): Dave Abrahams and Jeremy Siek
    First Release: 1.9.0
    Standard
     
    CategoriesGeneric 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
     
    CategoriesData 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
     
    CategoriesLanguage 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
     
    CategoriesFunction 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
     
    CategoriesContainersData 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
     
    CategoriesAlgorithmsData structuresMath and numerics
    Pool
    Memory pool management.
    Author(s): Steve Cleary
    First Release: 1.21.0
    Standard
     
    CategoriesMemory
    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
     
    CategoriesMiscellaneous
    Preprocessor
    Preprocessor metaprogramming tools including repetition and recursion.
    Author(s): Vesa Karvonen and Paul Mensonides
    First Release: 1.26.0
    Standard
     
    CategoriesPreprocessor 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
     
    CategoriesInput/OutputMiscellaneous
    Property Map
    Concepts defining interfaces which map key objects to value objects.
    Author(s): Jeremy Siek
    First Release: 1.19.0
    Standard
     
    CategoriesContainersGeneric 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
     
    CategoriesContainersData structures
    Proto
    Expression template library and compiler construction toolkit for domain-specific embedded languages.
    Author(s): Eric Niebler
    First Release: 1.37.0
    Standard
     
    CategoriesTemplate 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
     
    CategoriesInter-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
     
    CategoriesAlgorithms
    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
     
    CategoriesMath 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
     
    CategoriesFunction objects and higher-order programming
    Scope Exit
    Execute arbitrary code at scope exit.
    Author(s): Alexander Nasonov
    First Release: 1.38.0
    Standard
     
    CategoriesLanguage Features Emulation
    Serialization
    Serialization for persistence and marshalling.
    Author(s): Robert Ramey
    First Release: 1.32.0
    Standard
     
    CategoriesInput/Output
    Signals (deprecated)
    Managed signals & slots callback implementation.
    Author(s): Doug Gregor
    First Release: 1.29.0
    Standard
     
    CategoriesFunction 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
     
    CategoriesFunction 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
     
    CategoriesAlgorithms
    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
     
    CategoriesParsingString 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
     
    CategoriesState Machines
    Static Assert
    Static assertions (compile time assertions).
    Author(s): John Maddock
    First Release: 1.19.0
    Standard
     
    CategoriesCorrectness and testingGeneric ProgrammingTemplate Metaprogramming
    String Algo
    String algorithms library.
    Author(s): Pavol Droba
    First Release: 1.32.0
    Standard
     
    CategoriesAlgorithmsString and text processing
    Swap
    Enhanced generic swap function.
    Author(s): Joseph Gauterin
    First Release: 1.38.0
    Standard
     
    CategoriesMiscellaneous
    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
     
    CategoriesLanguage 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 库,用于图数据的处理







     



     

     

     

     

     

     

     

  • 相关阅读:
    Qt5 webview加载本地网页
    pwiz, a model generator
    编译python3
    [转]Centos配置国内yum源
    ubuntu下apt-get update出现hash校验和错误
    《LINUX程序设计 第四版》 阅读笔记:(一)
    [转]https方式使用git保存密码的方式
    用python产生一个好的秘钥
    Ubuntu关闭图形界面
    Numpy中的矩阵计算
  • 原文地址:https://www.cnblogs.com/timssd/p/5544588.html
Copyright © 2020-2023  润新知