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 |
In the namespace container, several container classes are defined, which all deal with instances of object::Object.
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.
container::typed provides wrappers for the container classes defined in container::untyped, which are more type safe, by using C++ templates.
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.
In debug.hh, there are some some useful macros for debugging messages, see the file for mor informations.
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.
The misc namespace provides several miscellaneous stuff:
1.5.9