SourceXtractorPlusPlus  0.15
Please provide a description of the project.
Public Member Functions | Static Public Attributes | Private Attributes | List of all members
SourceXtractor::ExternalFlagTaskFactory Class Reference

#include <ExternalFlagTaskFactory.h>

Inheritance diagram for SourceXtractor::ExternalFlagTaskFactory:
[legend]
Collaboration diagram for SourceXtractor::ExternalFlagTaskFactory:
[legend]

Public Member Functions

virtual ~ExternalFlagTaskFactory ()=default
 
void reportConfigDependencies (Euclid::Configuration::ConfigManager &manager) const override
 Registers all the Configuration dependencies. More...
 
void configure (Euclid::Configuration::ConfigManager &manager) override
 Method which should initialize the object. More...
 
virtual std::shared_ptr< TaskcreateTask (const PropertyId &property_id) const override
 Returns a Task producing a Property corresponding to the given PropertyId. More...
 
void registerPropertyInstances (OutputRegistry &) override
 
- Public Member Functions inherited from SourceXtractor::TaskFactory
virtual ~TaskFactory ()=default
 Destructor. More...
 
- Public Member Functions inherited from SourceXtractor::Configurable
virtual ~Configurable ()=default
 Destructor. More...
 

Static Public Attributes

static const char propertyName [] = "ExternalFlags"
 

Private Attributes

std::map< PropertyId, ExternalFlagConfig::FlagInfom_flag_info_map
 
std::vector< std::pair< std::string, unsigned int > > m_instance_names
 
bool m_is_output_requested = false
 

Detailed Description

Definition at line 39 of file ExternalFlagTaskFactory.h.

Constructor & Destructor Documentation

◆ ~ExternalFlagTaskFactory()

virtual SourceXtractor::ExternalFlagTaskFactory::~ExternalFlagTaskFactory ( )
virtualdefault

Member Function Documentation

◆ configure()

void SourceXtractor::ExternalFlagTaskFactory::configure ( Euclid::Configuration::ConfigManager manager)
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.

Parameters
managerThe manager to get the Configurations from

Reimplemented from SourceXtractor::TaskFactory.

Definition at line 64 of file ExternalFlagTaskFactory.cpp.

References std::vector< T >::emplace_back(), std::find(), Euclid::Configuration::ConfigManager::getConfiguration(), SourceXtractor::OutputConfig::getOutputProperties(), m_flag_info_map, m_instance_names, m_is_output_requested, and propertyName.

Here is the call graph for this function:

◆ createTask()

std::shared_ptr< Task > SourceXtractor::ExternalFlagTaskFactory::createTask ( const PropertyId property_id) const
overridevirtual

Returns a Task producing a Property corresponding to the given PropertyId.

Implements SourceXtractor::TaskFactory.

Definition at line 40 of file ExternalFlagTaskFactory.cpp.

References SourceXtractor::ExternalFlagConfig::AND, SourceXtractor::PropertyId::getIndex(), m_flag_info_map, SourceXtractor::ExternalFlagConfig::MAX, SourceXtractor::ExternalFlagConfig::MIN, SourceXtractor::ExternalFlagConfig::MOST, and SourceXtractor::ExternalFlagConfig::OR.

Here is the call graph for this function:

◆ registerPropertyInstances()

void SourceXtractor::ExternalFlagTaskFactory::registerPropertyInstances ( OutputRegistry output_registry)
overridevirtual

Reimplemented from SourceXtractor::TaskFactory.

Definition at line 81 of file ExternalFlagTaskFactory.cpp.

References m_instance_names, m_is_output_requested, SourceXtractor::OutputRegistry::registerPropertyInstances(), and std::vector< T >::size().

Here is the call graph for this function:

◆ reportConfigDependencies()

void SourceXtractor::ExternalFlagTaskFactory::reportConfigDependencies ( Euclid::Configuration::ConfigManager manager) const
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

Parameters
managerThe manager to register the dependencies to

Reimplemented from SourceXtractor::TaskFactory.

Definition at line 34 of file ExternalFlagTaskFactory.cpp.

References Euclid::Configuration::ConfigManager::registerConfiguration().

Here is the call graph for this function:

Member Data Documentation

◆ m_flag_info_map

std::map<PropertyId, ExternalFlagConfig::FlagInfo> SourceXtractor::ExternalFlagTaskFactory::m_flag_info_map
private

Definition at line 57 of file ExternalFlagTaskFactory.h.

Referenced by configure(), and createTask().

◆ m_instance_names

std::vector<std::pair<std::string, unsigned int> > SourceXtractor::ExternalFlagTaskFactory::m_instance_names
private

Definition at line 58 of file ExternalFlagTaskFactory.h.

Referenced by configure(), and registerPropertyInstances().

◆ m_is_output_requested

bool SourceXtractor::ExternalFlagTaskFactory::m_is_output_requested = false
private

Definition at line 60 of file ExternalFlagTaskFactory.h.

Referenced by configure(), and registerPropertyInstances().

◆ propertyName

const char SourceXtractor::ExternalFlagTaskFactory::propertyName = "ExternalFlags"
static

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