Geant4-11
Public Types | Static Public Member Functions
G4TaskSingletonDelegator< T > Class Template Reference

#include <G4TaskSingletonDelegator.hh>

Public Types

using data_type = G4TaskSingletonData< T >
 
using evaluator_type = G4TaskSingletonEvaluator< T >
 
using key_type = typename G4Traits::TaskSingletonKey< T >
 
using pointer = T *
 

Static Public Member Functions

template<typename... Args>
static void Configure (Args &&... args)
 

Detailed Description

template<typename T>
class G4TaskSingletonDelegator< T >

Definition at line 111 of file G4TaskSingletonDelegator.hh.

Member Typedef Documentation

◆ data_type

template<typename T >
using G4TaskSingletonDelegator< T >::data_type = G4TaskSingletonData<T>

Definition at line 116 of file G4TaskSingletonDelegator.hh.

◆ evaluator_type

template<typename T >
using G4TaskSingletonDelegator< T >::evaluator_type = G4TaskSingletonEvaluator<T>

Definition at line 115 of file G4TaskSingletonDelegator.hh.

◆ key_type

template<typename T >
using G4TaskSingletonDelegator< T >::key_type = typename G4Traits::TaskSingletonKey<T>

Definition at line 117 of file G4TaskSingletonDelegator.hh.

◆ pointer

template<typename T >
using G4TaskSingletonDelegator< T >::pointer = T*

Definition at line 114 of file G4TaskSingletonDelegator.hh.

Member Function Documentation

◆ Configure()

template<typename T >
template<typename... Args>
static void G4TaskSingletonDelegator< T >::Configure ( Args &&...  args)
inlinestatic

Definition at line 120 of file G4TaskSingletonDelegator.hh.

121 {
122 auto& _data = data_type::GetInstance();
123 evaluator_type _eval(std::forward<Args>(args)...);
124 auto _ptr = _data->m_data.at(_eval.index);
125 _eval.modifier(_ptr);
126 T::SetInstance(_data->m_data.at(_key));
127 }
static char ** args
Definition: G4Xt.cc:51
static std::unique_ptr< this_type > & GetInstance()
G4TaskSingletonEvaluator< T > evaluator_type

References args, and G4TaskSingletonData< T >::GetInstance().


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