/** \page lout Lots of Useful Tools In the "lout" directory, there are some common base functionality for C++. Most is described as doxygen comments, this text gives an overview.

Common Base Class

Many classes are derived from object::Object, which defines some general methods. See there for more information. For the case, that you need primitive C++ types, there are some wrappers:
C++ Type Wrapper Class
void* object::Pointer
specific pointer object::TypedPointer (template class)
int object::Integer
const char* object::ConstString
char* object::String

Containers

In the namespace ::container, several container classes are defined, which all deal with instances of object::Object.

Untyped Containers

In container::untyped, there are the following containers: All provide specific methods, but since they have a common base class, container::untyped::Collection, they all provide iterators, by the method container::untyped::Collection::iterator.

Typed Containers

container::typed provides wrappers for the container classes defined in container::untyped, which are more type safe, by using C++ templates.

Signals

For how to connect objects at run-time (to reduce dependencies), take a look at the ::signal namespace. There is also a base class signal::ObservedObject, which implements signals for deletion.

Debugging

In debug.hh, there are some some useful macros for debugging messages, see the file for mor informations.

Identifying Classes at Runtime

If the class of an object must be identified at runtime, identity::IdentifiableObject should be used as the base class, see there for more details.

Miscellaneous

The ::misc namespace provides several miscellaneous stuff: */