DynExp
Highly flexible laboratory automation for dynamically changing experiments.
|
Provides templates to bundle DynExp resources at compile time in libraries. More...
Go to the source code of this file.
Namespaces | |
DynExp | |
DynExp's main namespace contains the implementation of DynExp including classes to manage resources (DynExp objects like hardware adapters, instruments, and modules) as well as their dependencies and parameters. | |
Typedefs | |
template<typename ObjectTypeBasePtr > | |
using | DynExp::LibraryObjectFactoryPtrType = ObjectTypeBasePtr(*)(const std::thread::id, ParamsBasePtrType &&) |
Alias for a factory function pointer type that instantiates library entries to create DynExp objects derived from DynExp::Object. As arguments, it expects the thread ID of the thread owning the resource and a reference to the resource's parameters to take ownership of. Compatible e.g. to DynExp::MakeModule(). More... | |
using | DynExp::LibraryConfigFactoryPtrType = ConfiguratorBasePtrType(*)() |
Alias for a factory function pointer type that creates a configurator for a specific library entry. Compatible e.g. to DynExp::MakeModuleConfig(). More... | |
using | DynExp::LibraryStringType = const char * |
String type used for library entry descriptors. More... | |
using | DynExp::LibraryStringParamPtrType = LibraryStringType(*)() |
Pointer to a DynExp object's static constexpr function returning a string literal. Used for the Name() and Category() functions which are required for classes derived from DynExp::Object to become library entries. More... | |
using | DynExp::HardwareAdapterLibraryVectorType = std::vector< LibraryEntry< HardwareAdapterPtrType > > |
Alias for the vector type containing entries of a hardware adapter library. More... | |
using | DynExp::InstrumentLibraryVectorType = std::vector< LibraryEntry< InstrumentPtrType > > |
Alias for the vector type containing entries of a instrument library. More... | |
using | DynExp::ModuleLibraryVectorType = std::vector< LibraryEntry< ModulePtrType > > |
Alias for the vector type containing entries of a module library. More... | |
Functions | |
template<typename LibraryVectorT > | |
const LibraryVectorT::value_type & | DynExp::FindInLibraryVector (const LibraryVectorT &LibraryVector, const std::string &Category, const std::string &Name) |
Finds an entry in a library vector by category and name. More... | |
Provides templates to bundle DynExp resources at compile time in libraries.
Definition in file Libraries.h.
class DynExp::LibraryObjectFactoryParamList |
Type consisting of function pointer types instantiating DynExp objects. Refer to DynExp::LibraryObjectFactoryPtrType.
ObjectTypeBasePtr | Refer to DynExp::LibraryObjectFactoryPtrType. |
... | Function pointer types |
Definition at line 51 of file Libraries.h.
class DynExp::LibraryConfigFactoryParamList |
Type consisting of function pointer types returning configurators for DynExp objects. Refer to DynExp::ConfiguratorBasePtrType.
... | Function pointer types |
Definition at line 59 of file Libraries.h.
class DynExp::LibraryStringParamList |
Type consisting of function pointer types returning string literals. Refer to DynExp::LibraryStringParamPtrType.
... | Function pointer types |
Definition at line 67 of file Libraries.h.