Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ThreadLocalSingleton< T > Class Template Reference

#include <G4ThreadLocalSingleton.hh>

Inheritance diagram for G4ThreadLocalSingleton< T >:

Public Member Functions

 G4ThreadLocalSingleton ()
 ~G4ThreadLocalSingleton () override
 G4ThreadLocalSingleton (const G4ThreadLocalSingleton &)=delete
 G4ThreadLocalSingleton (G4ThreadLocalSingleton &&)=default
G4ThreadLocalSingletonoperator= (const G4ThreadLocalSingleton &)=delete
G4ThreadLocalSingletonoperator= (G4ThreadLocalSingleton &&)=default
T * Instance () const

Friends

void G4AutoDelete::Register (T *)

Detailed Description

template<class T>
class G4ThreadLocalSingleton< T >

Definition at line 144 of file G4ThreadLocalSingleton.hh.

Constructor & Destructor Documentation

◆ G4ThreadLocalSingleton() [1/3]

template<class T>
G4ThreadLocalSingleton< T >::G4ThreadLocalSingleton ( )

Definition at line 177 of file G4ThreadLocalSingleton.hh.

178 : G4Cache<T*>()
179{
180 G4MUTEXINIT(listm);
181 G4Cache<T*>::Put(nullptr);
183 this->Clear();
184 });
185}
#define G4MUTEXINIT(mutex)
void Put(const value_type &val) const
Definition G4Cache.hh:321

Referenced by G4ThreadLocalSingleton(), G4ThreadLocalSingleton(), G4ThreadLocalSingleton(), operator=(), and operator=().

◆ ~G4ThreadLocalSingleton()

template<class T>
G4ThreadLocalSingleton< T >::~G4ThreadLocalSingleton ( )
override

Definition at line 188 of file G4ThreadLocalSingleton.hh.

189{
190 Clear();
191 G4MUTEXDESTROY(listm);
192}
#define G4MUTEXDESTROY(mutex)

◆ G4ThreadLocalSingleton() [2/3]

template<class T>
G4ThreadLocalSingleton< T >::G4ThreadLocalSingleton ( const G4ThreadLocalSingleton< T > & )
delete

◆ G4ThreadLocalSingleton() [3/3]

template<class T>
G4ThreadLocalSingleton< T >::G4ThreadLocalSingleton ( G4ThreadLocalSingleton< T > && )
default

Member Function Documentation

◆ Instance()

◆ operator=() [1/2]

template<class T>
G4ThreadLocalSingleton & G4ThreadLocalSingleton< T >::operator= ( const G4ThreadLocalSingleton< T > & )
delete

◆ operator=() [2/2]

template<class T>
G4ThreadLocalSingleton & G4ThreadLocalSingleton< T >::operator= ( G4ThreadLocalSingleton< T > && )
default

◆ G4AutoDelete::Register

template<class T>
void G4AutoDelete::Register ( T * )
friend

Referenced by Instance().


The documentation for this class was generated from the following files: