SourceXtractorPlusPlus  0.10
Please provide a description of the project.
SimpleSourceGroup.h
Go to the documentation of this file.
1 
17 /*
18  * @file SimpleSourceGroup.h
19  * @author nikoapos
20  */
21 
22 #ifndef _SEFRAMEWORK_SIMPLESOURCEGROUP_H
23 #define _SEFRAMEWORK_SIMPLESOURCEGROUP_H
24 
25 #include <list>
26 
29 
30 namespace SourceXtractor {
31 
40 
41 public:
42 
43  virtual ~SimpleSourceGroup() = default;
44 
45  iterator begin() override;
46 
47  iterator end() override;
48 
49  const_iterator cbegin() override;
50 
51  const_iterator cend() override;
52 
53  const_iterator begin() const override;
54 
55  const_iterator end() const override;
56 
57  void addSource(std::shared_ptr<SourceInterface> source) override;
58 
59  iterator removeSource(iterator pos) override;
60 
61  unsigned int size() const override;
62 
63  void merge(const SourceGroupInterface& other) override;
64 
67 
68 protected:
69 
70  const Property& getProperty(const PropertyId& property_id) const override;
71 
72  void setProperty(std::unique_ptr<Property> property, const PropertyId& property_id) override;
73 
74 private:
75 
78 
79 }; /* End of SimpleSourceGroup class */
80 
81 } /* namespace SourceXtractor */
82 
83 #endif /* _SEFRAMEWORK_SIMPLESOURCEGROUP_H */
84 
SourceXtractor::SimpleSourceGroup::~SimpleSourceGroup
virtual ~SimpleSourceGroup()=default
std::shared_ptr
STL class.
SourceXtractor::SimpleSourceGroup::setProperty
void setProperty(std::unique_ptr< Property > property, const PropertyId &property_id) override
Definition: SimpleSourceGroup.cpp:71
std::list< SourceWrapper >
SourceXtractor::Property
Base class for all Properties. (has no actual content)
Definition: Property.h:33
SourceGroupInterface.h
SourceXtractor::SimpleSourceGroup::m_property_holder
PropertyHolder m_property_holder
Definition: SimpleSourceGroup.h:77
SourceXtractor::SimpleSourceGroup
A bare bones implementation of SourceGroupInterface meant to be used to implement unit tests.
Definition: SimpleSourceGroup.h:39
SourceXtractor::SimpleSourceGroup::addSource
void addSource(std::shared_ptr< SourceInterface > source) override
Definition: SimpleSourceGroup.cpp:50
SourceXtractor::PropertyHolder
A class providing a simple implementation of a container of properties.
Definition: PropertyHolder.h:43
SourceXtractor::SimpleSourceGroup::size
unsigned int size() const override
Definition: SimpleSourceGroup.cpp:75
SourceXtractor::PropertyId
Identifier used to set and retrieve properties.
Definition: PropertyId.h:40
SourceXtractor::SimpleSourceGroup::cend
const_iterator cend() override
Definition: SimpleSourceGroup.cpp:38
SourceXtractor
Definition: Aperture.h:30
SourceXtractor::SimpleSourceGroup::removeSource
iterator removeSource(iterator pos) override
Definition: SimpleSourceGroup.cpp:54
SourceXtractor::SimpleSourceGroup::begin
iterator begin() override
Definition: SimpleSourceGroup.cpp:26
SourceXtractor::SimpleSourceGroup::merge
void merge(const SourceGroupInterface &other) override
Definition: SimpleSourceGroup.cpp:59
SourceXtractor::SimpleSourceGroup::cbegin
const_iterator cbegin() override
Definition: SimpleSourceGroup.cpp:34
SourceXtractor::SourceGroupInterface::const_iterator
std::list< SourceWrapper >::const_iterator const_iterator
Definition: SourceGroupInterface.h:82
SourceXtractor::SimpleSourceGroup::end
iterator end() override
Definition: SimpleSourceGroup.cpp:30
SourceXtractor::SourceGroupInterface
Defines the interface used to group sources.
Definition: SourceGroupInterface.h:37
PropertyHolder.h
SourceXtractor::SimpleSourceGroup::m_sources
std::list< SourceWrapper > m_sources
Definition: SimpleSourceGroup.h:76
SourceXtractor::SourceInterface::getProperty
const PropertyType & getProperty(unsigned int index=0) const
Convenience template method to call getProperty() with a more user-friendly syntax.
Definition: SourceInterface.h:57
SourceXtractor::SourceGroupInterface::iterator
std::list< SourceWrapper >::iterator iterator
Definition: SourceGroupInterface.h:81
SourceXtractor::SimpleSourceGroup::getProperty
const Property & getProperty(const PropertyId &property_id) const override
Definition: SimpleSourceGroup.cpp:67
std::unique_ptr
STL class.
SourceXtractor::SourceInterface::setProperty
void setProperty(Args... args)
Definition: SourceInterface.h:72