SourceXtractorPlusPlus  0.10
Please provide a description of the project.
Public Member Functions | Private Attributes | Friends | List of all members
SourceXtractor::SourceGroupWithOnDemandProperties::EntangledSource Class Reference

#include <SourceGroupWithOnDemandProperties.h>

Inheritance diagram for SourceXtractor::SourceGroupWithOnDemandProperties::EntangledSource:
[legend]
Collaboration diagram for SourceXtractor::SourceGroupWithOnDemandProperties::EntangledSource:
[legend]

Public Member Functions

 EntangledSource (std::shared_ptr< SourceInterface > source, SourceGroupWithOnDemandProperties &group)
 
virtual ~EntangledSource ()=default
 
const PropertygetProperty (const PropertyId &property_id) const override
 
void setProperty (std::unique_ptr< Property > property, const PropertyId &property_id) override
 
bool operator< (const EntangledSource &other) const
 
- Public Member Functions inherited from SourceXtractor::SourceInterface
virtual ~SourceInterface ()=default
 Destructor. More...
 
template<typename PropertyType >
const PropertyType & getProperty (unsigned int index=0) const
 Convenience template method to call getProperty() with a more user-friendly syntax. More...
 
template<typename PropertyType , typename ... Args>
void setIndexedProperty (std::size_t index, Args... args)
 Convenience template method to call setProperty() with a more user-friendly syntax. More...
 
template<typename PropertyType , typename ... Args>
void setProperty (Args... args)
 

Private Attributes

PropertyHolder m_property_holder
 
std::shared_ptr< SourceInterfacem_source
 
SourceGroupWithOnDemandPropertiesm_group
 

Friends

void SourceGroupWithOnDemandProperties::clearGroupProperties ()
 
void SourceGroupWithOnDemandProperties::merge (const SourceGroupInterface &)
 

Detailed Description

Definition at line 95 of file SourceGroupWithOnDemandProperties.h.

Constructor & Destructor Documentation

◆ EntangledSource()

SourceXtractor::SourceGroupWithOnDemandProperties::EntangledSource::EntangledSource ( std::shared_ptr< SourceInterface source,
SourceGroupWithOnDemandProperties group 
)

Definition at line 27 of file EntangledSource.cpp.

References m_source.

◆ ~EntangledSource()

virtual SourceXtractor::SourceGroupWithOnDemandProperties::EntangledSource::~EntangledSource ( )
virtualdefault

Member Function Documentation

◆ getProperty()

const Property & SourceXtractor::SourceGroupWithOnDemandProperties::EntangledSource::getProperty ( const PropertyId property_id) const
overridevirtual

Returns a reference to the requested property. The property may be computed if needed Throws a PropertyNotFoundException if the property cannot be provided.

Implements SourceXtractor::SourceInterface.

Definition at line 40 of file EntangledSource.cpp.

References e, SourceXtractor::PropertyHolder::getProperty(), SourceXtractor::PropertyHolder::isPropertySet(), and SourceXtractor::SourceGroupWithOnDemandProperties::m_property_holder.

Here is the call graph for this function:

◆ operator<()

bool SourceXtractor::SourceGroupWithOnDemandProperties::EntangledSource::operator< ( const EntangledSource other) const

Definition at line 83 of file EntangledSource.cpp.

References m_source.

◆ setProperty()

void SourceXtractor::SourceGroupWithOnDemandProperties::EntangledSource::setProperty ( std::unique_ptr< Property property,
const PropertyId property_id 
)
overridevirtual

Implements SourceXtractor::SourceInterface.

Definition at line 79 of file EntangledSource.cpp.

References SourceXtractor::SourceGroupWithOnDemandProperties::m_property_holder, std::move(), and SourceXtractor::PropertyHolder::setProperty().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ SourceGroupWithOnDemandProperties::clearGroupProperties

◆ SourceGroupWithOnDemandProperties::merge

Member Data Documentation

◆ m_group

SourceGroupWithOnDemandProperties& SourceXtractor::SourceGroupWithOnDemandProperties::EntangledSource::m_group
private

Definition at line 113 of file SourceGroupWithOnDemandProperties.h.

◆ m_property_holder

PropertyHolder SourceXtractor::SourceGroupWithOnDemandProperties::EntangledSource::m_property_holder
private

Definition at line 111 of file SourceGroupWithOnDemandProperties.h.

◆ m_source

std::shared_ptr<SourceInterface> SourceXtractor::SourceGroupWithOnDemandProperties::EntangledSource::m_source
private

Definition at line 112 of file SourceGroupWithOnDemandProperties.h.

Referenced by EntangledSource(), and operator<().


The documentation for this class was generated from the following files: