4 // Fraunhofer Institute for Open Communication Systems (FOKUS)
6 // The contents of this file are subject to the Fraunhofer FOKUS Public License
7 // Version 1.0 (the "License"); you may not use this file except in compliance
8 // with the License. You may obtain a copy of the License at
9 // http://senf.berlios.de/license.html
11 // The Fraunhofer FOKUS Public License Version 1.0 is based on,
12 // but modifies the Mozilla Public License Version 1.1.
13 // See the full license text for the amendments.
15 // Software distributed under the License is distributed on an "AS IS" basis,
16 // WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
17 // for the specific language governing rights and limitations under the License.
19 // The Original Code is Fraunhofer FOKUS code.
21 // The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V.
22 // (registered association), Hansastraße 27 c, 80686 Munich, Germany.
25 // Stefan Bund <g0dil@berlios.de>
30 /** \mainpage The SENF Utilities Library
32 The Utilities Library is a collection of independent utilities.
35 \section basic_helpers C++ Language helpers and library extensions
37 <table class="listing">
38 <tr><td>\ref membind</td><td>a simple <a
39 href="http://www.boost.org/doc/libs/release/libs/bind/bind.html">Boost.Bind</a> extension</td></tr>
41 <tr><td>\ref senfmpl</td><td>Some simple tools which help to solve common meta-programming
44 <tr><td>\ref senfpp</td><td>Extensions to the <a
45 href="http://www.boost.org/doc/libs/release/libs/preprocessor/doc/index.html">Boost.Preprocessor</a>
48 <tr><td>\ref typetraits</td><td>Extensions to the <a
49 href="http://www.boost.org/doc/libs/release/libs/type_traits/index.html">Boost.TypeTraits</a>
52 <tr><td>\ref boost_parameter</td><td>Utilities concerning the <a
53 href="http://www.boost.org/doc/libs/release/libs/parameter/doc/html/index.html">Boost.Parameter</a>
56 <tr><td>\ref phoenix_helpers</td><td>Phoenix functors</td></tr>
60 \section basic_mixins Mixin classes
62 <table class="listing">
63 <tr><td>\ref intrusive_refcount</td><td>mixin to simplify writing classes for use with <a
64 href="http://www.boost.org/doc/libs/release/libs/smart_ptr/intrusive_ptr.html">boost::intrusive_ptr</a></td></tr>
66 <tr><td>\ref safe_bool</td><td>a mixin class to provide a really safe replacement for
67 <tt>operator bool</tt>
69 <tr><td>\ref singleton</td><td>mixin to make a class a singleton</td></tr>
73 \section memory_management Memory Management
75 <table class="listing">
76 <tr><td>\ref SENF_SCOPED_BUFFER</td><td>a portable way to efficiently allocate temporary
79 <tr><td>\ref pool_alloc_mixin</td><td>mixin to provide pool allocation to a class</td></tr>
81 <tr><td>\ref contiguous_storage_iterator</td><td>traits class to check iterator type for raw
82 pointer accessibility</td></tr>
86 \section typeinfo C++ Type interface
88 <table class="listing">
89 <tr><td>\ref prettyName()</td><td>an interface to the C++ demangler of g++ to get formated type
90 names from typeinfo objects</td></tr>
92 <tr><td>\ref TypeIdValue</td><td>class wrapping a typeid in a way that it can be used like any
93 other value type, e.g. as the key in a map.</td></tr>
97 \section miscstuff Miscellaneous
99 <table class="listing">
100 <tr><td>\ref exception</td><td>standard exception for system errors (errno)</td></tr>
102 <tr><td>\ref senf_statistics</td><td>statistics functionality</td></tr>
104 <tr><td>\ref hexdump</td><td>a simple but usefull function to write binary data in in
105 hexadecimal format.</td></tr>
107 <tr><td>\ref IpChecksum</td><td>calculating the 16 bit checksum used in the IP
108 specification</td></tr>
110 <tr><td>\ref utils_tags</td><td>Miscellaneous type tags</td></tr>
112 <tr><td>stringJoin()</td><td>Utility to join a string range into
113 a single string (with separator)</td></tr>
115 <tr><td>make_transform_range()</td><td>\c boost::make_transform_iterator() with support for
118 <tr><td>\ref backtraces</td><td>Utilities to parse and format backtrace information as provided
119 by the GNU libc</td></tr>
121 <tr><td>signalName()</td><td>convert signal number to string representation</td></tr>
123 <tr><td>\ref senf_utils_format</td><td>\c iostream formating helpers for extended
128 \section testing Correctness and testing
130 <table class="listing">
131 <tr><td>\ref auto_unit_test.hh</td><td>Boost auto unit test compatibility across Boost versions
132 1.33 and 1.34</td></tr>
134 <tr><td>\ref SENF_ASSERT()</td><td>SENF specific assertion macro</td></tr>
136 <tr><td>\ref unittest</td><td>Additional unit test extension for Boost.Test</td></tr>
146 // c-file-style: "senf"
147 // indent-tabs-mode: nil
148 // ispell-local-dictionary: "american"