The SENF Utilities Library

The Utilities Library is a collection of independent utilities.

C++ Language helpers and library extensions

Bound Member Functions a simple Boost.Bind extension
Template meta programming helpers Some simple tools which help to solve common meta-programming tasks
Preprocessor meta programming Extensions to the Boost.Preprocessor library
Type traits Extensions to the Boost.TypeTraits library
Boost.Parameter utilities Utilities concerning the Boost.Parameter library
Boost.Phoenix extensions Phoenix functors

Mixin classes

intrusive_refcount mixin to simplify writing classes for use with boost::intrusive_ptr
safe_bool a mixin class to provide a really safe replacement for operator bool
singleton mixin to make a class a singleton

Memory Management

SENF_SCOPED_BUFFER a portable way to efficiently allocate temporary buffers
pool_alloc_mixin mixin to provide pool allocation to a class
contiguous_storage_iterator traits class to check iterator type for raw pointer accessibility

C++ Type interface

prettyName() an interface to the C++ demangler of g++ to get formated type names from typeinfo objects
TypeIdValue class wrapping a typeid in a way that it can be used like any other value type, e.g. as the key in a map.

Miscellaneous

Exception classes standard exception for system errors (errno)
Statistics statistics functionality
hexdump a simple but usefull function to write binary data in in hexadecimal format.
IpChecksum calculating the 16 bit checksum used in the IP specification
Type tags Miscellaneous type tags
stringJoin() Utility to join a string range into a single string (with separator)
make_transform_range() boost::make_transform_iterator() with support for ranges
Backtrace formatting and parsing Utilities to parse and format backtrace information as provided by the GNU libc
signalName() convert signal number to string representation
Formating iostream formating helpers for extended formats

Correctness and testing

auto_unit_test.hh Boost auto unit test compatibility across Boost versions 1.33 and 1.34
SENF_ASSERT() SENF specific assertion macro
Boost.Test extensions Additional unit test extension for Boost.Test