23 #ifndef _SEFRAMEWORK_SOURCE_SOURCEGROUP_H
24 #define _SEFRAMEWORK_SOURCE_SOURCEGROUP_H
28 #include <type_traits>
35 namespace SourceXtractor {
71 unsigned int size()
const override;
void setProperty(std::unique_ptr< Property > property, const PropertyId &property_id) override
void merge(SourceGroupInterface &&other) override
A SourceGroupInterface implementation which used a TaskProvider to compute missing properties...
const_iterator cbegin() const override
virtual ~EntangledSource()=default
SourceGroupWithOnDemandProperties & m_group
SourceGroupWithOnDemandProperties(std::shared_ptr< TaskProvider > task_provider)
const Property & getProperty(const PropertyId &property_id) const override
PropertyHolder m_property_holder
std::shared_ptr< SourceInterface > m_source
std::shared_ptr< TaskProvider > m_task_provider
iterator begin() override
void setProperty(std::unique_ptr< Property > property, const PropertyId &property_id) override
unsigned int size() const override
PropertyHolder m_property_holder
bool operator<(const EntangledSource &other) const
const_iterator cend() const override
void addSource(std::unique_ptr< SourceInterface > source) override
std::list< SourceWrapper > m_sources
virtual ~SourceGroupWithOnDemandProperties()=default
Destructor.
void clearGroupProperties()
EntangledSource(std::shared_ptr< SourceInterface > source, SourceGroupWithOnDemandProperties &group)
iterator removeSource(iterator pos) override
const Property & getProperty(const PropertyId &property_id) const override