#pragma once #define DECL_PROFILE(T) \ T ProfileInstance::sProfile; \ T *T::GetProfile() { \ return &ProfileInstance::sProfile; \ } template struct ProfileInstance { static T sProfile; };