#pragma once typedef void (*callback_t)(); template struct CallbackAware { void registerCallback(T f) { callback = f; } protected: T callback; };