SourceXtractorPlusPlus  0.13
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
void addSource(std::shared_ptr< SourceInterface > source) override
const PropertyType & getProperty(unsigned int index=0) const
Convenience template method to call getProperty() with a more user-friendly syntax.
std::list< SourceWrapper >::iterator iterator
virtual ~SimpleSourceGroup()=default
unsigned int size() const override
const_iterator cend() override
Base class for all Properties. (has no actual content)
Definition: Property.h:33
iterator removeSource(iterator pos) override
A bare bones implementation of SourceGroupInterface meant to be used to implement unit tests...
void merge(const SourceGroupInterface &other) override
Defines the interface used to group sources.
STL class.
Identifier used to set and retrieve properties.
Definition: PropertyId.h:40
std::list< SourceWrapper >::const_iterator const_iterator
const_iterator cbegin() override
const Property & getProperty(const PropertyId &property_id) const override
std::list< SourceWrapper > m_sources
A class providing a simple implementation of a container of properties.
void setProperty(std::unique_ptr< Property > property, const PropertyId &property_id) override