Libc++utils

A library of useful classes for writing taps in c++ available from berlios. Written largely by Simon Capewell and Robin Glover. Classes available include

  • string - a simple string implementation a bit like std::string
  • array - a templatized array class, similar to std::vector
  • map - a red-black tree based templatized map class
  • IniFile - simple handling of ini files with an easy to use interface
  • EPGdata, EPGchannel, EPGevent - classes for holding EPG information
  • MEIreader - a class to populate the EPG classes from an MEI (MyStuff Extended Info) file
  • Logger - a logging class that can log to rs232, screen and file
  • PackedDateTime, TimeSlot - utility classes covering MJD based date times and timespans
  • Channels, Timer, Timers - abstraction of the API for Timers and Channel information
  • Globals - singleton that hangs onto a copy of the EPGdata and other common information for your TAP
  • Options, Option, YesNoOption, NumericOption, KeyOption, OptionUpdateNotifier & Derived classes - along with OptionsPage & OptionListItem in the framework library provide an easy way to allow users to configure your tap.
Note that vtable.cpp contains code needed to adjust vtable contents which are not properly adjusted to account for the tap base address when the TAP loads. This file also contains implementations for operator new and operator delete that are missing/broken in libtap.a. The implementations are in terms of dlmalloc in libutils? to avoid the poor performance of TAP_MemAlloc.