DynExp
Highly flexible laboratory automation for dynamically changing experiments.
|
Data class for gRPCInstrument
.
More...
Public Member Functions | |
template<typename... ArgTs> | |
gRPCInstrumentData (ArgTs &&...Args) | |
Constructs a gRPCInstrumentData instance and forwards all arguments passed to the constructor to the constructor of the instrument data type of BaseInstr . More... | |
virtual | ~gRPCInstrumentData ()=default |
template<size_t Index> | |
auto | GetStub () const noexcept |
Returns a stub pointer this gRPCInstrument uses selected by the stub index in the gRPCStubs list of gRPCInstrument . More... | |
template<typename T > | |
auto | GetStub () const noexcept |
Returns a stub pointer this gRPCInstrument uses selected by the stub type T . More... | |
Private Member Functions | |
void | ResetStubPtrs () |
Sets all pointers contained in StubPtrs to nullptr . More... | |
void | ResetImpl (DynExp::InstrumentDataBase::dispatch_tag< typename BaseInstr::InstrumentDataType >) override final |
Refer to DynExp::InstrumentDataBase::Reset(). Using tag dispatch mechanism to ensure that ResetImpl() of every derived class gets called - starting from InstrumentDataBase , descending the inheritance hierarchy. Override in order to reset derived classes. More... | |
virtual void | ResetImpl (DynExp::InstrumentDataBase::dispatch_tag< gRPCInstrumentData >) |
Refer to DynExp::InstrumentDataBase::Reset(). Using tag dispatch mechanism to ensure that ResetImpl() of every derived class gets called - starting from InstrumentDataBase , descending the inheritance hierarchy. Override in order to reset derived classes. More... | |
Private Attributes | |
std::tuple< StubPtrType< gRPCStubs >... > | StubPtrs |
Tuple of pointers to all the stubs this gRPCInstrument uses. More... | |
Friends | |
class | gRPCInstrumentTasks::InitTask< BaseInstr, 0, gRPCStubs... > |
class | gRPCInstrumentTasks::ExitTask< BaseInstr, 0, gRPCStubs... > |
Data class for gRPCInstrument
.
BaseInstr | Meta instrument this class derives from. |
enable_if_t | Internal check whether BaseInstr is derived from DynExp::InstrumentBase. Pass 0. |
...gRPCStubs | gRPC stub types which this gRPC client expects from the server to be provided. The order of stub types should match the order of service types in the gRPCServices list of the respective DynExpModule::gRPCModule gRPC server. |
Definition at line 150 of file gRPCInstrument.h.
|
inline |
Constructs a gRPCInstrumentData
instance and forwards all arguments passed to the constructor to the constructor of the instrument data type of BaseInstr
.
...ArgTs | Types of the arguments passed to the constructor |
...Args | Arguments to forward |
Definition at line 163 of file gRPCInstrument.h.
|
virtualdefault |
|
inlinenoexcept |
Returns a stub pointer this gRPCInstrument
uses selected by the stub index in the gRPCStubs
list of gRPCInstrument
.
Index | Index of the stub pointer to return |
Index
from StubPtrs Definition at line 174 of file gRPCInstrument.h.
|
inlinenoexcept |
Returns a stub pointer this gRPCInstrument
uses selected by the stub type T
.
T | Type of the stub to return |
StubPtrType
pointing to the stub type T
(as contained in StubPtrs) Definition at line 183 of file gRPCInstrument.h.
|
inlineprivatevirtual |
Refer to DynExp::InstrumentDataBase::Reset(). Using tag dispatch mechanism to ensure that ResetImpl()
of every derived class gets called - starting from InstrumentDataBase
, descending the inheritance hierarchy. Override in order to reset derived classes.
Definition at line 204 of file gRPCInstrument.h.
|
inlinefinaloverrideprivate |
Refer to DynExp::InstrumentDataBase::Reset(). Using tag dispatch mechanism to ensure that ResetImpl()
of every derived class gets called - starting from InstrumentDataBase
, descending the inheritance hierarchy. Override in order to reset derived classes.
Definition at line 194 of file gRPCInstrument.h.
|
inlineprivate |
Sets all pointers contained in StubPtrs to nullptr
.
Definition at line 189 of file gRPCInstrument.h.
|
friend |
Definition at line 134 of file gRPCInstrument.h.
|
friend |
Definition at line 134 of file gRPCInstrument.h.
|
private |
Tuple of pointers to all the stubs this gRPCInstrument
uses.
Definition at line 209 of file gRPCInstrument.h.