DynExp
Highly flexible laboratory automation for dynamically changing experiments.
DynExp::LibraryBase< ObjectTypeBasePtr, LibraryObjectFactoryParamList< ObjectTypeBasePtr, ObjFactories... >, LibraryConfigFactoryParamList< ConfFactories... >, LibraryStringParamList< NameFuncs... >, LibraryStringParamList< CategoryFuncs... > > Class Template Reference

Represents the specialized base class for a library containing library entries (DynExp::LibraryEntry). More...

Public Member Functions

constexpr const auto & GetLibrary () const noexcept
 Returns the library entry array. More...
 
auto ToVector () const
 Converts the library entries to a std::vector. More...
 

Protected Member Functions

constexpr LibraryBase ()
 Constructs a library and fills its entry array from its type information. The entry array is sorted in alphabetic order first by the entry categories and second by the entry names. More...
 
 ~LibraryBase ()=default
 

Private Attributes

std::array< LibraryEntry< ObjectTypeBasePtr >, sizeof...(ObjFactories)> Entries
 Array containing the library entries. More...
 

Detailed Description

template<typename ObjectTypeBasePtr, LibraryObjectFactoryPtrType< ObjectTypeBasePtr >... ObjFactories, LibraryConfigFactoryPtrType... ConfFactories, LibraryStringParamPtrType... NameFuncs, LibraryStringParamPtrType... CategoryFuncs>
class DynExp::LibraryBase< ObjectTypeBasePtr, LibraryObjectFactoryParamList< ObjectTypeBasePtr, ObjFactories... >, LibraryConfigFactoryParamList< ConfFactories... >, LibraryStringParamList< NameFuncs... >, LibraryStringParamList< CategoryFuncs... > >

Represents the specialized base class for a library containing library entries (DynExp::LibraryEntry).

Template Parameters
ObjectTypeBasePtrRefer to DynExp::LibraryObjectFactoryPtrType.
...ObjFactoriesVariadic template parameter for object factory pointers
...ConfFactoriesVariadic template parameter for configurator factory pointers
...NameFuncsVariadic template parameter for function pointers returning the entry names
...CategoryFuncsVariadic template parameter for function pointers returning the entry categories

Definition at line 128 of file Libraries.h.

Constructor & Destructor Documentation

◆ LibraryBase()

template<typename ObjectTypeBasePtr , LibraryObjectFactoryPtrType< ObjectTypeBasePtr >... ObjFactories, LibraryConfigFactoryPtrType... ConfFactories, LibraryStringParamPtrType... NameFuncs, LibraryStringParamPtrType... CategoryFuncs>
constexpr DynExp::LibraryBase< ObjectTypeBasePtr, LibraryObjectFactoryParamList< ObjectTypeBasePtr, ObjFactories... >, LibraryConfigFactoryParamList< ConfFactories... >, LibraryStringParamList< NameFuncs... >, LibraryStringParamList< CategoryFuncs... > >::LibraryBase ( )
inlineconstexprprotected

Constructs a library and fills its entry array from its type information. The entry array is sorted in alphabetic order first by the entry categories and second by the entry names.

Definition at line 142 of file Libraries.h.

◆ ~LibraryBase()

template<typename ObjectTypeBasePtr , LibraryObjectFactoryPtrType< ObjectTypeBasePtr >... ObjFactories, LibraryConfigFactoryPtrType... ConfFactories, LibraryStringParamPtrType... NameFuncs, LibraryStringParamPtrType... CategoryFuncs>
DynExp::LibraryBase< ObjectTypeBasePtr, LibraryObjectFactoryParamList< ObjectTypeBasePtr, ObjFactories... >, LibraryConfigFactoryParamList< ConfFactories... >, LibraryStringParamList< NameFuncs... >, LibraryStringParamList< CategoryFuncs... > >::~LibraryBase ( )
protecteddefault

Member Function Documentation

◆ GetLibrary()

template<typename ObjectTypeBasePtr , LibraryObjectFactoryPtrType< ObjectTypeBasePtr >... ObjFactories, LibraryConfigFactoryPtrType... ConfFactories, LibraryStringParamPtrType... NameFuncs, LibraryStringParamPtrType... CategoryFuncs>
constexpr const auto& DynExp::LibraryBase< ObjectTypeBasePtr, LibraryObjectFactoryParamList< ObjectTypeBasePtr, ObjFactories... >, LibraryConfigFactoryParamList< ConfFactories... >, LibraryStringParamList< NameFuncs... >, LibraryStringParamList< CategoryFuncs... > >::GetLibrary ( ) const
inlineconstexprnoexcept

Returns the library entry array.

Returns
Reference to the library entries.

Definition at line 167 of file Libraries.h.

◆ ToVector()

template<typename ObjectTypeBasePtr , LibraryObjectFactoryPtrType< ObjectTypeBasePtr >... ObjFactories, LibraryConfigFactoryPtrType... ConfFactories, LibraryStringParamPtrType... NameFuncs, LibraryStringParamPtrType... CategoryFuncs>
auto DynExp::LibraryBase< ObjectTypeBasePtr, LibraryObjectFactoryParamList< ObjectTypeBasePtr, ObjFactories... >, LibraryConfigFactoryParamList< ConfFactories... >, LibraryStringParamList< NameFuncs... >, LibraryStringParamList< CategoryFuncs... > >::ToVector ( ) const
inline

Converts the library entries to a std::vector.

Returns
std::vector containing the library entries

Definition at line 173 of file Libraries.h.

Member Data Documentation

◆ Entries

template<typename ObjectTypeBasePtr , LibraryObjectFactoryPtrType< ObjectTypeBasePtr >... ObjFactories, LibraryConfigFactoryPtrType... ConfFactories, LibraryStringParamPtrType... NameFuncs, LibraryStringParamPtrType... CategoryFuncs>
std::array<LibraryEntry<ObjectTypeBasePtr>, sizeof...(ObjFactories)> DynExp::LibraryBase< ObjectTypeBasePtr, LibraryObjectFactoryParamList< ObjectTypeBasePtr, ObjFactories... >, LibraryConfigFactoryParamList< ConfFactories... >, LibraryStringParamList< NameFuncs... >, LibraryStringParamList< CategoryFuncs... > >::Entries
private

Array containing the library entries.

Definition at line 182 of file Libraries.h.


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