
Tobias Schwinger wrote:
OK, here's how I would structure what Boost's all about for someone who's new to it:
- components that are direct add-ons to the standard library Array, CompressedPair, DynamicBitset, IO State Savers, Iterators and MultiArray
- components that deal with functors Bind, Function, Functional, Lambda and Phoenix (currently part of Spirit)
- components that refine concepts that originally came from C Any, Optional and Variant
- components that provide abstractions for OS facilities Filesystem, Thread and Timer
- components that address typical programming problems Crc, MultiIndex, Pool, ProgramOptions and Serialization
- components for text processing Lexical Cast, Regex, Spirit, StringAlgo, Tokenizer and XPressive
- components that address mathematical problems everything under boost/math, Graph, Interval, MinMax, Random, Rational, TriBool and uBLAS
- components in the domain of programming languages Python and Wave
- utilities everything under boost/utility, InPlaceFactory, Ref SmartPtr and ValueInitialized
- components for addding syntactic sugar Assign, Format, Operators, Parameter and Range (well, sort of)
- components for generic programming / metaprogramming CallTraits, Concept Check, Enable If, MPL, Preprocessor, StaticAssert, Tuple and TypeTraits
- components for portability- and quality assurance Test, Config, Compatiblity and Integer
.
Not perfect, but it's a start.
I like your list. It's a novel way of grouping the libraries compared to both mine and the existing categories, and I wonder if it might be worth including as its own page, but it's not really what I'm trying to do here. I've avoided the word "selling", but this is really what the page is about. I'm not trying to sell the libraries (I think they can sell themselves), but I am trying to sell people on the idea that it's worth their time to read more about them. Looking only at the descriptions, the only one that really does that for me is "components that address typical programming problems".