
Introduction to the GNAT Component Collection
*********************************************

The reusable library known as the GNAT Component Collection (GNATColl)
is based on one main principle: general-purpose packages that are part
of the GNAT technology should also be available to GNAT user
application code. The compiler front end, the GNAT Programming Studio
(GPS) Interactive Development Environment, and the GNAT Tracker web-
based interface all served as sources for the components.

The GNATColl components complement the predefined Ada and GNAT
libraries and deal with a range of common programming issues including
string and text processing, memory management, and file handling.
Several of the components are especially useful in enterprise
applications.

The next chapter explains how to build and install GNATColl. The
remainder of this document then describes the various components that
make up the collection:

* *Scripts*: Embedding script languages

* *Traces*: Logging information

* *Memory*: Monitoring memory usage

* *Mmap*: Reading and writing files

* *Boyer-Moore*: Searching strings

* *Paragraph filling*: Formatting text

* *Templates*: Generating text

* *Email*: Processing email messages

* *Ravenscar*: Patterns for multitasking

* *Storage Pools*: Controlling memory management

* *VFS*: Manipulating files

* *Tribooleans*: Three-state logic

* *Geometry*: Primitive geometric operations

* *Projects*: Manipulating "gpr" files

* *Refcount*: Reference counting

* *Config*: Parsing configuration files

* *Pools*: Controlling access to resources

* *JSON*: Handling JavaScript Object Notation

* *SQL*: Database interface
