C++ time design