switch to new MPL based Fraunhofer FOKUS Public License
[senf.git] / senf / Utils / Mainpage.dox
1 // $Id$
2 //
3 // Copyright (C) 2007
4 // Fraunhofer Institute for Open Communication Systems (FOKUS)
5 //
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
10 //
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.
14 //
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.
18 //
19 // The Original Code is Fraunhofer FOKUS code.
20 //
21 // The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V. 
22 // (registered association), Hansastraße 27 c, 80686 Munich, Germany.
23 //
24 // Contributor(s):
25 //   Stefan Bund <g0dil@berlios.de>
26
27
28 namespace senf {
29
30 /** \mainpage The SENF Utilities Library
31
32     The Utilities Library is a collection of independent utilities.
33
34
35     \section basic_helpers C++ Language helpers and library extensions
36
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>
40
41     <tr><td>\ref senfmpl</td><td>Some simple tools which help to solve common meta-programming
42     tasks</td></tr>
43
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>
46     library</td></tr>
47
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>
50     library</td></tr>
51
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>
54     library</td></tr>
55
56     <tr><td>\ref phoenix_helpers</td><td>Phoenix functors</td></tr>
57     </table>
58
59
60     \section basic_mixins Mixin classes
61
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>
65
66     <tr><td>\ref safe_bool</td><td>a mixin class to provide a really safe replacement for
67     <tt>operator bool</tt>
68
69     <tr><td>\ref singleton</td><td>mixin to make a class a singleton</td></tr>
70     </table>
71
72
73     \section memory_management Memory Management
74
75     <table class="listing">
76     <tr><td>\ref SENF_SCOPED_BUFFER</td><td>a portable way to efficiently allocate temporary
77     buffers</td></tr>
78
79     <tr><td>\ref pool_alloc_mixin</td><td>mixin to provide pool allocation to a class</td></tr>
80
81     <tr><td>\ref contiguous_storage_iterator</td><td>traits class to check iterator type for raw
82     pointer accessibility</td></tr>
83     </table>
84
85
86     \section typeinfo C++ Type interface
87
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>
91
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>
94     </table>
95
96
97     \section miscstuff Miscellaneous
98
99     <table class="listing">
100     <tr><td>\ref exception</td><td>standard exception for system errors (errno)</td></tr>
101
102     <tr><td>\ref senf_statistics</td><td>statistics functionality</td></tr>
103
104     <tr><td>\ref hexdump</td><td>a simple but usefull function to write binary data in in
105     hexadecimal format.</td></tr>
106
107     <tr><td>\ref IpChecksum</td><td>calculating the 16 bit checksum used in the IP
108     specification</td></tr>
109
110     <tr><td>\ref utils_tags</td><td>Miscellaneous type tags</td></tr>
111
112     <tr><td>stringJoin()</td><td>Utility to join a string range into
113     a single string (with separator)</td></tr>
114
115     <tr><td>make_transform_range()</td><td>\c boost::make_transform_iterator() with support for
116     ranges</td></tr>
117
118     <tr><td>\ref backtraces</td><td>Utilities to parse and format backtrace information as provided
119     by the GNU libc</td></tr>
120
121     <tr><td>signalName()</td><td>convert signal number to string representation</td></tr>
122
123     <tr><td>\ref senf_utils_format</td><td>\c iostream formating helpers for extended
124     formats</td></tr>
125     </table>
126
127
128     \section testing Correctness and testing
129
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>
133
134     <tr><td>\ref SENF_ASSERT()</td><td>SENF specific assertion macro</td></tr>
135
136     <tr><td>\ref unittest</td><td>Additional unit test extension for Boost.Test</td></tr>
137     </table>
138  */
139
140 }
141
142 \f
143 // Local Variables:
144 // mode: c++
145 // fill-column: 100
146 // c-file-style: "senf"
147 // indent-tabs-mode: nil
148 // ispell-local-dictionary: "american"
149 // mode: auto-fill
150 // End: