The Xavax C++ Library (libCx) provides facilities which
are useful for most C++ applications and the infrastructure
necessary for large applications.
- A variety of containers are provided to store objects
by reference or by value. The containers
provided are: single-linked lists, double-linked lists,
and a balanced binary tree.
Iterators for const and mutable forms of each container
- A text formatting mechanism is provided which is similar
to the classic printf. The
formatter supports a variable
number of parameters which are converted to
Variants allowing the formatting
process to be type safe.
To improve efficiency, a format string can be
compiled in advance.
- Message Catalogs
- Message catalogs support internationalization of applications
by allowing literal strings to be extracted into a catalog which
can be specified at runtime.
- Resource Management
- Base classes are provided to manage
bitmaps and simplify
the implementation of
and smart pointers.
- A String class automatically
manages the memory required to store the string value. Operators
are defined to simplify operations such as string comparison,
concatenation, insertion, and replacement.
A hashed string is also provided.
- Type Metadata
- A type metadata mechanism provides runtime type information
such as the name, type, and offset of class or structure members.
This mechanism is used by XTrace to
automate object tracing, and can also be used to simplify
object to relational mapping and network marshalling code.
for libCx is currently available online.