rutz Directory Reference

basic utilities: strings, smart pointers, containers, debugging, tracing, profiling, i/o More...

src/rutz/

Files

file  abort.cc [code]
file  abort.h [code]
file  algo.h [code]
file  arrays.h [code]
file  arrayvalue.h [code]
file  assocarray.cc [code]
file  assocarray.h [code]
file  atomic.h [code]
file  atomic_darwin.h [code]
file  atomic_ix86.h [code]
file  atomic_mutex.h [code]
file  atomic_unsafe.h [code]
file  backtrace.cc [code]
file  backtrace.h [code]
file  backtraceformat.cc [code]
file  backtraceformat.h [code]
file  base64.cc [code]
file  base64.h [code]
file  bytearray.h [code]
file  bzip2stream.cc [code]
file  bzip2stream.h [code]
file  circular_queue.h [code]
file  compat_cmath.cc [code]
file  compat_cmath.h [code]
file  compat_snprintf.h [code]
file  cstrstream.cc [code]
file  cstrstream.h [code]
file  debug.cc [code]
file  debug.h [code]
file  demangle.cc [code]
file  demangle.h [code]
file  demangle_cxxfilt.h [code]
file  demangle_gcc_v2.h [code]
file  demangle_gcc_v3.h [code]
file  error.cc [code]
file  error.h [code]
file  error_context.cc [code]
file  error_context.h [code]
file  factory.cc [code]
file  factory.h [code]
file  fileposition.h [code]
file  freelist.cc [code]
file  freelist.h [code]
file  fstring.cc [code]
file  fstring.h [code]
file  functors.h [code]
file  gzstreambuf.cc [code]
file  gzstreambuf.h [code]
file  ioerror.cc [code]
file  ioerror.h [code]
file  iter.cc [code]
file  iter.h [code]
file  mappedfile.cc [code]
file  mappedfile.h [code]
file  multivalue.cc [code]
file  multivalue.h [code]
file  mutex.cc [code]
file  mutex.h [code]
file  pipe.cc [code]
file  pipe.h [code]
file  prof.cc [code]
file  prof.h [code]
file  rand.cc [code]
file  rand.h [code]
file  README.dxy [code]
file  scopedptr.h [code]
file  serialport.cc [code]
file  serialport.h [code]
file  sfmt.cc [code]
file  sfmt.h [code]
file  shared_ptr.cc [code]
file  shared_ptr.h [code]
file  spin_lock.h [code]
file  spin_lock_darwin.h [code]
file  spin_lock_pthreads.cc [code]
file  spin_lock_pthreads.h [code]
file  staticstack.h [code]
file  stderror.cc [code]
file  stderror.h [code]
file  stdiobuf.cc [code]
file  stdiobuf.h [code]
file  stopwatch.h [code]
file  time.cc [code]
file  time.h [code]
file  timeformat.cc [code]
file  timeformat.h [code]
file  trace.cc [code]
file  trace.h [code]
file  tracer.h [code]
file  traits.h [code]
file  unittest.h [code]
file  unixcall.cc [code]
file  unixcall.h [code]
file  value.cc [code]
file  value.h [code]

Detailed Description

basic utilities: strings, smart pointers, containers, debugging, tracing, profiling, i/o

src/rutz offers a range of low-level basic utilities, many of which can be seen as extensions of, or alternatives to, components from the c++ standard library. For example, rutz::fstring is similar to std::string in encapsulating memory-management of c-style strings, but whereas std::string is a template with everything inline (causing slow compile times), rutz::fstring is a non-template, with only efficiency-critical functions inlined. This makes rutz::fstring much less of a compile-time drain than std::string, although naturally it has fewer features than std::string. Nevertheless, in a vast majority of use cases, only basic string features are needed, and in these cases rutz::fstring suffices; in the few cases where more sophisticated processing is required, then std::string can be used and optionally translated back to a rutz::fstring.

Similarly, there are a number of stl-style containers that provide extremely lightweight alternatives to std::vector, yet still offer exception-safe automatic memory management: rutz::static_stack, rutz::static_block, rutz::fixed_block, rutz::shared_array, rutz::dynamic_block.

There are a number of facilities for debugging, tracing, and profiling; these are to be found in rutz/abort.h, rutz/backtrace.h, rutz/debug.h, rutz/prof.h, and rutz/trace.h.

There a few extensions to c++ std library i/o, including rutz::gzstreambuf which encapsulated gzip-encoded streams and rutz::imemstream and rutz::icstrstream which read from in-memory strings, like std::stringstream but much more lightweight both in run time and in compile time.


The software described here is Copyright (c) 1998-2005, Rob Peters.
This page was generated Wed Dec 3 06:56:54 2008 by Doxygen version 1.5.5.