SourceXtractorPlusPlus
0.11
Please provide a description of the project.
SEFramework
SEFramework
Source
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
27
#include "
SEFramework/Source/SourceGroupInterface.h
"
28
#include "
SEFramework/Property/PropertyHolder.h
"
29
30
namespace
SourceXtractor
{
31
39
class
SimpleSourceGroup
:
public
SourceGroupInterface
{
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
65
using
SourceInterface::getProperty
;
66
using
SourceInterface::setProperty
;
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
76
std::list<SourceWrapper>
m_sources
;
77
PropertyHolder
m_property_holder
;
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.
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::end
iterator end() override
Definition:
SimpleSourceGroup.cpp:30
SourceXtractor::SimpleSourceGroup::removeSource
iterator removeSource(iterator pos) override
Definition:
SimpleSourceGroup.cpp:54
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::setProperty
virtual void setProperty(std::unique_ptr< Property > property, const PropertyId &property_id)=0
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::SimpleSourceGroup::begin
iterator begin() override
Definition:
SimpleSourceGroup.cpp:26
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
std::unique_ptr
STL class.
SourceXtractor::SourceInterface::setProperty
void setProperty(Args... args)
Definition:
SourceInterface.h:72
SourceXtractor::SimpleSourceGroup::getProperty
virtual const Property & getProperty(const PropertyId &property_id) const=0
Generated by
1.8.18