
GNAT Reusable Components
************************

* Introduction to the GNAT Component Collection

* Building GNATColl

  * Configuring the build environment

  * Building GNATColl

  * Installing GNATColl

* **Scripts**: Embedding script languages

  * Supported languages

    * The Shell language

    * The Python language

    * Classes exported to all languages

  * Scripts API

    * Initializing the scripting module

    * Creating interactive consoles

    * Exporting classes and methods

    * Executing startup scripts

    * Multithreading applications and scripts

    * Debugging scripts

* **Traces**: Logging information

  * Configuring traces

  * Using the traces module

    * Logging unexpected exceptions

    * Checking whether the handle is active

  * Log decorators

  * Defining custom stream types

  * Logging to syslog

  * Dynamically disabling features

* **Memory**: Monitoring memory usage

* **Mmap**: Reading and Writing Files

* **Boyer-Moore**: Searching strings

* **Paragraph filling**: formatting text

* **Templates**: generating text

* **Email**: Processing email messages

  * Message formats

  * Parsing messages

  * Parsing mailboxes

  * Creating messages

* **Ravenscar**: patterns for multitasking

  * Tasks

  * Servers

  * Timers

* **Storage Pools**: controlling memory management

* **VFS**: Manipulating Files

  * Filesystems abstraction

    * file names encoding

  * Remote filesystems

    * Filesystem factory

    * Transport layer

  * Virtual files

  * GtkAda support for virtual files

* **Tribooleans**: Three state logic

* **Geometry**: primitive geometric operations

* **Projects**: manipulating gpr files

* **Refcount**: Reference counting

* **Readline**: interactive command line

* **Config**: Parsing configuration files

* **Pools**: Controlling access to resources

* **JSON**: handling JSON data

* **Iconv**: Converting between character encodings

  * Compiling

  * Using GNATCOLL.Iconv

  * API

* **SQL**: Database interface

  * Database Abstraction Layers

  * Database example

  * Database schema

  * The gnatcoll_db2ada tool

    * Default output of gnatcoll_db2ada

    * database introspection in Ada

    * Back to the library example...

  * Connecting to the database

  * Loading initial data in the database

  * Writing queries

  * Executing queries

  * Prepared queries

  * Getting results

  * Creating your own SQL types

  * Query logs

  * Writing your own cursors

  * The Object-Relational Mapping layer (ORM)

    * reverse relationships

  * Modifying objects in the ORM

  * Object factories in ORM

* **Xref**: Cross-referencing source code

* **Xref**: gnatinspect

* **Terminal**: controlling the console

  * Colors

  * Cursors


Indices and tables
******************

* Index

This document may be copied, in whole or in part, in any form or by
any means, as is or with alterations, provided that (1) alterations
are clearly marked as alterations and (2) this copyright notice is
included unmodified in any copy.
