Chapter 1
Generalities

LYRIC is a templated C++ library with multi-dimensional containers, timers, files, and other useful classes.

LYRIC has a couple of characteristics which make it completely different from the STL, Java, or most other object oriented library. The first one is that in Lyric, containers and their content are cloned when using assignment and copy operators. Never will pointers or multi-references be created on data contained in containers. Then Lyric stores data in mono-block. Even if a container is auto-resizing or multi-dimensional, all data is stored contiguously. This allows to write algorithms with pointer arithmetics for optimized access to data.

In LYRIC all sizes are, when not otherwise stated, given in number of items. No need to care about bits an bytes; LYRIC cares about item sizes.

LYRIC is developed on a Lintel (Linux/Intel box), using the GNU C++ compiler (version 2.95.2). It should also compile and link on regular Unices like Solaris, IRIX, AIX. As far as there is the GNU C++ compiler, autoconf, automake, and libtool available. All those development tools are freely available on the Net.


 1.1 Notations
 1.2 Compiler options
  1.2.1 -DO_TRACE
  1.2.2 -DO_RANGE_CHECK
 1.3 Use LYRIC
  1.3.1 Linux/Unix with GNU auto-conf/make