Release Notes: This release provides generic implementations of sets and maps of discrete types based on ranges of elements and keys. Set complement operation was added to the generic set packages. Deep equality operation was added to the generic map packages.
Release Notes: Portable support for IEEE 754 single and double precision floating-point representations is provided.
Release Notes: This version adds various locking synchronization primitives. Added were plain events; race condition-free pulse events; arrays of events that can be signaled, reset, and awaited in any combination; reentrant mutexes; and arrays of mutexes, deadlock-free with an enforced order of locking. The documentation includes solutions for the problems of checkpoint tasks synchronization and dining philosophers. It also contains a chapter considering advanced concurrent Ada programming using protected objects, focused on race condition prevention.
Release Notes: This version adds lock-free shared data structures. The package Generic_FIFO provides a lock-free peer-to-peer queue. The package Generic_Blackboard provides a lock-free messages blackboard, which can be used for one publisher and any number of subscribers. Children packages provide partially lock-free specializations.
Release Notes: The persistence layer was reworked in order to support hierarchical names. The functions Is_Empty, Erase, and Take were added for doubly-linked webs and lists. The persistent storage packages interface was changed from Wide_String (UCS-2) to String (UTF-8) Unicode support. The package Generic_Random_Sequence was added to provide random sequences of non-repeating numbers. The package Strings_Edit.Symetric_Serialization provides symmetric encryption and encoding of short plain strings, which can be used for storing user credentials.
Release Notes: Doubly-linked webs and lists of items with referential semantics were added. Items can be of any type, including tasks, protected objects, unconstrained strings, etc. A Get_Line procedure was added to the abstract source interface to improve parser performance in the cases when compiler optimization is poor. Slicing and concatenation operations were added to the package Object.Handle.Generic_Bounded_Array. The code was slightly rearranged to circumvent bugs of GNAT 2006 and GCC 4.1.1 (20060525).
Release Notes: This version provides a universal abstract persistent storage interface to load and restore persistent objects. It also presents ready-to-use implementations of the interface for ODBC and APQ (Ada95 database bindings) interfaced relational databases. A framework for developing new persistent storage interfaces is supplied as well. An extensive documentation and samples set is provided.
Release Notes: Object persistence has been added. Non-recursive dependencies of persistent objects are supported. Garbage collection is provided through reference counting. Persistent objects are automatically stored upon finalization. The implementation of objects is fully decoupled from that of the storage.
Release Notes: Parsers for syntax analysis of infix expressions were added to the library. Neither grammar nor any code generation steps are required. An object-oriented approach is used instead. The lexical procedures are dispatching. Parsers can be used both for immediate one-pass code interpretation and for parsing tree building. Special attention is paid to error handling, allowing the generation of very precise error messages and source code references. Samples of a small console calculator and a complete parsing tree generator for Ada 95 expressions are included.