Dillo
|
In the "lout" directory, there are some common base functionality for C++. Most is described as doxygen comments, this text gives an overview.
Many classes are derived from lout::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* | lout::object::Pointer |
specific pointer | lout::object::TypedPointer (template class) |
int | lout::object::Integer |
const char* | lout::object::ConstString |
char* | lout::object::String |
In the namespace lout::container, several container classes are defined, which all deal with instances of lout::object::Object.
In lout::container::untyped, there are the following containers:
All provide specific methods, but since they have a common base class, lout::container::untyped::Collection, they all provide iterators, by the method lout::container::untyped::Collection::iterator.
lout::container::typed provides wrappers for the container classes defined in lout::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 lout::signal namespace.
There is also a base class lout::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, lout::identity::IdentifiableObject should be used as the base class, see there for more details.
The lout::misc namespace provides several miscellaneous stuff: