95#ifndef G4TLSSINGLETON_HH 
   96#define G4TLSSINGLETON_HH 1 
  135  template <
typename FuncT>
 
  136  static typename fvector_t::iterator 
Insert(FuncT&& _func)
 
  139    return GetCallbacks().emplace(GetCallbacks().end(),
 
  140                                  std::forward<FuncT>(_func));
 
  147  friend void G4AutoDelete::Register<T>(T*);
 
  196    printf(
"Deleting G4ThreadLocalSingletons for type %s ...\n",
 
  197           G4Demangle<T>().c_str());
 
  213  if(instance == 
static_cast<T*
>(0))
 
  226  instances.push_back(i);
 
  232  if(instances.empty())
 
  235  while(!instances.empty())
 
  237    T* thisinst = instances.front();
 
  238    instances.pop_front();
 
G4double(* function)(G4double)
#define G4MUTEXDESTROY(mutex)
#define G4MUTEXINIT(mutex)
void Put(const value_type &val) const
std::vector< std::function< void()> > fvector_t
static fvector_t::iterator Insert(FuncT &&_func)
G4ThreadLocalSingleton & operator=(G4ThreadLocalSingleton &&)=default
std::list< T * > instances
void Register(T *i) const
~G4ThreadLocalSingleton()
G4ThreadLocalSingleton(G4ThreadLocalSingleton &&)=default
G4ThreadLocalSingleton(const G4ThreadLocalSingleton &)=delete
G4ThreadLocalSingleton & operator=(const G4ThreadLocalSingleton &)=delete