SourceXtractorPlusPlus
0.8
Please provide a description of the project.
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
SEFramework
SEFramework
Source
SourceWithOnDemandProperties.h
Go to the documentation of this file.
1
23
#ifndef _SEFRAMEWORK_SOURCE_SOURCE_H
24
#define _SEFRAMEWORK_SOURCE_SOURCE_H
25
26
#include <vector>
27
28
#include "
SEFramework/Property/PropertyHolder.h
"
29
#include "
SEFramework/Source/SourceInterface.h
"
30
31
namespace
SourceXtractor {
32
33
class
TaskProvider;
34
43
class
SourceWithOnDemandProperties
:
public
SourceInterface
{
44
45
public
:
46
50
virtual
~SourceWithOnDemandProperties
() =
default
;
51
52
// removes copy/move constructors and assignment operators
53
54
SourceWithOnDemandProperties
(
const
SourceWithOnDemandProperties
&) =
delete
;
55
SourceWithOnDemandProperties
&
operator=
(
const
SourceWithOnDemandProperties
&) =
delete
;
56
SourceWithOnDemandProperties
(
SourceWithOnDemandProperties
&&) =
delete
;
57
SourceWithOnDemandProperties
&
operator=
(
SourceWithOnDemandProperties
&&) =
delete
;
58
60
SourceWithOnDemandProperties
(
std::shared_ptr<const TaskProvider>
task_provider);
61
62
// Note : Because the get/setProperty() methods of the SourceInterface are
63
// templated, the overrides of the non-templated versions will hide them. For
64
// this reason it is necessary to re-introduce the templated methods, which is
65
// done by the using statements below.
66
using
SourceInterface::getProperty
;
67
using
SourceInterface::setProperty
;
68
69
protected
:
70
71
// Implementation of SourceInterface
72
virtual
const
Property
&
getProperty
(
const
PropertyId
& property_id)
const override
;
73
virtual
void
setProperty
(
std::unique_ptr<Property>
property,
const
PropertyId
& property_id)
override
;
74
75
private
:
76
std::shared_ptr<const TaskProvider>
m_task_provider
;
77
PropertyHolder
m_property_holder
;
78
};
/* End of Source class */
79
80
}
/* namespace SourceXtractor */
81
82
#endif
std::shared_ptr
SourceXtractor::SourceWithOnDemandProperties::setProperty
virtual void setProperty(std::unique_ptr< Property > property, const PropertyId &property_id) override
Definition:
SourceWithOnDemandProperties.cpp:52
SourceXtractor::SourceWithOnDemandProperties::getProperty
virtual const Property & getProperty(const PropertyId &property_id) const override
Definition:
SourceWithOnDemandProperties.cpp:35
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::SourceWithOnDemandProperties::m_task_provider
std::shared_ptr< const TaskProvider > m_task_provider
Definition:
SourceWithOnDemandProperties.h:76
SourceXtractor::SourceWithOnDemandProperties::~SourceWithOnDemandProperties
virtual ~SourceWithOnDemandProperties()=default
Destructor.
SourceXtractor::SourceWithOnDemandProperties::SourceWithOnDemandProperties
SourceWithOnDemandProperties(const SourceWithOnDemandProperties &)=delete
SourceXtractor::SourceWithOnDemandProperties::operator=
SourceWithOnDemandProperties & operator=(const SourceWithOnDemandProperties &)=delete
SourceXtractor::Property
Base class for all Properties. (has no actual content)
Definition:
Property.h:33
SourceXtractor::SourceInterface::setProperty
void setProperty(Args...args)
Definition:
SourceInterface.h:72
SourceInterface.h
std::unique_ptr
STL class.
SourceXtractor::PropertyId
Identifier used to set and retrieve properties.
Definition:
PropertyId.h:40
SourceXtractor::SourceWithOnDemandProperties::m_property_holder
PropertyHolder m_property_holder
Definition:
SourceWithOnDemandProperties.h:77
PropertyHolder.h
SourceXtractor::PropertyHolder
A class providing a simple implementation of a container of properties.
Definition:
PropertyHolder.h:43
SourceXtractor::SourceWithOnDemandProperties
Definition:
SourceWithOnDemandProperties.h:43
SourceXtractor::SourceInterface
The SourceInterface is an abstract "source" that has properties attached to it.
Definition:
SourceInterface.h:46
Generated by
1.8.5