Blame libs/libraries.htm

Packit 58578d
Packit 58578d
Packit 58578d
<html>
Packit 58578d
Packit 58578d
<head>
Packit 58578d
Packit 58578d
content="text/html; charset=iso-8859-1">
Packit 58578d
<meta name="ProgId" content="FrontPage.Editor.Document">
Packit 58578d
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
Packit 58578d
<title>Boost Libraries</title>
Packit 58578d
<link rel="stylesheet" href="../doc/src/boostbook.css" type="text/css" />
Packit 58578d
</head>
Packit 58578d
Packit 58578d
<body bgcolor="#FFFFFF" text="#000000">
Packit 58578d
Packit 58578d
  
Packit 58578d
    
Packit 58578d
      
Packit 58578d
        
Packit 58578d
        boost.png (6897 bytes)
Packit 58578d
      
Packit 58578d
        <font size="7">Libraries</font>
Packit 58578d
      
Packit 58578d
    
Packit 58578d
  
Packit 58578d
Packit 58578d
  
Packit 58578d
    
Packit 58578d
      Getting Started  <font color="#FFFFFF"> 
Packit 58578d
      </font>     Tools  <font color="#FFFFFF"> 
Packit 58578d
      </font>     Web Site  <font color="#FFFFFF"> 
Packit 58578d
      </font>     News  <font color="#FFFFFF"> 
Packit 58578d
      </font>     Community  <font color="#FFFFFF"> 
Packit 58578d
      </font>    
Packit 58578d
      FAQ  <font color="#FFFFFF"> 
Packit 58578d
      </font>     More Info
Packit 58578d
    
Packit 58578d
  
Packit 58578d
Packit 58578d
Packit 58578d
  
Libraries Listed Alphabetically
Packit 58578d
  
Libraries Listed by Category
Packit 58578d
    
Packit 58578d
      
Algorithms
Packit 58578d
      
Broken compiler workarounds
Packit 58578d
      
Concurrent Programming
Packit 58578d
      
Containers
Packit 58578d
      
Correctness and testing
Packit 58578d
      
Data structures
Packit 58578d
      
Domain Specific
Packit 58578d
      
Function objects and higher-order programming
Packit 58578d
      
Generic Programming
Packit 58578d
      
Image processing
Packit 58578d
      
Input/Output
Packit 58578d
      
Inter-language support
Packit 58578d
      
Iterators
Packit 58578d
      
Language Features Emulation
Packit 58578d
      
Math and numerics
Packit 58578d
      
Memory
Packit 58578d
      
Parsing
Packit 58578d
      
Patterns and Idioms
Packit 58578d
      
Preprocessor Metaprogramming
Packit 58578d
      
Programming Interfaces
Packit 58578d
      
State Machines
Packit 58578d
      
String and text processing
Packit 58578d
      
System
Packit 58578d
      
Template Metaprogramming
Packit 58578d
      
Miscellaneous
Packit 58578d
    
Packit 58578d
  
Libraries Retired from Boost
Packit 58578d
Packit 58578d
Packit 58578d

See Getting Started page to find out

Packit 58578d
how to download, build, and install the libraries.

Packit 58578d
Packit 58578d

Packit 58578d
Packit 58578d

Libraries Listed Alphabetically

