Listing 3

template < class T >
class DeletableSingleton {
public:
  static void ScheduleDestruction (T*, void (*pFun)());
  static void OnDeadReference();
};