|
SourceXtractorPlusPlus 1.0.3
SourceXtractor++, the next generation SExtractor
|
A SourceGroupInterface implementation which used a TaskProvider to compute missing properties. More...
#include <SourceGroupWithOnDemandProperties.h>


Classes | |
| class | EntangledSource |
Public Member Functions | |
| SourceGroupWithOnDemandProperties (std::shared_ptr< TaskProvider > task_provider) | |
| virtual | ~SourceGroupWithOnDemandProperties ()=default |
| Destructor. | |
| iterator | begin () override |
| iterator | end () override |
| const_iterator | cbegin () const override |
| const_iterator | cend () const override |
| const_iterator | begin () const override |
| const_iterator | end () const override |
| void | addSource (std::unique_ptr< SourceInterface > source) override |
| iterator | removeSource (iterator pos) override |
| void | merge (SourceGroupInterface &&other) override |
| unsigned int | size () const override |
| template<typename PropertyType> | |
| const PropertyType & | getProperty (unsigned int index=0) const |
| Convenience template method to call getProperty() with a more user-friendly syntax. | |
| template<typename PropertyType, typename ... Args> | |
| void | setProperty (Args... args) |
| Public Member Functions inherited from SourceXtractor::SourceGroupInterface | |
| template<typename SourceCollection> | |
| void | addAllSources (SourceCollection &&sources) |
| Convenient method to add all the sources of a collection. | |
| template<typename PropertyType> | |
| const PropertyType & | getProperty (unsigned int index=0) const |
| Convenience template method to call getProperty() with a more user-friendly syntax. | |
| template<typename PropertyType, typename ... Args> | |
| void | setProperty (Args... args) |
| template<typename PropertyType, typename ... Args> | |
| void | setIndexedProperty (std::size_t index, Args... args) |
| Convenience template method to call setProperty() with a more user-friendly syntax. | |
Protected Member Functions | |
| const Property & | getProperty (const PropertyId &property_id) const override |
| void | setProperty (std::unique_ptr< Property > property, const PropertyId &property_id) override |
| Protected Member Functions inherited from SourceXtractor::SourceInterface | |
| virtual | ~SourceInterface ()=default |
| Destructor. | |
| template<typename PropertyType> | |
| const PropertyType & | getProperty (unsigned int index=0) const |
| Convenience template method to call getProperty() with a more user-friendly syntax. | |
| template<typename PropertyType, typename ... Args> | |
| void | setIndexedProperty (std::size_t index, Args... args) |
| Convenience template method to call setProperty() with a more user-friendly syntax. | |
| template<typename PropertyType, typename ... Args> | |
| void | setProperty (Args... args) |
Private Member Functions | |
| void | clearGroupProperties () |
Private Attributes | |
| std::list< SourceWrapper > | m_sources |
| PropertyHolder | m_property_holder |
| std::shared_ptr< TaskProvider > | m_task_provider |
Additional Inherited Members | |
| Public Types inherited from SourceXtractor::SourceGroupInterface | |
| using | iterator = std::list<SourceWrapper>::iterator |
| using | const_iterator = std::list<SourceWrapper>::const_iterator |
A SourceGroupInterface implementation which used a TaskProvider to compute missing properties.
Definition at line 43 of file SourceGroupWithOnDemandProperties.h.
|
explicit |
Definition at line 32 of file SourceGroupWithOnDemandProperties.cpp.
References m_task_provider.
Referenced by SourceXtractor::SourceGroupWithOnDemandProperties::EntangledSource::EntangledSource(), getProperty(), and merge().
|
virtualdefault |
Destructor.
References SourceXtractor::SourceInterface::getProperty(), and SourceXtractor::SourceInterface::setProperty().

|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 60 of file SourceGroupWithOnDemandProperties.cpp.
References clearGroupProperties(), m_sources, Euclid::make_unique(), and std::move().

|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 52 of file SourceGroupWithOnDemandProperties.cpp.
References m_sources.
|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 36 of file SourceGroupWithOnDemandProperties.cpp.
References m_sources.
|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 44 of file SourceGroupWithOnDemandProperties.cpp.
References m_sources.
|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 48 of file SourceGroupWithOnDemandProperties.cpp.
References m_sources.
|
private |
Definition at line 110 of file SourceGroupWithOnDemandProperties.cpp.
References SourceXtractor::PropertyHolder::clear(), SourceXtractor::SourceGroupWithOnDemandProperties::EntangledSource::m_property_holder, m_property_holder, and m_sources.
Referenced by addSource(), merge(), and removeSource().

|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 56 of file SourceGroupWithOnDemandProperties.cpp.
References m_sources.
|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 40 of file SourceGroupWithOnDemandProperties.cpp.
References m_sources.
|
overrideprotectedvirtual |
Returns a reference to the requested property. The property may be computed if needed Throws a PropertyNotFoundException if the property cannot be provided.
Reimplemented from SourceXtractor::SourceGroupInterface.
Definition at line 84 of file SourceGroupWithOnDemandProperties.cpp.
References Euclid::Configuration::logger, m_property_holder, m_task_provider, and SourceGroupWithOnDemandProperties().

|
inline |
Convenience template method to call getProperty() with a more user-friendly syntax.
Definition at line 57 of file SourceInterface.h.
|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 71 of file SourceGroupWithOnDemandProperties.cpp.
References clearGroupProperties(), m_sources, Euclid::make_unique(), std::move(), and SourceGroupWithOnDemandProperties().

|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 65 of file SourceGroupWithOnDemandProperties.cpp.
References clearGroupProperties(), and m_sources.

|
inline |
Definition at line 72 of file SourceInterface.h.
|
overrideprotectedvirtual |
Reimplemented from SourceXtractor::SourceGroupInterface.
Definition at line 106 of file SourceGroupWithOnDemandProperties.cpp.
References m_property_holder, and std::move().

|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 117 of file SourceGroupWithOnDemandProperties.cpp.
References m_sources.
|
private |
Definition at line 87 of file SourceGroupWithOnDemandProperties.h.
Referenced by clearGroupProperties(), getProperty(), and setProperty().
|
private |
Definition at line 86 of file SourceGroupWithOnDemandProperties.h.
Referenced by addSource(), begin(), begin(), cbegin(), cend(), clearGroupProperties(), end(), end(), merge(), removeSource(), and size().
|
private |
Definition at line 88 of file SourceGroupWithOnDemandProperties.h.
Referenced by getProperty(), and SourceGroupWithOnDemandProperties().