SourceXtractorPlusPlus 0.21
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
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
30
31namespace SourceXtractor {
32
33class TaskProvider;
34
44
45public:
46
50 virtual ~SourceWithOnDemandProperties() = default;
51
52 // removes copy/move constructors and assignment operators
53
58
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.
68
69protected:
70
71 // Implementation of SourceInterface
72 const Property& getProperty(const PropertyId& property_id) const override;
74
75private:
78}; /* End of Source class */
79
80} /* namespace SourceXtractor */
81
82#endif
A class providing a simple implementation of a container of properties.
Identifier used to set and retrieve properties.
Definition PropertyId.h:40
Base class for all Properties. (has no actual content)
Definition Property.h:33
The SourceInterface is an abstract "source" that has properties attached to it.
const PropertyType & getProperty(unsigned int index=0) const
Convenience template method to call getProperty() with a more user-friendly syntax.
std::shared_ptr< const TaskProvider > m_task_provider
SourceWithOnDemandProperties(const SourceWithOnDemandProperties &)=delete
virtual ~SourceWithOnDemandProperties()=default
Destructor.
const Property & getProperty(const PropertyId &property_id) const override
SourceWithOnDemandProperties & operator=(const SourceWithOnDemandProperties &)=delete
void setProperty(std::unique_ptr< Property > property, const PropertyId &property_id) override
SourceWithOnDemandProperties(SourceWithOnDemandProperties &&)=delete
SourceWithOnDemandProperties & operator=(SourceWithOnDemandProperties &&)=delete