// $Id$ // // Copyright (C) 2007 // Fraunhofer Institute for Open Communication Systems (FOKUS) // // The contents of this file are subject to the Fraunhofer FOKUS Public License // Version 1.0 (the "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // http://senf.berlios.de/license.html // // The Fraunhofer FOKUS Public License Version 1.0 is based on, // but modifies the Mozilla Public License Version 1.1. // See the full license text for the amendments. // // Software distributed under the License is distributed on an "AS IS" basis, // WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License // for the specific language governing rights and limitations under the License. // // The Original Code is Fraunhofer FOKUS code. // // The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V. // (registered association), Hansastraße 27 c, 80686 Munich, Germany. // // Contributor(s): // Stefan Bund namespace senf { /** \mainpage The SENF Utilities Library The Utilities Library is a collection of independent utilities. \section basic_helpers C++ Language helpers and library extensions
\ref membinda simple Boost.Bind extension
\ref senfmplSome simple tools which help to solve common meta-programming tasks
\ref senfppExtensions to the Boost.Preprocessor library
\ref typetraitsExtensions to the Boost.TypeTraits library
\ref boost_parameterUtilities concerning the Boost.Parameter library
\ref phoenix_helpersPhoenix functors
\section basic_mixins Mixin classes
\ref intrusive_refcountmixin to simplify writing classes for use with boost::intrusive_ptr
\ref safe_boola mixin class to provide a really safe replacement for operator bool
\ref singletonmixin to make a class a singleton
\section memory_management Memory Management
\ref SENF_SCOPED_BUFFERa portable way to efficiently allocate temporary buffers
\ref pool_alloc_mixinmixin to provide pool allocation to a class
\ref contiguous_storage_iteratortraits class to check iterator type for raw pointer accessibility
\section typeinfo C++ Type interface
\ref prettyName()an interface to the C++ demangler of g++ to get formated type names from typeinfo objects
\ref 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.
\section miscstuff Miscellaneous
\ref exceptionstandard exception for system errors (errno)
\ref senf_statisticsstatistics functionality
\ref hexdumpa simple but usefull function to write binary data in in hexadecimal format.
\ref IpChecksumcalculating the 16 bit checksum used in the IP specification
\ref utils_tagsMiscellaneous type tags
stringJoin()Utility to join a string range into a single string (with separator)
make_transform_range()\c boost::make_transform_iterator() with support for ranges
\ref backtracesUtilities to parse and format backtrace information as provided by the GNU libc
signalName()convert signal number to string representation
\ref senf_utils_format\c iostream formating helpers for extended formats
\section testing Correctness and testing
\ref auto_unit_test.hhBoost auto unit test compatibility across Boost versions 1.33 and 1.34
\ref SENF_ASSERT()SENF specific assertion macro
\ref unittestAdditional unit test extension for Boost.Test
*/ } // Local Variables: // mode: c++ // fill-column: 100 // c-file-style: "senf" // indent-tabs-mode: nil // ispell-local-dictionary: "american" // mode: auto-fill // End: