33 template <
typename T,
typename F>
41 return *priv::Unique<T>::instance;
44 template <
typename T,
typename F>
47 if (exists() && force)
54 priv::Unique<T>::instance = ctor();
58 template <
typename T,
typename F>
63 delete priv::Unique<T>::instance;
64 priv::Unique<T>::instance = 0;
68 template <
typename T,
typename F>
71 return priv::Unique<T>::instance != 0;