|
SourceXtractorPlusPlus 0.21
SourceXtractor++, the next generation SExtractor
|
#include <TaskFactoryRegistry.h>


Classes | |
| class | DuplicateFactoryException |
| Exception raised when trying to register 2 TaskFactories that produce the same PropertyType. More... | |
Public Member Functions | |
| virtual | ~TaskFactoryRegistry ()=default |
| template<typename FactoryType , typename... Ts> | |
| void | registerTaskFactory () |
| const TaskFactory & | getFactory (std::type_index type_id) const |
| void | reportConfigDependencies (Euclid::Configuration::ConfigManager &manager) const override |
| Registers all the Configuration dependencies. | |
| void | configure (Euclid::Configuration::ConfigManager &manager) override |
| Method which should initialize the object. | |
| void | registerPropertyInstances (OutputRegistry &output_registry) |
Public Member Functions inherited from SourceXtractor::Configurable | |
| virtual | ~Configurable ()=default |
| Destructor. | |
Private Member Functions | |
| template<typename T > | |
| void | registerTaskFactoryImpl (std::shared_ptr< TaskFactory > task_factory) |
| template<typename T , typename T2 , typename... Ts> | |
| void | registerTaskFactoryImpl (std::shared_ptr< TaskFactory > task_factory) |
Private Attributes | |
| std::unordered_set< std::shared_ptr< TaskFactory > > | m_task_factories |
| std::unordered_map< std::type_index, std::shared_ptr< TaskFactory > > | m_type_task_factories_map |
Definition at line 39 of file TaskFactoryRegistry.h.
|
virtualdefault |
|
overridevirtual |
Method which should initialize the object.
The given manager is guaranteed to already be in the initialized state, so all the required Configurations can be accessed using its getConfiguration() method.
| manager | The manager to get the Configurations from |
Implements SourceXtractor::Configurable.
Definition at line 36 of file TaskFactoryRegistry.cpp.
References m_task_factories.
|
inline |
Definition at line 59 of file TaskFactoryRegistry.h.
References m_type_task_factories_map.
| void SourceXtractor::TaskFactoryRegistry::registerPropertyInstances | ( | OutputRegistry & | output_registry | ) |
Definition at line 42 of file TaskFactoryRegistry.cpp.
References m_task_factories.
|
inline |
Definition at line 51 of file TaskFactoryRegistry.h.
References m_task_factories, and registerTaskFactoryImpl().

|
inlineprivate |
Definition at line 71 of file TaskFactoryRegistry.h.
References m_type_task_factories_map.
Referenced by registerTaskFactory(), and registerTaskFactoryImpl().
|
inlineprivate |
Definition at line 81 of file TaskFactoryRegistry.h.
References registerTaskFactoryImpl().

|
overridevirtual |
Registers all the Configuration dependencies.
Configurable implementations should implement this method to register to the given ConfigManager (using the registerConfiguration() method) all the Configurations they are going to use
| manager | The manager to register the dependencies to |
Implements SourceXtractor::Configurable.
Definition at line 29 of file TaskFactoryRegistry.cpp.
References m_task_factories.
|
private |
Definition at line 86 of file TaskFactoryRegistry.h.
Referenced by configure(), registerPropertyInstances(), registerTaskFactory(), and reportConfigDependencies().
|
private |
Definition at line 87 of file TaskFactoryRegistry.h.
Referenced by getFactory(), and registerTaskFactoryImpl().