SourceXtractorPlusPlus
0.14
Please provide a description of the project.
|
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. More... | |
iterator | begin () override |
iterator | end () override |
const_iterator | cbegin () override |
const_iterator | cend () override |
const_iterator | begin () const override |
const_iterator | end () const override |
void | addSource (std::shared_ptr< SourceInterface > source) override |
iterator | removeSource (iterator pos) override |
void | merge (const SourceGroupInterface &other) override |
unsigned int | size () const override |
![]() | |
template<typename SourceCollection > | |
void | addAllSources (const SourceCollection &sources) |
Convenient method to add all the sources of a collection. More... | |
Protected Member Functions | |
const Property & | getProperty (const PropertyId &property_id) const override |
void | setProperty (std::unique_ptr< Property > property, const PropertyId &property_id) override |
![]() | |
virtual | ~SourceInterface ()=default |
Destructor. More... | |
template<typename PropertyType > | |
const PropertyType & | getProperty (unsigned int index=0) const |
Convenience template method to call getProperty() with a more user-friendly syntax. More... | |
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. More... | |
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 | |
![]() | |
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 42 of file SourceGroupWithOnDemandProperties.h.
SourceXtractor::SourceGroupWithOnDemandProperties::SourceGroupWithOnDemandProperties | ( | std::shared_ptr< TaskProvider > | task_provider | ) |
Definition at line 28 of file SourceGroupWithOnDemandProperties.cpp.
|
virtualdefault |
Destructor.
|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 56 of file SourceGroupWithOnDemandProperties.cpp.
References clearGroupProperties(), std::list< T >::emplace_back(), and m_sources.
|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 32 of file SourceGroupWithOnDemandProperties.cpp.
References std::list< T >::begin(), and m_sources.
|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 48 of file SourceGroupWithOnDemandProperties.cpp.
References std::list< T >::cbegin(), and m_sources.
|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 40 of file SourceGroupWithOnDemandProperties.cpp.
References std::list< T >::cbegin(), and m_sources.
|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 44 of file SourceGroupWithOnDemandProperties.cpp.
References std::list< T >::cend(), and m_sources.
|
private |
Definition at line 100 of file SourceGroupWithOnDemandProperties.cpp.
References SourceXtractor::PropertyHolder::clear(), m_property_holder, and m_sources.
Referenced by addSource(), merge(), and removeSource().
|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 36 of file SourceGroupWithOnDemandProperties.cpp.
References std::list< T >::end(), and m_sources.
|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 52 of file SourceGroupWithOnDemandProperties.cpp.
References std::list< T >::cend(), and 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.
Implements SourceXtractor::SourceInterface.
Definition at line 79 of file SourceGroupWithOnDemandProperties.cpp.
References SourceXtractor::GroupTask::computeProperties(), SourceXtractor::PropertyHolder::getProperty(), SourceXtractor::PropertyHolder::isPropertySet(), m_property_holder, and m_task_provider.
|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 67 of file SourceGroupWithOnDemandProperties.cpp.
References clearGroupProperties(), std::list< T >::emplace_back(), and m_sources.
|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 61 of file SourceGroupWithOnDemandProperties.cpp.
References clearGroupProperties(), std::list< T >::erase(), and m_sources.
|
overrideprotectedvirtual |
Implements SourceXtractor::SourceInterface.
Definition at line 96 of file SourceGroupWithOnDemandProperties.cpp.
References m_property_holder, std::move(), and SourceXtractor::PropertyHolder::setProperty().
|
overridevirtual |
Implements SourceXtractor::SourceGroupInterface.
Definition at line 107 of file SourceGroupWithOnDemandProperties.cpp.
References m_sources, and std::list< T >::size().
|
private |
Definition at line 86 of file SourceGroupWithOnDemandProperties.h.
Referenced by clearGroupProperties(), getProperty(), SourceXtractor::SourceGroupWithOnDemandProperties::EntangledSource::getProperty(), setProperty(), and SourceXtractor::SourceGroupWithOnDemandProperties::EntangledSource::setProperty().
|
private |
Definition at line 84 of file SourceGroupWithOnDemandProperties.h.
Referenced by addSource(), begin(), cbegin(), cend(), clearGroupProperties(), end(), merge(), removeSource(), and size().
|
private |
Definition at line 87 of file SourceGroupWithOnDemandProperties.h.
Referenced by getProperty().