README.dxy

00001 /** \dir src/rutz
00002 
00003    \brief basic utilities: strings, smart pointers, containers, debugging, tracing, profiling, i/o
00004 
00005    src/rutz offers a range of low-level basic utilities, many of which
00006    can be seen as extensions of, or alternatives to, components from
00007    the c++ standard library. For example, rutz::fstring is similar to
00008    std::string in encapsulating memory-management of c-style strings,
00009    but whereas std::string is a template with everything inline
00010    (causing slow compile times), rutz::fstring is a non-template, with
00011    only efficiency-critical functions inlined. This makes
00012    rutz::fstring much less of a compile-time drain than std::string,
00013    although naturally it has fewer features than
00014    std::string. Nevertheless, in a vast majority of use cases, only
00015    basic string features are needed, and in these cases rutz::fstring
00016    suffices; in the few cases where more sophisticated processing is
00017    required, then std::string can be used and optionally translated
00018    back to a rutz::fstring.
00019 
00020    Similarly, there are a number of stl-style containers that provide
00021    extremely lightweight alternatives to std::vector, yet still offer
00022    exception-safe automatic memory management: rutz::static_stack,
00023    rutz::static_block, rutz::fixed_block, rutz::shared_array,
00024    rutz::dynamic_block.
00025 
00026    There are a number of facilities for debugging, tracing, and
00027    profiling; these are to be found in rutz/abort.h, rutz/backtrace.h,
00028    rutz/debug.h, rutz/prof.h, and rutz/trace.h.
00029 
00030    There a few extensions to c++ std library i/o, including
00031    rutz::gzstreambuf which encapsulated gzip-encoded streams and
00032    rutz::imemstream and rutz::icstrstream which read from in-memory
00033    strings, like std::stringstream but much more lightweight both in
00034    run time and in compile time.
00035 
00036 */
00037 
00038 ///////////////////////////////////////////////////////////////////////
00039 //
00040 // Copyright (c) 1998-2005
00041 // Rob Peters <rjpeters at usc dot edu>
00042 //
00043 // created: Wed Jul  6 14:08:39 PDT 2005
00044 // commit: $Id: README.dxy 4830 2005-07-06 21:50:21Z rjpeters $
00045 // $HeadURL: svn://isvn.usc.edu/software/invt/trunk/saliency/src/rutz/README.dxy $
00046 //
00047 // --------------------------------------------------------------------
00048 //
00049 // This file is part of GroovX.
00050 //   [http://ilab.usc.edu/rjpeters/groovx/]
00051 //
00052 // GroovX is free software; you can redistribute it and/or modify it
00053 // under the terms of the GNU General Public License as published by
00054 // the Free Software Foundation; either version 2 of the License, or
00055 // (at your option) any later version.
00056 //
00057 // GroovX is distributed in the hope that it will be useful, but
00058 // WITHOUT ANY WARRANTY; without even the implied warranty of
00059 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00060 // General Public License for more details.
00061 //
00062 // You should have received a copy of the GNU General Public License
00063 // along with GroovX; if not, write to the Free Software Foundation,
00064 // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
00065 //
00066 ///////////////////////////////////////////////////////////////////////
Generated on Sun May 8 08:40:07 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3