SourceXtractorPlusPlus  0.10
Please provide a description of the project.
SimpleSourceGroup.cpp
Go to the documentation of this file.
1 
17 /*
18  * @file SimpleSourceGroup.cpp
19  * @author nikoapos
20  */
21 
23 
24 namespace SourceXtractor {
25 
27  return m_sources.begin();
28 }
29 
31  return m_sources.end();
32 }
33 
35  return m_sources.cbegin();
36 }
37 
39  return m_sources.cend();
40 }
41 
43  return m_sources.cbegin();
44 }
45 
47  return m_sources.cend();
48 }
49 
52 }
53 
55  auto next_iter = m_sources.erase(pos);
56  return next_iter;
57 }
58 
60  auto& other_group = dynamic_cast<const SimpleSourceGroup&>(other);
61  for (auto& source : other_group.m_sources) {
62  this->m_sources.emplace_back(source);
63  }
65 }
66 
67 const Property& SimpleSourceGroup::getProperty(const PropertyId& property_id) const {
68  return m_property_holder.getProperty(property_id);
69 }
70 
72  m_property_holder.setProperty(std::move(property), property_id);
73 }
74 
75 unsigned int SimpleSourceGroup::size() const {
76  return m_sources.size();
77 }
78 
79 } // SourceXtractor namespace
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::move
T move(T... args)
SourceXtractor::Property
Base class for all Properties. (has no actual content)
Definition: Property.h:33
SourceXtractor::SourceGroupInterface::SourceWrapper
Definition: SourceGroupInterface.h:50
std::list::size
T size(T... args)
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::setProperty
void setProperty(std::unique_ptr< Property > property, const PropertyId &property_id)
Sets a property, overwriting it if necessary.
Definition: PropertyHolder.cpp:40
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::PropertyHolder::getProperty
const Property & getProperty(const PropertyId &property_id) const
Returns a reference to a Property if it is set, if not throws a PropertyNotFoundException.
Definition: PropertyHolder.cpp:29
SourceXtractor
Definition: Aperture.h:30
std::list::erase
T erase(T... args)
SourceXtractor::SimpleSourceGroup::removeSource
iterator removeSource(iterator pos) override
Definition: SimpleSourceGroup.cpp:54
SourceXtractor::SimpleSourceGroup::begin
iterator begin() override
Definition: SimpleSourceGroup.cpp:26
SimpleSourceGroup.h
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
std::list::emplace_back
T emplace_back(T... args)
SourceXtractor::SimpleSourceGroup::end
iterator end() override
Definition: SimpleSourceGroup.cpp:30
SourceXtractor::SourceGroupInterface
Defines the interface used to group sources.
Definition: SourceGroupInterface.h:37
SourceXtractor::SimpleSourceGroup::m_sources
std::list< SourceWrapper > m_sources
Definition: SimpleSourceGroup.h:76
std::list::begin
T begin(T... args)
SourceXtractor::PropertyHolder::clear
void clear()
Definition: PropertyHolder.cpp:48
SourceXtractor::SourceGroupInterface::iterator
std::list< SourceWrapper >::iterator iterator
Definition: SourceGroupInterface.h:81
std::list::end
T end(T... args)
SourceXtractor::SimpleSourceGroup::getProperty
const Property & getProperty(const PropertyId &property_id) const override
Definition: SimpleSourceGroup.cpp:67
std::unique_ptr
STL class.