SourceXtractorPlusPlus  0.12
Please provide a description of the project.
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 
31 namespace SourceXtractor {
32 
33 class TaskProvider;
34 
44 
45 public:
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 
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:
78 }; /* End of Source class */
79 
80 } /* namespace SourceXtractor */
81 
82 #endif
virtual void setProperty(std::unique_ptr< Property > property, const PropertyId &property_id) override
virtual const Property & getProperty(const PropertyId &property_id) const override
std::shared_ptr< const TaskProvider > m_task_provider
virtual ~SourceWithOnDemandProperties()=default
Destructor.
SourceWithOnDemandProperties(const SourceWithOnDemandProperties &)=delete
SourceWithOnDemandProperties & operator=(const SourceWithOnDemandProperties &)=delete
Base class for all Properties. (has no actual content)
Definition: Property.h:33
const PropertyType & getProperty(unsigned int index=0) const
Convenience template method to call getProperty() with a more user-friendly syntax.
STL class.
Identifier used to set and retrieve properties.
Definition: PropertyId.h:40
A class providing a simple implementation of a container of properties.
The SourceInterface is an abstract "source" that has properties attached to it.