About Stephan

Professor for mathematics and technical computer science at Hamburg University of Applied Sciences.

A buffer is used for communication between objects which run in different threads. A buffer wraps some shared memory or a unique pointer thereto. The buffer may be accessed by the two communication partners via reference to the buffer which is initialized via constructor argument. A buffer is a single […]

fsb: fully synchronous buffer

A clone factory may be used to create objects (e.g. message objects) of a certain type depending on an ID. A list of clones is stored inside the factory.

clone factory

The observer pattern lets you register callback functions which will be called (notified) when the subject changes. In C++11 functors may be used.


Create custom debug output into a log file. Use the logger like a stream and adjust the output level of your logging. Scoped logging lets you follow entry and exit of functions.


A singleton controls the number of objects which may be created from this class. A singleton object is global and accessible from everywhere in your code.


C++11 has a beautiful thread class. In C++03 you can either use boost, or create your own wrapper for the thread calls of your OS. This example shows how it is done.