Packit 58578d
Packit 58578d
    Packit 58578d
        
  • Accumulators - Framework for incremental calculation, and collection of statistical accumulators, from Eric Niebler
  • Packit 58578d
        
  • Algorithm - A collection of useful generic algorithms, from Marshall Clow
  • Packit 58578d
        
  • Align - Memory alignment functions, allocators, and traits, from Glen Fernandes
  • Packit 58578d
        
  • Any - Safe, generic container for single values of different value types, from Kevlin Henney
  • Packit 58578d
        
  • Array - STL compliant container wrapper for arrays of constant size, from Nicolai Josuttis
  • Packit 58578d
        
  • Asio - Portable networking and other low-level I/O, including sockets, timers, hostname resolution, socket iostreams, serial ports, file descriptors and Windows HANDLEs, from Chris Kohlhoff
  • Packit 58578d
        
  • Assert - Customizable assert macros, from Peter Dimov
  • Packit 58578d
        
  • Assign - Filling containers with constant or generated data has never been easier, from Thorsten Ottosen
  • Packit 58578d
        
  • Atomic - C++11-style atomic<>, from Helge Bahmann, Tim Blechmann and Andrey Semashev
  • Packit 58578d
        
  • Beast - Portable HTTP, WebSocket, and network operations using only C++11 and Boost.Asio, from Vinnie Falco
  • Packit 58578d
        
  • Bimap - Bidirectional maps library for C++. With Boost.Bimap you can create associative containers in which both types can be used as key, from Matias Capeletto
  • Packit 58578d
        
  • 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, from Peter Dimov
  • Packit 58578d
        
  • Call Traits - Defines types for passing parameters, from John Maddock, Howard Hinnant, et al
  • Packit 58578d
        
  • CallableTraits - A spiritual successor to Boost.FunctionTypes, Boost.CallableTraits is a header-only C++11 library for the compile-time inspection and manipulation of all 'callable' types. Additional support for C++17 features, from Barrett Adair
  • Packit 58578d
        
  • Chrono - Useful time utilities. C++11, from Howard Hinnant, Beman Dawes and Vicente J. Botet Escriba
  • Packit 58578d
        
  • Circular Buffer - A STL compliant container also known as ring or cyclic buffer, from Jan Gaspar
  • Packit 58578d
        
  • Compatibility - Help for non-conforming standard libraries, from Ralf Grosse-Kunstleve and Jens Maurer
  • Packit 58578d
        
  • Compressed Pair - Empty member optimization, from John Maddock, Howard Hinnant, et al
  • Packit 58578d
        
  • Compute - Parallel/GPU-computing library, from Kyle Lutz
  • Packit 58578d
        
  • Concept Check - Tools for generic programming, from Jeremy Siek
  • Packit 58578d
        
  • Config - Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users
  • Packit 58578d
        
  • Container - Standard library containers and extensions, from Ion Gaztañaga
  • Packit 58578d
        
  • Context - (C++11) Context switching library, from Oliver Kowalke
  • Packit 58578d
        
  • Conversion - Polymorphic casts, from Dave Abrahams and Kevlin Henney
  • Packit 58578d
        
  • Convert - An extendible and configurable type-conversion framework, from Vladimir Batov
  • Packit 58578d
        
  • Core - A collection of simple core utilities with minimal dependencies, from Peter Dimov, Glen Fernandes and Andrey Semashev
  • Packit 58578d
        
  • Coroutine - Coroutine library, from Oliver Kowalke
  • Packit 58578d
        
  • Coroutine2 - (C++11) Coroutine library, from Oliver Kowalke
  • Packit 58578d
        
  • 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, from Daryle Walker
  • Packit 58578d
        
  • Date Time - A set of date-time libraries based on generic programming concepts, from Jeff Garland
  • Packit 58578d
        
  • DLL - Library for comfortable work with DLL and DSO, from Antony Polukhin and Renato Tegon Forti
  • Packit 58578d
        
  • 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, from Jeremy Siek and Chuck Allison
  • Packit 58578d
        
  • Enable If - Selective inclusion of function template overloads, from Jaakko Järvi, Jeremiah Willcock and Andrew Lumsdaine
  • Packit 58578d
        
  • Endian - Types and conversion functions for correct byte ordering and more regardless of processor endianness, from Beman Dawes
  • Packit 58578d
        
  • Exception - The Boost Exception library supports transporting of arbitrary data in exception objects, and transporting of exceptions between threads, from Emil Dotchevski
  • Packit 58578d
        
  • Fiber - (C++11) Userland threads library, from Oliver Kowalke
  • Packit 58578d
        
  • Filesystem - The Boost Filesystem Library provides portable facilities to query and manipulate paths, files, and directories, from Beman Dawes
  • Packit 58578d
        
  • Flyweight - Design pattern to manage large quantities of highly redundant objects, from Joaquín M López Muñoz
  • Packit 58578d
        
  • 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, from Eric Niebler
  • Packit 58578d
        
  • Format - The format library provides a type-safe mechanism for formatting arguments according to a printf-like format-string, from Samuel Krempp
  • Packit 58578d
        
  • Function - Function object wrappers for deferred calls or callbacks, from Doug Gregor
  • Packit 58578d
        
  • Function Types - Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types, from Tobias Schwinger
  • Packit 58578d
        
  • Functional - The Boost.Function library contains a family of class templates that are function object wrappers, from Mark Rodgers
  • Packit 58578d
        
  • Functional/Factory - Function object templates for dynamic and static object creation, from Tobias Schwinger
  • Packit 58578d
        
  • Functional/Forward - Adapters to allow generic function objects to accept arbitrary arguments, from Tobias Schwinger
  • Packit 58578d
        
  • Functional/Hash - A TR1 hash function object that can be extended to hash user defined types, from Daniel James
  • Packit 58578d
        
  • Functional/Overloaded Function - Overload different functions into a single function object, from Lorenzo Caminiti
  • Packit 58578d
        
  • Fusion - Library for working with tuples, including various containers, algorithms, etc, from Joel de Guzman, Dan Marsden and Tobias Schwinger
  • Packit 58578d
        
  • Geometry - The Boost.Geometry library provides geometric algorithms, primitives and spatial index, from Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz and Menelaos Karavelas
  • Packit 58578d
        
  • GIL - Generic Image Library, from Lubomir Bourdev and Hailin Jin
  • Packit 58578d
        
  • Graph - The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL), from Jeremy Siek and a University of Notre Dame team.
  • Packit 58578d
        
  • GraphParallel - The PBGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL), from Jeremy Siek, Doug Gregor, and a University of Notre Dame team.
  • Packit 58578d
        
  • 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, from Louis Dionne
  • Packit 58578d
        
  • Heap - Priority queue data structures, from Tim Blechmann
  • Packit 58578d
        
  • ICL - Interval Container Library, interval sets and maps and aggregation of associated values, from Joachim Faulhaber
  • Packit 58578d
        
  • Identity Type - Wrap types within round parenthesis so they can always be passed as macro parameters, from Lorenzo Caminiti
  • Packit 58578d
        
  • In Place Factory, Typed In Place Factory - Generic in-place construction of contained objects with a variadic argument-list, from Fernando Cacciola
  • Packit 58578d
        
  • 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
  • Packit 58578d
        
  • Interprocess - Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators, from Ion Gaztañaga
  • Packit 58578d
        
  • Interval - Extends the usual arithmetic functions to mathematical intervals, from Guillaume Melquiond, Hervé Brönnimann and Sylvain Pion
  • Packit 58578d
        
  • Intrusive - Intrusive containers and algorithms, from Ion Gaztañaga
  • Packit 58578d
        
  • 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, from Daryle Walker
  • Packit 58578d
        
  • Iostreams - Boost.IOStreams provides a framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis
  • Packit 58578d
        
  • 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, from Dave Abrahams, Jeremy Siek and Thomas Witt
  • Packit 58578d
        
  • Lambda - Define small unnamed function objects at the actual call site, and more, from Jaakko Järvi and Gary Powell
  • Packit 58578d
        
  • Lexical Cast - General literal text conversions, such as an int represented a string, or vice-versa, from Kevlin Henney
  • Packit 58578d
        
  • Local Function - Program functions locally, within other functions, directly within the scope where they are needed, from Lorenzo Caminiti
  • Packit 58578d
        
  • Locale - Provide localization and Unicode handling tools for C++, from Artyom Beilis
  • Packit 58578d
        
  • Lockfree - Lockfree data structures, from Tim Blechmann
  • Packit 58578d
        
  • Log - Logging library, from Andrey Semashev
  • Packit 58578d
        
  • 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, from various
  • Packit 58578d
        
  • Math Common Factor - Greatest common divisor and least common multiple, from Daryle Walker
  • Packit 58578d
        
  • Math Octonion - Octonions, from Hubert Holin
  • Packit 58578d
        
  • Math Quaternion - Quaternions, from Hubert Holin
  • Packit 58578d
        
  • Math/Special Functions - A wide selection of mathematical special functions, from John Maddock, Paul Bristow, Hubert Holin and Xiaogang Zhang
  • Packit 58578d
        
  • Math/Statistical Distributions - A wide selection of univariate statistical distributions and functions that operate on them, from John Maddock and Paul Bristow
  • Packit 58578d
        
  • Member Function - Generalized binders for function/object/pointers and member functions, from Peter Dimov
  • Packit 58578d
        
  • Meta State Machine - A very high-performance library for expressive UML2 finite state machines, from Christophe Henry
  • Packit 58578d
        
  • Metaparse - A library for generating compile time parsers parsing embedded DSL code as part of the C++ compilation process, from Abel Sinkovics
  • Packit 58578d
        
  • Min-Max - Standard library extensions for simultaneous min/max and min/max element computations, from Hervé Brönnimann
  • Packit 58578d
        
  • Move - Portable move semantics for C++03 and C++11 compilers, from Ion Gaztañaga
  • Packit 58578d
        
  • Mp11 - A C++11 metaprogramming library, from Peter Dimov
  • Packit 58578d
        
  • MPI - Message Passing Interface library, for use in distributed-memory parallel application programming, from Douglas Gregor and Matthias Troyer
  • Packit 58578d
        
  • 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, from Aleksey Gurtovoy
  • Packit 58578d
        
  • Multi-Array - Boost.MultiArray provides a generic N-dimensional array concept definition and common implementations of that interface, from Ron Garcia
  • Packit 58578d
        
  • 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, from Joaquín M López Muñoz
  • Packit 58578d
        
  • Multiprecision - Extended precision arithmetic types for floating point, integer andrational arithmetic, from John Maddock and Christopher Kormanyos
  • Packit 58578d
        
  • Numeric Conversion - Optimized Policy-based Numeric Conversions, from Fernando Cacciola
  • Packit 58578d
        
  • Odeint - Solving ordinary differential equations, from Karsten Ahnert and Mario Mulansky
  • Packit 58578d
        
  • Operators - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek
  • Packit 58578d
        
  • 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, from Fernando Cacciola
  • Packit 58578d
        
  • Parameter - Boost.Parameter Library - Write functions that accept arguments by name, from David Abrahams and Daniel Wallin
  • Packit 58578d
        
  • Phoenix - Define small unnamed function objects at the actual call site, and more, from Joel de Guzman, Dan Marsden, Thomas Heller and John Fletcher
  • Packit 58578d
        
  • Pointer Container - Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen
  • Packit 58578d
        
  • PolyCollection - Fast containers of polymorphic objects, from Joaquín M López Muñoz
  • Packit 58578d
        
  • Polygon - Voronoi diagram construction and booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates, from Lucanus Simonson and Andrii Sydorchuk
  • Packit 58578d
        
  • Pool - Memory pool management, from Steve Cleary
  • Packit 58578d
        
  • 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, from Rene Rivera
  • Packit 58578d
        
  • Preprocessor - Preprocessor metaprogramming tools including repetition and recursion, from Vesa Karvonen and Paul Mensonides
  • Packit 58578d
        
  • Process - Library to create processes in a portable way, from Merino Vidal, Ilya Sokolov, Felipe Tanus, Jeff Flinn, Thomas Jarosch, Boris Schaeling and Klemens D. Morgenstern
  • Packit 58578d
        
  • 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, from Vladimir Prus
  • Packit 58578d
        
  • Property Map - Concepts defining interfaces which map key objects to value objects, from Jeremy Siek
  • Packit 58578d
        
  • Property Tree - A tree data structure especially suited to storing configuration data, from Marcin Kalicinski and Sebastian Redl
  • Packit 58578d
        
  • Proto - Expression template library and compiler construction toolkit for domain-specific embedded languages, from Eric Niebler
  • Packit 58578d
        
  • 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, from Dave Abrahams
  • Packit 58578d
        
  • QVM - Boost QVM is a generic library for working with quaternions, vectors and matrices of static size with the emphasis on 2, 3 and 4-dimensional operations needed in graphics, video games and simulation applications, from Emil Dotchevski
  • Packit 58578d
        
  • Random - A complete system for random number generation, from Jens Maurer
  • Packit 58578d
        
  • Range - A new infrastructure for generic algorithms that builds on top of the new iterator concepts, from Niel Groves and Thorsten Ottosen
  • Packit 58578d
        
  • Ratio - Compile time rational arithmetic. C++11, from Howard Hinnant, Beman Dawes and Vicente J. Botet Escriba
  • Packit 58578d
        
  • Rational - A rational number class, from Paul Moore
  • Packit 58578d
        
  • Ref - A utility library for passing references to generic functions, from Jaako Järvi, Peter Dimov, Doug Gregor and Dave Abrahams
  • Packit 58578d
        
  • Regex - Regular expression library, from John Maddock
  • Packit 58578d
        
  • Result Of - Determines the type of a function call expression
  • Packit 58578d
        
  • Scope Exit - Execute arbitrary code at scope exit, from Alexander Nasonov
  • Packit 58578d
        
  • Serialization - Serialization for persistence and marshalling, from Robert Ramey
  • Packit 58578d
        
  • Signals - Managed signals & slots callback implementation, from Doug Gregor
  • Packit 58578d
        
  • Signals2 - Managed signals & slots callback implementation (thread-safe version 2), from Frank Mori Hess
  • Packit 58578d
        
  • Smart Ptr - Smart pointer class templates, from Greg Colvin, Beman Dawes, Peter Dimov, Darin Adler and Glen Fernandes
  • Packit 58578d
        
  • Sort - High-performance templated sort functions, from Steven Ross
  • Packit 58578d
        
  • Spirit - LL parser framework represents parsers directly as EBNF grammars in inlined C++, from Joel de Guzman, Hartmut Kaiser and Dan Nuffer
  • Packit 58578d
        
  • Stacktrace - Gather, store, copy and print backtraces, from Antony Polukhin
  • Packit 58578d
        
  • Statechart - Boost.Statechart - Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code, from Andreas Huber Dönni
  • Packit 58578d
        
  • Static Assert - Static assertions (compile time assertions), from John Maddock
  • Packit 58578d
        
  • String Algo - String algorithms library, from Pavol Droba
  • Packit 58578d
        
  • Swap - Enhanced generic swap function, from Joseph Gauterin
  • Packit 58578d
        
  • System - Operating system support, including the diagnostics support that will be part of the C++0x standard library, from Beman Dawes
  • Packit 58578d
        
  • Test - Support for simple program testing, full unit testing, and for program execution monitoring, from Gennadiy Rozental and Raffi Enficiaud
  • Packit 58578d
        
  • Thread - Portable C++ multi-threading. C++11, C++14, from Anthony Williams and Vicente J. Botet Escriba
  • Packit 58578d
        
  • ThrowException - A common infrastructure for throwing exceptions from Boost libraries, from Emil Dotchevski
  • Packit 58578d
        
  • Timer - Event timer, progress timer, and progress display classes, from Beman Dawes
  • Packit 58578d
        
  • Tokenizer - Break of a string or other character sequence into a series of tokens, from John Bandela
  • Packit 58578d
        
  • Tribool - 3-state boolean type library, from Doug Gregor
  • Packit 58578d
        
  • TTI - Type Traits Introspection library, from Edward Diener
  • Packit 58578d
        
  • Tuple - Ease definition of functions returning multiple values, and more, from Jaakko Järvi
  • Packit 58578d
        
  • Type Erasure - Runtime polymorphism based on concepts, from Steven Watanabe
  • Packit 58578d
        
  • Type Index - Runtime/Compile time copyable type info, from Antony Polukhin
  • Packit 58578d
        
  • Type Traits - Templates for fundamental properties of types, from John Maddock, Steve Cleary, et al
  • Packit 58578d
        
  • Typeof - Typeof operator emulation, from Arkadiy Vertleyb and Peder Holt
  • Packit 58578d
        
  • uBLAS - uBLAS provides matrix and vector classes as well as basic linear algebra routines. Several dense, packed and sparse storage schemes are supported, from Joerg Walter and Mathias Koch
  • Packit 58578d
        
  • Units - Zero-overhead dimensional analysis and unit/quantity manipulation and conversion, from Matthias Schabel and Steven Watanabe
  • Packit 58578d
        
  • Unordered - Unordered associative containers, from Daniel James
  • Packit 58578d
        
  • Utility - Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom, from Dave Abrahams and others
  • Packit 58578d
        
  • Uuid - A universally unique identifier, from Andy Tompkins
  • Packit 58578d
        
  • Value Initialized - Wrapper for uniform-syntax value initialization, based on the original idea of David Abrahams, from Fernando Cacciola
  • Packit 58578d
        
  • Variant - Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman
  • Packit 58578d
        
  • VMD - Variadic Macro Data library, from Edward Diener
  • Packit 58578d
        
  • 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, from Hartmut Kaiser
  • Packit 58578d
        
  • 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, from Eric Niebler
  • Packit 58578d
    Packit 58578d
    Packit 58578d

    Packit 58578d
    Packit 58578d

    Libraries Listed by Category

    Packit 58578d
    Packit 58578d

    Algorithms

    Packit 58578d
    Packit 58578d
      Packit 58578d
          
    • Algorithm - A collection of useful generic algorithms, from Marshall Clow
    • Packit 58578d
          
    • 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, from Eric Niebler
    • Packit 58578d
          
    • Geometry - The Boost.Geometry library provides geometric algorithms, primitives and spatial index, from Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz and Menelaos Karavelas
    • Packit 58578d
          
    • GIL - Generic Image Library, from Lubomir Bourdev and Hailin Jin
    • Packit 58578d
          
    • Graph - The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL), from Jeremy Siek and a University of Notre Dame team.
    • Packit 58578d
          
    • GraphParallel - The PBGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL), from Jeremy Siek, Doug Gregor, and a University of Notre Dame team.
    • Packit 58578d
          
    • Min-Max - Standard library extensions for simultaneous min/max and min/max element computations, from Hervé Brönnimann
    • Packit 58578d
          
    • Polygon - Voronoi diagram construction and booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates, from Lucanus Simonson and Andrii Sydorchuk
    • Packit 58578d
          
    • QVM - Boost QVM is a generic library for working with quaternions, vectors and matrices of static size with the emphasis on 2, 3 and 4-dimensional operations needed in graphics, video games and simulation applications, from Emil Dotchevski
    • Packit 58578d
          
    • Range - A new infrastructure for generic algorithms that builds on top of the new iterator concepts, from Niel Groves and Thorsten Ottosen
    • Packit 58578d
          
    • Sort - High-performance templated sort functions, from Steven Ross
    • Packit 58578d
          
    • String Algo - String algorithms library, from Pavol Droba
    • Packit 58578d
          
    • Utility - Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom, from Dave Abrahams and others
    • Packit 58578d
      Packit 58578d
      Packit 58578d

      Broken compiler workarounds

      Packit 58578d
      Packit 58578d
        Packit 58578d
            
      • Compatibility - Help for non-conforming standard libraries, from Ralf Grosse-Kunstleve and Jens Maurer
      • Packit 58578d
            
      • Config - Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users
      • Packit 58578d
        Packit 58578d
        Packit 58578d

        Concurrent Programming

        Packit 58578d
        Packit 58578d
          Packit 58578d
              
        • Asio - Portable networking and other low-level I/O, including sockets, timers, hostname resolution, socket iostreams, serial ports, file descriptors and Windows HANDLEs, from Chris Kohlhoff
        • Packit 58578d
              
        • Atomic - C++11-style atomic<>, from Helge Bahmann, Tim Blechmann and Andrey Semashev
        • Packit 58578d
              
        • Beast - Portable HTTP, WebSocket, and network operations using only C++11 and Boost.Asio, from Vinnie Falco
        • Packit 58578d
              
        • Compute - Parallel/GPU-computing library, from Kyle Lutz
        • Packit 58578d
              
        • Context - (C++11) Context switching library, from Oliver Kowalke
        • Packit 58578d
              
        • Coroutine - Coroutine library, from Oliver Kowalke
        • Packit 58578d
              
        • Coroutine2 - (C++11) Coroutine library, from Oliver Kowalke
        • Packit 58578d
              
        • Fiber - (C++11) Userland threads library, from Oliver Kowalke
        • Packit 58578d
              
        • Interprocess - Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators, from Ion Gaztañaga
        • Packit 58578d
              
        • Lockfree - Lockfree data structures, from Tim Blechmann
        • Packit 58578d
              
        • MPI - Message Passing Interface library, for use in distributed-memory parallel application programming, from Douglas Gregor and Matthias Troyer
        • Packit 58578d
              
        • Thread - Portable C++ multi-threading. C++11, C++14, from Anthony Williams and Vicente J. Botet Escriba
        • Packit 58578d
          Packit 58578d
          Packit 58578d

          Containers

          Packit 58578d
          Packit 58578d
            Packit 58578d
                
          • Array - STL compliant container wrapper for arrays of constant size, from Nicolai Josuttis
          • Packit 58578d
                
          • Bimap - Bidirectional maps library for C++. With Boost.Bimap you can create associative containers in which both types can be used as key, from Matias Capeletto
          • Packit 58578d
                
          • Circular Buffer - A STL compliant container also known as ring or cyclic buffer, from Jan Gaspar
          • Packit 58578d
                
          • Container - Standard library containers and extensions, from Ion Gaztañaga
          • Packit 58578d
                
          • 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, from Jeremy Siek and Chuck Allison
          • Packit 58578d
                
          • GIL - Generic Image Library, from Lubomir Bourdev and Hailin Jin
          • Packit 58578d
                
          • Graph - The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL), from Jeremy Siek and a University of Notre Dame team.
          • Packit 58578d
                
          • GraphParallel - The PBGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL), from Jeremy Siek, Doug Gregor, and a University of Notre Dame team.
          • Packit 58578d
                
          • ICL - Interval Container Library, interval sets and maps and aggregation of associated values, from Joachim Faulhaber
          • Packit 58578d
                
          • Intrusive - Intrusive containers and algorithms, from Ion Gaztañaga
          • Packit 58578d
                
          • Multi-Array - Boost.MultiArray provides a generic N-dimensional array concept definition and common implementations of that interface, from Ron Garcia
          • Packit 58578d
                
          • 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, from Joaquín M López Muñoz
          • Packit 58578d
                
          • Pointer Container - Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen
          • Packit 58578d
                
          • PolyCollection - Fast containers of polymorphic objects, from Joaquín M López Muñoz
          • Packit 58578d
                
          • Property Map - Concepts defining interfaces which map key objects to value objects, from Jeremy Siek
          • Packit 58578d
                
          • Property Tree - A tree data structure especially suited to storing configuration data, from Marcin Kalicinski and Sebastian Redl
          • Packit 58578d
                
          • Unordered - Unordered associative containers, from Daniel James
          • Packit 58578d
                
          • Variant - Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman
          • Packit 58578d
            Packit 58578d
            Packit 58578d

            Correctness and testing

            Packit 58578d
            Packit 58578d
              Packit 58578d
                  
            • Assert - Customizable assert macros, from Peter Dimov
            • Packit 58578d
                  
            • Concept Check - Tools for generic programming, from Jeremy Siek
            • Packit 58578d
                  
            • Stacktrace - Gather, store, copy and print backtraces, from Antony Polukhin
            • Packit 58578d
                  
            • Static Assert - Static assertions (compile time assertions), from John Maddock
            • Packit 58578d
                  
            • Test - Support for simple program testing, full unit testing, and for program execution monitoring, from Gennadiy Rozental and Raffi Enficiaud
            • Packit 58578d
              Packit 58578d
              Packit 58578d

              Data structures

              Packit 58578d
              Packit 58578d
                Packit 58578d
                    
              • Any - Safe, generic container for single values of different value types, from Kevlin Henney
              • Packit 58578d
                    
              • Bimap - Bidirectional maps library for C++. With Boost.Bimap you can create associative containers in which both types can be used as key, from Matias Capeletto
              • Packit 58578d
                    
              • Compressed Pair - Empty member optimization, from John Maddock, Howard Hinnant, et al
              • Packit 58578d
                    
              • Container - Standard library containers and extensions, from Ion Gaztañaga
              • Packit 58578d
                    
              • Fusion - Library for working with tuples, including various containers, algorithms, etc, from Joel de Guzman, Dan Marsden and Tobias Schwinger
              • Packit 58578d
                    
              • Geometry - The Boost.Geometry library provides geometric algorithms, primitives and spatial index, from Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz and Menelaos Karavelas
              • Packit 58578d
                    
              • Heap - Priority queue data structures, from Tim Blechmann
              • Packit 58578d
                    
              • ICL - Interval Container Library, interval sets and maps and aggregation of associated values, from Joachim Faulhaber
              • Packit 58578d
                    
              • 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, from Joaquín M López Muñoz
              • Packit 58578d
                    
              • 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, from Fernando Cacciola
              • Packit 58578d
                    
              • Pointer Container - Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen
              • Packit 58578d
                    
              • Polygon - Voronoi diagram construction and booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates, from Lucanus Simonson and Andrii Sydorchuk
              • Packit 58578d
                    
              • Property Tree - A tree data structure especially suited to storing configuration data, from Marcin Kalicinski and Sebastian Redl
              • Packit 58578d
                    
              • Tuple - Ease definition of functions returning multiple values, and more, from Jaakko Järvi
              • Packit 58578d
                    
              • Type Erasure - Runtime polymorphism based on concepts, from Steven Watanabe
              • Packit 58578d
                    
              • Uuid - A universally unique identifier, from Andy Tompkins
              • Packit 58578d
                    
              • Variant - Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman
              • Packit 58578d
                Packit 58578d
                Packit 58578d

                Domain Specific

                Packit 58578d
                Packit 58578d
                  Packit 58578d
                      
                • Chrono - Useful time utilities. C++11, from Howard Hinnant, Beman Dawes and Vicente J. Botet Escriba
                • Packit 58578d
                      
                • 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, from Daryle Walker
                • Packit 58578d
                      
                • Date Time - A set of date-time libraries based on generic programming concepts, from Jeff Garland
                • Packit 58578d
                      
                • Units - Zero-overhead dimensional analysis and unit/quantity manipulation and conversion, from Matthias Schabel and Steven Watanabe
                • Packit 58578d
                      
                • Uuid - A universally unique identifier, from Andy Tompkins
                • Packit 58578d
                  Packit 58578d
                  Packit 58578d

                  Function objects and higher-order programming

                  Packit 58578d
                  Packit 58578d
                    Packit 58578d
                        
                  • 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, from Peter Dimov
                  • Packit 58578d
                        
                  • Function - Function object wrappers for deferred calls or callbacks, from Doug Gregor
                  • Packit 58578d
                        
                  • Functional - The Boost.Function library contains a family of class templates that are function object wrappers, from Mark Rodgers
                  • Packit 58578d
                        
                  • Functional/Factory - Function object templates for dynamic and static object creation, from Tobias Schwinger
                  • Packit 58578d
                        
                  • Functional/Forward - Adapters to allow generic function objects to accept arbitrary arguments, from Tobias Schwinger
                  • Packit 58578d
                        
                  • Functional/Hash - A TR1 hash function object that can be extended to hash user defined types, from Daniel James
                  • Packit 58578d
                        
                  • Functional/Overloaded Function - Overload different functions into a single function object, from Lorenzo Caminiti
                  • Packit 58578d
                        
                  • Lambda - Define small unnamed function objects at the actual call site, and more, from Jaakko Järvi and Gary Powell
                  • Packit 58578d
                        
                  • Local Function - Program functions locally, within other functions, directly within the scope where they are needed, from Lorenzo Caminiti
                  • Packit 58578d
                        
                  • Member Function - Generalized binders for function/object/pointers and member functions, from Peter Dimov
                  • Packit 58578d
                        
                  • Phoenix - Define small unnamed function objects at the actual call site, and more, from Joel de Guzman, Dan Marsden, Thomas Heller and John Fletcher
                  • Packit 58578d
                        
                  • Ref - A utility library for passing references to generic functions, from Jaako Järvi, Peter Dimov, Doug Gregor and Dave Abrahams
                  • Packit 58578d
                        
                  • Result Of - Determines the type of a function call expression
                  • Packit 58578d
                        
                  • Signals - Managed signals & slots callback implementation, from Doug Gregor
                  • Packit 58578d
                        
                  • Signals2 - Managed signals & slots callback implementation (thread-safe version 2), from Frank Mori Hess
                  • Packit 58578d
                        
                  • Utility - Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom, from Dave Abrahams and others
                  • Packit 58578d
                    Packit 58578d
                    Packit 58578d

                    Generic Programming

                    Packit 58578d
                    Packit 58578d
                      Packit 58578d
                          
                    • Call Traits - Defines types for passing parameters, from John Maddock, Howard Hinnant, et al
                    • Packit 58578d
                          
                    • Concept Check - Tools for generic programming, from Jeremy Siek
                    • Packit 58578d
                          
                    • Enable If - Selective inclusion of function template overloads, from Jaakko Järvi, Jeremiah Willcock and Andrew Lumsdaine
                    • Packit 58578d
                          
                    • Function Types - Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types, from Tobias Schwinger
                    • Packit 58578d
                          
                    • GIL - Generic Image Library, from Lubomir Bourdev and Hailin Jin
                    • Packit 58578d
                          
                    • In Place Factory, Typed In Place Factory - Generic in-place construction of contained objects with a variadic argument-list, from Fernando Cacciola
                    • Packit 58578d
                          
                    • Operators - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek
                    • Packit 58578d
                          
                    • Property Map - Concepts defining interfaces which map key objects to value objects, from Jeremy Siek
                    • Packit 58578d
                          
                    • QVM - Boost QVM is a generic library for working with quaternions, vectors and matrices of static size with the emphasis on 2, 3 and 4-dimensional operations needed in graphics, video games and simulation applications, from Emil Dotchevski
                    • Packit 58578d
                          
                    • Static Assert - Static assertions (compile time assertions), from John Maddock
                    • Packit 58578d
                          
                    • TTI - Type Traits Introspection library, from Edward Diener
                    • Packit 58578d
                          
                    • Type Traits - Templates for fundamental properties of types, from John Maddock, Steve Cleary, et al
                    • Packit 58578d
                      Packit 58578d
                      Packit 58578d

                      Image processing

                      Packit 58578d
                      Packit 58578d
                        Packit 58578d
                            
                      • GIL - Generic Image Library, from Lubomir Bourdev and Hailin Jin
                      • Packit 58578d
                        Packit 58578d
                        Packit 58578d

                        Input/Output

                        Packit 58578d
                        Packit 58578d
                          Packit 58578d
                              
                        • Asio - Portable networking and other low-level I/O, including sockets, timers, hostname resolution, socket iostreams, serial ports, file descriptors and Windows HANDLEs, from Chris Kohlhoff
                        • Packit 58578d
                              
                        • Assign - Filling containers with constant or generated data has never been easier, from Thorsten Ottosen
                        • Packit 58578d
                              
                        • Beast - Portable HTTP, WebSocket, and network operations using only C++11 and Boost.Asio, from Vinnie Falco
                        • Packit 58578d
                              
                        • Endian - Types and conversion functions for correct byte ordering and more regardless of processor endianness, from Beman Dawes
                        • Packit 58578d
                              
                        • Format - The format library provides a type-safe mechanism for formatting arguments according to a printf-like format-string, from Samuel Krempp
                        • Packit 58578d
                              
                        • 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, from Daryle Walker
                        • Packit 58578d
                              
                        • Iostreams - Boost.IOStreams provides a framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis
                        • Packit 58578d
                              
                        • 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, from Vladimir Prus
                        • Packit 58578d
                              
                        • Serialization - Serialization for persistence and marshalling, from Robert Ramey
                        • Packit 58578d
                          Packit 58578d
                          Packit 58578d

                          Inter-language support

                          Packit 58578d
                          Packit 58578d
                            Packit 58578d
                                
                          • 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, from Dave Abrahams
                          • Packit 58578d
                            Packit 58578d
                            Packit 58578d

                            Iterators

                            Packit 58578d
                            Packit 58578d
                              Packit 58578d
                                  
                            • GIL - Generic Image Library, from Lubomir Bourdev and Hailin Jin
                            • Packit 58578d
                                  
                            • Graph - The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL), from Jeremy Siek and a University of Notre Dame team.
                            • Packit 58578d
                                  
                            • GraphParallel - The PBGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL), from Jeremy Siek, Doug Gregor, and a University of Notre Dame team.
                            • Packit 58578d
                                  
                            • 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, from Dave Abrahams, Jeremy Siek and Thomas Witt
                            • Packit 58578d
                                  
                            • Operators - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek
                            • Packit 58578d
                                  
                            • Tokenizer - Break of a string or other character sequence into a series of tokens, from John Bandela
                            • Packit 58578d
                              Packit 58578d
                              Packit 58578d

                              Language Features Emulation

                              Packit 58578d
                              Packit 58578d
                                Packit 58578d
                                    
                              • Exception - The Boost Exception library supports transporting of arbitrary data in exception objects, and transporting of exceptions between threads, from Emil Dotchevski
                              • Packit 58578d
                                    
                              • 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, from Eric Niebler
                              • Packit 58578d
                                    
                              • Move - Portable move semantics for C++03 and C++11 compilers, from Ion Gaztañaga
                              • Packit 58578d
                                    
                              • Parameter - Boost.Parameter Library - Write functions that accept arguments by name, from David Abrahams and Daniel Wallin
                              • Packit 58578d
                                    
                              • Scope Exit - Execute arbitrary code at scope exit, from Alexander Nasonov
                              • Packit 58578d
                                    
                              • Type Index - Runtime/Compile time copyable type info, from Antony Polukhin
                              • Packit 58578d
                                    
                              • Typeof - Typeof operator emulation, from Arkadiy Vertleyb and Peder Holt
                              • Packit 58578d
                                Packit 58578d
                                Packit 58578d

                                Math and numerics

                                Packit 58578d
                                Packit 58578d
                                  Packit 58578d
                                      
                                • Accumulators - Framework for incremental calculation, and collection of statistical accumulators, from Eric Niebler
                                • Packit 58578d
                                      
                                • Endian - Types and conversion functions for correct byte ordering and more regardless of processor endianness, from Beman Dawes
                                • Packit 58578d
                                      
                                • Geometry - The Boost.Geometry library provides geometric algorithms, primitives and spatial index, from Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz and Menelaos Karavelas
                                • Packit 58578d
                                      
                                • 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
                                • Packit 58578d
                                      
                                • Interval - Extends the usual arithmetic functions to mathematical intervals, from Guillaume Melquiond, Hervé Brönnimann and Sylvain Pion
                                • Packit 58578d
                                      
                                • 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, from various
                                • Packit 58578d
                                      
                                • Math Common Factor - Greatest common divisor and least common multiple, from Daryle Walker
                                • Packit 58578d
                                      
                                • Math Octonion - Octonions, from Hubert Holin
                                • Packit 58578d
                                      
                                • Math Quaternion - Quaternions, from Hubert Holin
                                • Packit 58578d
                                      
                                • Math/Special Functions - A wide selection of mathematical special functions, from John Maddock, Paul Bristow, Hubert Holin and Xiaogang Zhang
                                • Packit 58578d
                                      
                                • Math/Statistical Distributions - A wide selection of univariate statistical distributions and functions that operate on them, from John Maddock and Paul Bristow
                                • Packit 58578d
                                      
                                • Multi-Array - Boost.MultiArray provides a generic N-dimensional array concept definition and common implementations of that interface, from Ron Garcia
                                • Packit 58578d
                                      
                                • Multiprecision - Extended precision arithmetic types for floating point, integer andrational arithmetic, from John Maddock and Christopher Kormanyos
                                • Packit 58578d
                                      
                                • Numeric Conversion - Optimized Policy-based Numeric Conversions, from Fernando Cacciola
                                • Packit 58578d
                                      
                                • Odeint - Solving ordinary differential equations, from Karsten Ahnert and Mario Mulansky
                                • Packit 58578d
                                      
                                • Operators - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek
                                • Packit 58578d
                                      
                                • Polygon - Voronoi diagram construction and booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates, from Lucanus Simonson and Andrii Sydorchuk
                                • Packit 58578d
                                      
                                • QVM - Boost QVM is a generic library for working with quaternions, vectors and matrices of static size with the emphasis on 2, 3 and 4-dimensional operations needed in graphics, video games and simulation applications, from Emil Dotchevski
                                • Packit 58578d
                                      
                                • Random - A complete system for random number generation, from Jens Maurer
                                • Packit 58578d
                                      
                                • Ratio - Compile time rational arithmetic. C++11, from Howard Hinnant, Beman Dawes and Vicente J. Botet Escriba
                                • Packit 58578d
                                      
                                • Rational - A rational number class, from Paul Moore
                                • Packit 58578d
                                      
                                • uBLAS - uBLAS provides matrix and vector classes as well as basic linear algebra routines. Several dense, packed and sparse storage schemes are supported, from Joerg Walter and Mathias Koch
                                • Packit 58578d
                                  Packit 58578d
                                  Packit 58578d

                                  Memory

                                  Packit 58578d
                                  Packit 58578d
                                    Packit 58578d
                                        
                                  • Align - Memory alignment functions, allocators, and traits, from Glen Fernandes
                                  • Packit 58578d
                                        
                                  • Pool - Memory pool management, from Steve Cleary
                                  • Packit 58578d
                                        
                                  • Smart Ptr - Smart pointer class templates, from Greg Colvin, Beman Dawes, Peter Dimov, Darin Adler and Glen Fernandes
                                  • Packit 58578d
                                        
                                  • Utility - Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom, from Dave Abrahams and others
                                  • Packit 58578d
                                    Packit 58578d
                                    Packit 58578d

                                    Parsing

                                    Packit 58578d
                                    Packit 58578d
                                      Packit 58578d
                                          
                                    • Spirit - LL parser framework represents parsers directly as EBNF grammars in inlined C++, from Joel de Guzman, Hartmut Kaiser and Dan Nuffer
                                    • Packit 58578d
                                      Packit 58578d
                                      Packit 58578d

                                      Patterns and Idioms

                                      Packit 58578d
                                      Packit 58578d
                                        Packit 58578d
                                            
                                      • Compressed Pair - Empty member optimization, from John Maddock, Howard Hinnant, et al
                                      • Packit 58578d
                                            
                                      • Flyweight - Design pattern to manage large quantities of highly redundant objects, from Joaquín M López Muñoz
                                      • Packit 58578d
                                            
                                      • Signals - Managed signals & slots callback implementation, from Doug Gregor
                                      • Packit 58578d
                                            
                                      • Signals2 - Managed signals & slots callback implementation (thread-safe version 2), from Frank Mori Hess
                                      • Packit 58578d
                                            
                                      • Utility - Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom, from Dave Abrahams and others
                                      • Packit 58578d
                                        Packit 58578d
                                        Packit 58578d

                                        Preprocessor Metaprogramming

                                        Packit 58578d
                                        Packit 58578d
                                          Packit 58578d
                                              
                                        • Identity Type - Wrap types within round parenthesis so they can always be passed as macro parameters, from Lorenzo Caminiti
                                        • Packit 58578d
                                              
                                        • Preprocessor - Preprocessor metaprogramming tools including repetition and recursion, from Vesa Karvonen and Paul Mensonides
                                        • Packit 58578d
                                              
                                        • VMD - Variadic Macro Data library, from Edward Diener
                                        • Packit 58578d
                                          Packit 58578d
                                          Packit 58578d

                                          Programming Interfaces

                                          Packit 58578d
                                          Packit 58578d
                                            Packit 58578d
                                                
                                          • Function - Function object wrappers for deferred calls or callbacks, from Doug Gregor
                                          • Packit 58578d
                                                
                                          • Parameter - Boost.Parameter Library - Write functions that accept arguments by name, from David Abrahams and Daniel Wallin
                                          • Packit 58578d
                                            Packit 58578d
                                            Packit 58578d

                                            State Machines

                                            Packit 58578d
                                            Packit 58578d
                                              Packit 58578d
                                                  
                                            • Meta State Machine - A very high-performance library for expressive UML2 finite state machines, from Christophe Henry
                                            • Packit 58578d
                                                  
                                            • Statechart - Boost.Statechart - Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code, from Andreas Huber Dönni
                                            • Packit 58578d
                                              Packit 58578d
                                              Packit 58578d

                                              String and text processing

                                              Packit 58578d
                                              Packit 58578d
                                                Packit 58578d
                                                    
                                              • Convert - An extendible and configurable type-conversion framework, from Vladimir Batov
                                              • Packit 58578d
                                                    
                                              • Format - The format library provides a type-safe mechanism for formatting arguments according to a printf-like format-string, from Samuel Krempp
                                              • Packit 58578d
                                                    
                                              • Iostreams - Boost.IOStreams provides a framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis
                                              • Packit 58578d
                                                    
                                              • Lexical Cast - General literal text conversions, such as an int represented a string, or vice-versa, from Kevlin Henney
                                              • Packit 58578d
                                                    
                                              • Locale - Provide localization and Unicode handling tools for C++, from Artyom Beilis
                                              • Packit 58578d
                                                    
                                              • Regex - Regular expression library, from John Maddock
                                              • Packit 58578d
                                                    
                                              • Spirit - LL parser framework represents parsers directly as EBNF grammars in inlined C++, from Joel de Guzman, Hartmut Kaiser and Dan Nuffer
                                              • Packit 58578d
                                                    
                                              • String Algo - String algorithms library, from Pavol Droba
                                              • Packit 58578d
                                                    
                                              • Tokenizer - Break of a string or other character sequence into a series of tokens, from John Bandela
                                              • Packit 58578d
                                                    
                                              • 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, from Hartmut Kaiser
                                              • Packit 58578d
                                                    
                                              • 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, from Eric Niebler
                                              • Packit 58578d
                                                Packit 58578d
                                                Packit 58578d

                                                System

                                                Packit 58578d
                                                Packit 58578d
                                                  Packit 58578d
                                                      
                                                • Chrono - Useful time utilities. C++11, from Howard Hinnant, Beman Dawes and Vicente J. Botet Escriba
                                                • Packit 58578d
                                                      
                                                • Context - (C++11) Context switching library, from Oliver Kowalke
                                                • Packit 58578d
                                                      
                                                • Date Time - A set of date-time libraries based on generic programming concepts, from Jeff Garland
                                                • Packit 58578d
                                                      
                                                • DLL - Library for comfortable work with DLL and DSO, from Antony Polukhin and Renato Tegon Forti
                                                • Packit 58578d
                                                      
                                                • Fiber - (C++11) Userland threads library, from Oliver Kowalke
                                                • Packit 58578d
                                                      
                                                • Filesystem - The Boost Filesystem Library provides portable facilities to query and manipulate paths, files, and directories, from Beman Dawes
                                                • Packit 58578d
                                                      
                                                • Process - Library to create processes in a portable way, from Merino Vidal, Ilya Sokolov, Felipe Tanus, Jeff Flinn, Thomas Jarosch, Boris Schaeling and Klemens D. Morgenstern
                                                • Packit 58578d
                                                      
                                                • Stacktrace - Gather, store, copy and print backtraces, from Antony Polukhin
                                                • Packit 58578d
                                                      
                                                • System - Operating system support, including the diagnostics support that will be part of the C++0x standard library, from Beman Dawes
                                                • Packit 58578d
                                                      
                                                • Thread - Portable C++ multi-threading. C++11, C++14, from Anthony Williams and Vicente J. Botet Escriba
                                                • Packit 58578d
                                                  Packit 58578d
                                                  Packit 58578d

                                                  Template Metaprogramming

                                                  Packit 58578d
                                                  Packit 58578d
                                                    Packit 58578d
                                                        
                                                  • CallableTraits - A spiritual successor to Boost.FunctionTypes, Boost.CallableTraits is a header-only C++11 library for the compile-time inspection and manipulation of all 'callable' types. Additional support for C++17 features, from Barrett Adair
                                                  • Packit 58578d
                                                        
                                                  • Function Types - Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types, from Tobias Schwinger
                                                  • Packit 58578d
                                                        
                                                  • Fusion - Library for working with tuples, including various containers, algorithms, etc, from Joel de Guzman, Dan Marsden and Tobias Schwinger
                                                  • Packit 58578d
                                                        
                                                  • 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, from Louis Dionne
                                                  • Packit 58578d
                                                        
                                                  • Metaparse - A library for generating compile time parsers parsing embedded DSL code as part of the C++ compilation process, from Abel Sinkovics
                                                  • Packit 58578d
                                                        
                                                  • Mp11 - A C++11 metaprogramming library, from Peter Dimov
                                                  • Packit 58578d
                                                        
                                                  • 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, from Aleksey Gurtovoy
                                                  • Packit 58578d
                                                        
                                                  • Proto - Expression template library and compiler construction toolkit for domain-specific embedded languages, from Eric Niebler
                                                  • Packit 58578d
                                                        
                                                  • Static Assert - Static assertions (compile time assertions), from John Maddock
                                                  • Packit 58578d
                                                        
                                                  • TTI - Type Traits Introspection library, from Edward Diener
                                                  • Packit 58578d
                                                        
                                                  • Type Traits - Templates for fundamental properties of types, from John Maddock, Steve Cleary, et al
                                                  • Packit 58578d
                                                    Packit 58578d
                                                    Packit 58578d

                                                    Miscellaneous

                                                    Packit 58578d
                                                    Packit 58578d
                                                      Packit 58578d
                                                          
                                                    • Conversion - Polymorphic casts, from Dave Abrahams and Kevlin Henney
                                                    • Packit 58578d
                                                          
                                                    • Convert - An extendible and configurable type-conversion framework, from Vladimir Batov
                                                    • Packit 58578d
                                                          
                                                    • Core - A collection of simple core utilities with minimal dependencies, from Peter Dimov, Glen Fernandes and Andrey Semashev
                                                    • Packit 58578d
                                                          
                                                    • Endian - Types and conversion functions for correct byte ordering and more regardless of processor endianness, from Beman Dawes
                                                    • Packit 58578d
                                                          
                                                    • Lexical Cast - General literal text conversions, such as an int represented a string, or vice-versa, from Kevlin Henney
                                                    • Packit 58578d
                                                          
                                                    • Log - Logging library, from Andrey Semashev
                                                    • Packit 58578d
                                                          
                                                    • 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, from Rene Rivera
                                                    • Packit 58578d
                                                          
                                                    • 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, from Vladimir Prus
                                                    • Packit 58578d
                                                          
                                                    • Swap - Enhanced generic swap function, from Joseph Gauterin
                                                    • Packit 58578d
                                                          
                                                    • ThrowException - A common infrastructure for throwing exceptions from Boost libraries, from Emil Dotchevski
                                                    • Packit 58578d
                                                          
                                                    • Timer - Event timer, progress timer, and progress display classes, from Beman Dawes
                                                    • Packit 58578d
                                                          
                                                    • Tribool - 3-state boolean type library, from Doug Gregor
                                                    • Packit 58578d
                                                          
                                                    • Utility - Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom, from Dave Abrahams and others
                                                    • Packit 58578d
                                                          
                                                    • Value Initialized - Wrapper for uniform-syntax value initialization, based on the original idea of David Abrahams, from Fernando Cacciola
                                                    • Packit 58578d
                                                      Packit 58578d
                                                      Packit 58578d
                                                      Packit 58578d

                                                      [Category suggestions from Aleksey Gurtovoy, Beman Dawes and Vicente J. Botet Escribá]

                                                      Packit 58578d
                                                      Packit 58578d

                                                      Packit 58578d
                                                      Packit 58578d

                                                      Libraries Retired from Boost

                                                      Packit 58578d
                                                      Packit 58578d
                                                        Packit 58578d
                                                            
                                                      • compose - Functional composition adapters for the STL,
                                                      • Packit 58578d
                                                                from Nicolai Josuttis.  Removed in Boost version 1.32.
                                                        Packit 58578d
                                                                Please use Bind or 
                                                        Packit 58578d
                                                                href="lambda/index.html">Lambda instead.
                                                        Packit 58578d
                                                        Packit 58578d
                                                        Packit 58578d

                                                        Packit 58578d
                                                        Packit 58578d

                                                        Revised

                                                        Packit 58578d
                                                        Packit 58578d
                                                        s-format="%d %b %Y" startspan -->19 Feb 2015

                                                        Packit 58578d
                                                        Packit 58578d

                                                        © Copyright Beman Dawes 2000-2004

                                                        Packit 58578d

                                                        Distributed under the Boost Software License, Version 1.0.

                                                        Packit 58578d
                                                        (See file LICENSE_1_0.txt
                                                        Packit 58578d
                                                        or www.boost.org/LICENSE_1_0.txt)
                                                        Packit 58578d

                                                        Packit 58578d
                                                        Packit 58578d
                                                        </body>
                                                        Packit 58578d
                                                        </html>