DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
#include <AbstractFactory.hpp>
Public Member Functions | |
AbstractFactory () | |
AbstractFactory (const AbstractFactory &)=delete | |
AbstractFactory & | operator= (const AbstractFactory &)=delete |
virtual | ~AbstractFactory () |
std::unique_ptr< T > | build_maker (const std::string &alg_name) |
Static Public Member Functions | |
static void | register_creator (const std::string alg_name, maker_creator creator) |
static std::shared_ptr< AbstractFactory< T > > | get_instance () |
Static Protected Attributes | |
static std::shared_ptr< AbstractFactory< T > > | s_single_factory = nullptr |
Private Types | |
using | maker_creator = std::function<std::unique_ptr<T>()> |
using | creation_map = std::unordered_map<std::string, maker_creator> |
Static Private Member Functions | |
static creation_map & | get_makers () |
Definition at line 21 of file AbstractFactory.hpp.
|
private |
Definition at line 24 of file AbstractFactory.hpp.
|
private |
Definition at line 23 of file AbstractFactory.hpp.
|
inline |
Definition at line 27 of file AbstractFactory.hpp.
|
delete |
|
inlinevirtual |
Definition at line 30 of file AbstractFactory.hpp.
std::unique_ptr< T > triggeralgs::AbstractFactory< T >::build_maker | ( | const std::string & | alg_name | ) |
Definition at line 39 of file AbstractFactory.hxx.
|
static |
Definition at line 54 of file AbstractFactory.hxx.
|
staticprivate |
Definition at line 19 of file AbstractFactory.hxx.
|
delete |
|
static |
Definition at line 25 of file AbstractFactory.hxx.
|
staticprotected |
Definition at line 39 of file AbstractFactory.hpp.