This is joint work with Dr. Bojan Nikolic. This blog is a summary of what boost 1.38 has to offer. The chances are that what you plan to do (in C++) and spend sleepness hours on has already been done by the boost developers.
Here it comes, brace yourself :)
www.boost.org
// 1. Algorithms
Foreach (avoiding boiler-plate iterators)
BGL (Graph library and graph algorithms)
// 2. Data Types and Data Structures
Any (generic heterogeneous data types)
Tuple (modeling multiple values in one class)
// 3. Data Containers
Array (compile-time one-dimensional arrays)
Bimap (bidirectional maps, many-to-many)
Dynamic bitsets (sets of dynamic bits)
Multi-Array (n-dimensional arrays)
Multi-Index (containers with one or more indices)
Property Map (key/value pairs)
Variant (discriminated union container)
Pointer Container (heap polymorphic objects)
// 4. I/O and Networking
Asio (portable networking, sockets)
Serialization (persistence and marshalling)
// 5. Utilities
Smart Ptr (five smart pointer template classes)
// 6. Mathematics and Numerics
Accumulators (statstical and time series)
Integer (type-safe integers)
Interval (operations on mathematical intervals)
Math (GCD, LCM, complex trigonometric functions)
Statistical distributions (~25 univariates)
Numeric Conversion (policy-based)
Random (a complete system for RNG)
Rational (rational number class)
uBlas (matrix/vector; basic linear algebra routines)
// 7. Higher-Order Programming
Bind (framework for function pointers and functors)
Function (function wrappers/deferred callbacks)
Functional (templates for function object wrappers)
Lambda (small unnamed functions)
Signals (the Observer pattern using signals, slots)
Spirit (LL parser defined as EBNF grammars)
// 8. String and Text Processing
Conversion (polymorphic and lexical casts)
Format (formatting according to a format-string)
Regex (regular expression library)
String Algo (string algorithms library)
Tokenizer (break a string into a series of tokens)
Xpressive (regular expressions and functionality)
// 9. Multithreading and Concurrent/Parallel Programming
Interprocess (shared memory, mutexes, memory maps)
MPI (Message Passing Interface, distributed memory)
Thread (potable C++ multi-threading)
// 10. Template and MetaTemplate Progamming
Function Types (classify, decompose and synthesize)
Fusion (library for working with tuples)
// 11. Miscellaneous
Date Time (generic date-time libraries)
Exception (transporting arbitrary data)
Flyweight (large quantities of redundant objects)
Tribool (3-state Boolean type library)
Units (dimensional analysis)
// 12. Correctness and Testing
Concept Check (tools for generic programming)
Test (simple program testing, unit testing)