SourceXtractorPlusPlus  0.16
Please provide a description of the project.
Public Member Functions | Private Attributes | List of all members
SourceXtractor::SourceGroupInterface::SourceWrapper Class Reference

#include <SourceGroupInterface.h>

Inheritance diagram for SourceXtractor::SourceGroupInterface::SourceWrapper:
[legend]
Collaboration diagram for SourceXtractor::SourceGroupInterface::SourceWrapper:
[legend]

Public Member Functions

 SourceWrapper (std::shared_ptr< SourceInterface > source)
 
 SourceWrapper (const SourceWrapper &source)
 
const PropertygetProperty (const PropertyId &property_id) const override
 
void setProperty (std::unique_ptr< Property > property, const PropertyId &property_id) override
 
bool operator< (const SourceWrapper &other) const
 
SourceInterfacegetRef () const
 
template<typename PropertyType >
const PropertyType & getProperty (unsigned int index=0) const
 Convenience template method to call getProperty() with a more user-friendly syntax. More...
 
virtual const PropertygetProperty (const PropertyId &property_id) const=0
 
template<typename PropertyType , typename ... Args>
void setProperty (Args... args)
 
virtual void setProperty (std::unique_ptr< Property > property, const PropertyId &property_id)=0
 
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...
 
- 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

std::shared_ptr< SourceInterfacem_source
 

Detailed Description

Definition at line 50 of file SourceGroupInterface.h.

Constructor & Destructor Documentation

◆ SourceWrapper() [1/2]

SourceXtractor::SourceGroupInterface::SourceWrapper::SourceWrapper ( std::shared_ptr< SourceInterface source)
inlineexplicit

Definition at line 53 of file SourceGroupInterface.h.

◆ SourceWrapper() [2/2]

SourceXtractor::SourceGroupInterface::SourceWrapper::SourceWrapper ( const SourceWrapper source)
inline

Definition at line 55 of file SourceGroupInterface.h.

Member Function Documentation

◆ getProperty() [1/3]

const Property& SourceXtractor::SourceGroupInterface::SourceWrapper::getProperty ( const PropertyId property_id) const
inlineoverridevirtual

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 57 of file SourceGroupInterface.h.

References m_source.

◆ getProperty() [2/3]

virtual const Property& SourceXtractor::SourceInterface::getProperty

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

◆ getProperty() [3/3]

template<typename PropertyType >
const PropertyType& SourceXtractor::SourceInterface::getProperty ( typename PropertyType  )
inline

Convenience template method to call getProperty() with a more user-friendly syntax.

Definition at line 57 of file SourceInterface.h.

◆ getRef()

SourceInterface& SourceXtractor::SourceGroupInterface::SourceWrapper::getRef ( ) const
inline

Definition at line 69 of file SourceGroupInterface.h.

References m_source.

◆ operator<()

bool SourceXtractor::SourceGroupInterface::SourceWrapper::operator< ( const SourceWrapper other) const
inline

Definition at line 65 of file SourceGroupInterface.h.

References m_source.

◆ setIndexedProperty()

template<typename PropertyType , typename ... Args>
void SourceXtractor::SourceInterface::setIndexedProperty ( typename PropertyType  ,
typename ...  Args 
)
inline

Convenience template method to call setProperty() with a more user-friendly syntax.

Definition at line 64 of file SourceInterface.h.

◆ setProperty() [1/3]

template<typename PropertyType , typename ... Args>
void SourceXtractor::SourceInterface::setProperty ( typename PropertyType  ,
typename ...  Args 
)
inline

Definition at line 72 of file SourceInterface.h.

◆ setProperty() [2/3]

void SourceXtractor::SourceGroupInterface::SourceWrapper::setProperty ( std::unique_ptr< Property property,
const PropertyId property_id 
)
inlineoverridevirtual

Implements SourceXtractor::SourceInterface.

Definition at line 61 of file SourceGroupInterface.h.

References m_source, and std::move().

Here is the call graph for this function:

◆ setProperty() [3/3]

virtual void SourceXtractor::SourceInterface::setProperty

Member Data Documentation

◆ m_source

std::shared_ptr<SourceInterface> SourceXtractor::SourceGroupInterface::SourceWrapper::m_source
private

Definition at line 78 of file SourceGroupInterface.h.

Referenced by getProperty(), getRef(), operator<(), and setProperty().


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