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 extensionsPhoenix 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

singletonmixin 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_iteratortraits class to check iterator type for raw pointer accessibility

C++ Type interface

prettyName()

an interface to the C++ demangler of g++ to get formatted type names from typeinfo objects

TypeIdValueclass 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 useful 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

Formatingiostream 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 extensionsAdditional unit test extension for Boost.Test