Boost logo

Boost :

Subject: [boost] Library categories
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2011-11-03 16:54:57


Hi,

I was wondering if we can add other categories to the library catalog
(http://www.boost.org/users/history/version_1_47_0.html).

Here is a proposal

Best,
Vicente

Domain Specific

     crc - Cyclic Redundancy Code, from Daryle Walker.
     units - Zero-overhead dimensional analysis and unit/quantity
manipulation and conversion, from Matthias Schabel and Steven Watanabe.
     uuid - A universally unique identifier, from Andy Tompkins.

Idioms

     base-from-member - Idiom to initialize a base class with a member,
from Daryle Walker.
     compressed_pair - Empty member optimization, from John Maddock,
Howard Hinnant, et al.

Language Emulation: these are libraries are emulating a missing language
feature

     exception - A library for transporting of arbitrary data in
exception objects, and transporting of exceptions between threads
(N2179), from Emil Dotchevski.
     move - Portable move semantics for C++03 and C++1 compilers, from
Ion Gaztañaga
     scope_exit - Execute arbitrary code at scope exit, from Alexander
Nasonov.
     typeof - Typeof operator emulation, from Arkadiy Vertleyb and Peder
Holt.

Patterns: libraries that implement a known pattern

     flyweight - Design pattern to manage large quantities of highly
redundant objects, from Joaquín M López Muñoz.
     signals - managed signals & slots callback implementation, from
Doug Gregor.
     signals2 - managed signals & slots callback implementation
(thread-safe version 2), from Frank Mori Hess.

State Machines

     meta state machine - High-performance expressive UML 2.0 finite
state machines, from Christophe Henry.
     statechart - Arbitrarily complex finite state machines can be
implemented in easily readable and maintainable C++ code, from Andreas
Huber.

System: libraries that are close to the underlying system

     chrono - Useful time utilities, from Howard Hinnant, Beman Dawes,
Vicente J. Botet Escribá.
     date_time - Date-Time library from Jeff Garland.
     filesystem - Portable paths, iteration over directories, and other
useful filesystem operations, from Beman Dawes.
     system - Operating system support, including the diagnostics
support that will be part of the C++0x standard library, from Beman Dawes.

I would add also the following to exixting categories
Data structures

     optional - Discriminated-union wrapper for optional values, from
Fernando Cacciola.
     tribool - 3-state boolean type library, from Doug Gregor.

I have no suggestion for the following, so we can maintain them in
Miscellaneous

     conversion - Polymorphic and lexical casts, from Dave Abrahams and
Kevlin Henney.
     swap - Enhanced generic swap function, from Joseph Gauterin.
     timer - Event timer, progress timer, and progress display classes,
from Beman Dawes.
     TR1 - An implementation of the Technical Report on C++ Library
Extensions, using other Boost libraries as a basis, from John Maddock.
     utility - Class noncopyable plus checked_delete(),
checked_array_delete(), next(), prior() function templates, plus
base-from-member idiom, from Dave Abrahams and others.
     value_initialized - Wrapper for uniform-syntax value
initialization, from Fernando Cacciola, based on the original idea of
David Abrahams.

The following libraries are already in another category

     lexical_cast - General literal text conversions, such as an int
represented as a string, or vice-versa, from Kevlin Henney.
     numeric/conversion - Optimized Policy-based Numeric Conversions,
from Fernando Cacciola.
     program_options - Access to configuration data given on command
line, in config files and other sources, from Vladimir Prus.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk