CVS Log for include/HashFunc.hh,v



head 1.1;

Version 1.1
@Initial implementation of RATDB, a database of parameters. (To be used for holding all the physical constants, switches, tunable parameters, etc. in RAT.) Advantages over GLG4param: * Split parameter namespace into two levels, tables and fields, for easier organization of large amounts of data. * Parameters can be integers, floats, doubles, strings, and arbitrary length arrays of the same types. Integers can be input in hexadecimal notation. * Ability for users to override some default parameters by loading their own files or setting individual parameters. * API designed with the intention of growing the implementation into a more complete database system with data validity ranges (parameters that change over time) and a SQL backend if the need should arise someday. This version includes the text backend, which allows parameters to be stored in a human-readable text file format inspired by, but not compliant with, JSON. The in-memory storage uses a hash table implementation from STL+ 2.3 and a string hashing algorithm from Python 2.4.1. (Why wasn't STL designed with this in the first place?!) Lots of STL+ classes came along for the ride, and they may be useful in the future. Also included are unit tests for the text parser and database API. All tests pass on Mac OS X+gcc 4.0, Linux+gcc 3.4/2.96, and Sun CC 5.3.
date 2005.09.18.04.11.58; author volsung; state Exp;


Back to files page.

Matthew Worcester
Last modified: Sat Sep 17 23:12:00 CDT 2005