static void ScheduleDestruction(T*, void (*pFun)()) { static bool firstPass = true; deleter = pFun; if (firstPass) { std::atexit(GracefulDelete); firstPass = false; } }