407bd9ea733ae0ccfe64b1e7393b5218e6589ad0
[senf.git] / senf / Utils / Mainpage.dox
1 // $Id$
2 //
3 // Copyright (C) 2007
4 // Fraunhofer Institute for Open Communication Systems (FOKUS)
5 // Competence Center NETwork research (NET), St. Augustin, GERMANY
6 //     Stefan Bund <g0dil@berlios.de>
7 //
8 // This program is free software; you can redistribute it and/or modify
9 // it under the terms of the GNU General Public License as published by
10 // the Free Software Foundation; either version 2 of the License, or
11 // (at your option) any later version.
12 //
13 // This program is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 // GNU General Public License for more details.
17 //
18 // You should have received a copy of the GNU General Public License
19 // along with this program; if not, write to the
20 // Free Software Foundation, Inc.,
21 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22
23 namespace senf {
24
25 /** \mainpage The SENF Utilities Library
26
27     The Utilities Library is a collection of independent utilities.
28
29
30     \section basic_helpers C++ Language helpers and library extensions
31
32     <table class="listing">
33     <tr><td>\ref membind</td><td>a simple <a
34     href="http://www.boost.org/doc/libs/release/libs/bind/bind.html">Boost.Bind</a> extension</td></tr>
35
36     <tr><td>\ref senfmpl</td><td>Some simple tools which help to solve common meta-programming
37     tasks</td></tr>
38
39     <tr><td>\ref senfpp</td><td>Extensions to the <a
40     href="http://www.boost.org/doc/libs/release/libs/preprocessor/doc/index.html">Boost.Preprocessor</a>
41     library</td></tr>
42
43     <tr><td>\ref typetraits</td><td>Extensions to the <a
44     href="http://www.boost.org/doc/libs/release/libs/type_traits/index.html">Boost.TypeTraits</a>
45     library</td></tr>
46
47     <tr><td>\ref boost_parameter</td><td>Utilities concerning the <a
48     href="http://www.boost.org/doc/libs/release/libs/parameter/doc/html/index.html">Boost.Parameter</a>
49     library</td></tr>
50
51     <tr><td>\ref phoenix_helpers</td><td>Phoenix functors</td></tr>
52     </table>
53
54
55     \section basic_mixins Mixin classes
56
57     <table class="listing">
58     <tr><td>\ref intrusive_refcount</td><td>mixin to simplify writing classes for use with <a
59     href="http://www.boost.org/doc/libs/release/libs/smart_ptr/intrusive_ptr.html">boost::intrusive_ptr</a></td></tr>
60
61     <tr><td>\ref safe_bool</td><td>a mixin class to provide a really safe replacement for
62     <tt>operator bool</tt>
63
64     <tr><td>\ref singleton</td><td>mixin to make a class a singleton</td></tr>
65     </table>
66
67
68     \section memory_management Memory Management
69
70     <table class="listing">
71     <tr><td>\ref SENF_SCOPED_BUFFER</td><td>a portable way to efficiently allocate temporary
72     buffers</td></tr>
73
74     <tr><td>\ref pool_alloc_mixin</td><td>mixin to provide pool allocation to a class</td></tr>
75
76     <tr><td>\ref contiguous_storage_iterator</td><td>traits class to check iterator type for raw
77     pointer accessibility</td></tr>
78     </table>
79
80
81     \section typeinfo C++ Type interface
82
83     <table class="listing">
84     <tr><td>\ref prettyName()</td><td>an interface to the C++ demangler of g++ to get formated type
85     names from typeinfo objects</td></tr>
86
87     <tr><td>\ref TypeIdValue</td><td>class wrapping a typeid in a way that it can be used like any
88     other value type, e.g. as the key in a map.</td></tr>
89     </table>
90
91
92     \section miscstuff Miscellaneous
93
94     <table class="listing">
95     <tr><td>\ref exception</td><td>standard exception for system errors (errno)</td></tr>
96
97     <tr><td>\ref senf_statistics</td><td>statistics functionality</td></tr>
98
99     <tr><td>\ref hexdump</td><td>a simple but usefull function to write binary data in in
100     hexadecimal format.</td></tr>
101
102     <tr><td>\ref IpChecksum</td><td>calculating the 16 bit checksum used in the IP
103     specification</td></tr>
104
105     <tr><td>\ref utils_tags</td><td>Miscellaneous type tags</td></tr>
106
107     <tr><td>stringJoin()</td><td>Utility to join a string range into
108     a single string (with separator)</td></tr>
109
110     <tr><td>make_transform_range()</td><td>\c boost::make_transform_iterator() with support for
111     ranges</td></tr>
112
113     <tr><td>\ref backtraces</td><td>Utilities to parse and format backtrace information as provided
114     by the GNU libc</td></tr>
115
116     <tr><td>signalName()</td><td>convert signal number to string representation</td></tr>
117
118     <tr><td>\ref senf_utils_format</td><td>\c iostream formating helpers for extended
119     formats</td></tr>
120     </table>
121
122
123     \section testing Correctness and testing
124
125     <table class="listing">
126     <tr><td>\ref auto_unit_test.hh</td><td>Boost auto unit test compatibility across Boost versions
127     1.33 and 1.34</td></tr>
128
129     <tr><td>\ref SENF_ASSERT()</td><td>SENF specific assertion macro</td></tr>
130
131     <tr><td>\ref unittest</td><td>Additional unit test extension for Boost.Test</td></tr>
132     </table>
133  */
134
135 }
136
137 \f
138 // Local Variables:
139 // mode: c++
140 // fill-column: 100
141 // c-file-style: "senf"
142 // indent-tabs-mode: nil
143 // ispell-local-dictionary: "american"
144 // mode: auto-fill
145 // End: