CFHT HOME Classes of libCFHT++


up: Back to Software Index
libCFHT++ is mostly just a subset of code straight out of GNU's libg++, and Classes generated from libg++ templates (using the genclass utility). Here's a list of the files (just a dump of pegasus/libCFHT++/Index).
  Makefile		GNU Makefile for libCFHT++

  ArgVal.hh		A Class which auto-converts between int/float/string
  ArgVal.cc		See ArgVal.hh

  ArgMap-gen.diff	ArgMap has a few diffs from the template gen'd output

  ArgMap.hh		Additional functionality for String/ArgVal pair class
  ArgMap.cc		See ArgMap.hh

  ArgMap_env.cc		Routines to read/save ArgMaps to enviroment variables
  ArgMap_opt.cc		Routines to read/save ArgMaps to command line opts
  ArgMap_stream.cc	Routines to read/save ArgMaps to various text formats

  File.hh		Class that locates files, determines permissions, etc
  File.cc		See File.hh

  Directory.hh		Array of File objects, indexed by name (Strings)
 
  Glob.h		Class for filename globbing (matches *'s and ?'s)

  LogStream.hh		Stream for log message writing (wrapper for cfht_log)
  LogStream.cc		See LogStream.hh

  ProcInfo.hh		Calculates rough profiling and changes ps-name
  ProcInfo.cc		See ProcInfo.hh

  SignalCatcher.hh	Class to help set up signal handlers
  SignalCatcher.cc	See SignalCatcher.hh

  date_util.hh		RFC Date generator and comparator
  date_util.cc		See date_util.hh

  str_util.hh		General functions for altering/parsing strings
  str_util.cc		See str_util.hh

  std_defs.hh		Commonly needed define's and hacks

  StrBuf.hh		A wrapper for strstream to use it as a buffer

  cygwin32.c		Hack to suppress some cygwin b18 warnings

# ------------------------------------------------------------------------

  std.h				(Copied straight from libg++-2.7.2.1)
  builtin.h			(Copied straight from libg++-2.7.2.1)
  Pix.h				(Copied straight from libg++-2.7.2.1)
  String.h			(Copied straight from libg++-2.7.2.1)
  String.cc			(Copied straight from libg++-2.7.2.1)
  String.defs.h			(Copied straight from libg++-2.7.2.1)
  fnmatch.c			(Copied straight from GNU software)
  fnmatch.h			(Copied straight from GNU software)

  ArgKey.defs.h			(Auto-generated from GNU templates)

  ArgKey.ArgVal.Map.cc		(Auto-generated from GNU templates)
  ArgKey.ArgVal.Map.h.orig	(Auto-generated from GNU templates)
  ArgKey.ArgVal.Map.h		(Patched according to ArgMap-gen.diff)

  ArgKey.ArgVal.AVLMap.cc	(Auto-generated from GNU templates)
  ArgKey.ArgVal.AVLMap.h.orig	(Auto-generated from GNU templates)
  ArgKey.ArgVal.AVLMap.h	(Patched according to ArgMap-gen.diff)

  ArgKey.ArgMap.Map.cc		(Auto-generated from GNU templates)
  ArgKey.ArgMap.Map.h.orig	(Auto-generated from GNU templates)
  ArgKey.ArgMap.Map.h		(Patched according to ArgMap-gen.diff)

  ArgKey.ArgMap.AVLMap.cc	(Auto-generated from GNU templates)
  ArgKey.ArgMap.AVLMap.h.orig	(Auto-generated from GNU templates)
  ArgKey.ArgMap.AVLMap.h	(Patched according to ArgMap-gen.diff)

  String.File.AVLMap.cc		(Auto-generated from GNU templates)
  String.File.AVLMap.h		(Auto-generated from GNU templates)
  String.File.Map.cc		(Auto-generated from GNU templates)
  String.File.Map.h.orig	(Auto-generated from GNU templates)
  String.File.Map.h		(Patched according to ArgMap-gen.diff)
The main class that needs extra documentation here is ``ArgMap''. ArgMap is a general class for storing anything that has the form "name=value" in a data structure for C++. There is very little original code here, because the type was built from pieces provided by the folks at the FSF. The Gnu info pages contain most of the information about how the data types behave. Refer to them here, or use "M-x info" inside emacs.

ArgMaps

Relevant Gnu info pages


Sidik Isani, isani@cfht.hawaii.edu