SourceXtractorPlusPlus 0.21
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
SourceXtractor::SourceGroupInterface::SourceWrapper Class Reference

#include <SourceGroupInterface.h>

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

Public Member Functions

 SourceWrapper (std::unique_ptr< SourceInterface > source)
 
 SourceWrapper (const SourceWrapper &source)=delete
 
 SourceWrapper (SourceWrapper &&)=default
 
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 PropertyTypegetProperty (unsigned int index=0) const
 Convenience template method to call getProperty() with a more user-friendly syntax.
 
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.
 
- Public Member Functions inherited from SourceXtractor::SourceInterface
virtual ~SourceInterface ()=default
 Destructor.
 
template<typename PropertyType >
const PropertyTypegetProperty (unsigned int index=0) const
 Convenience template method to call getProperty() with a more user-friendly syntax.
 
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.
 
template<typename PropertyType , typename ... Args>
void setProperty (Args... args)
 

Private Attributes

std::unique_ptr< SourceInterfacem_source
 

Detailed Description

Definition at line 45 of file SourceGroupInterface.h.

Constructor & Destructor Documentation

◆ SourceWrapper() [1/3]

SourceXtractor::SourceGroupInterface::SourceWrapper::SourceWrapper ( std::unique_ptr< SourceInterface > source)
inlineexplicit

Definition at line 48 of file SourceGroupInterface.h.

◆ SourceWrapper() [2/3]

SourceXtractor::SourceGroupInterface::SourceWrapper::SourceWrapper ( const SourceWrapper & source)
delete

◆ SourceWrapper() [3/3]

SourceXtractor::SourceGroupInterface::SourceWrapper::SourceWrapper ( SourceWrapper && )
default

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

References m_source.

◆ getProperty() [2/3]

virtual const Property & SourceXtractor::SourceInterface::getProperty ( const PropertyId & property_id) const
virtual

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.

◆ getProperty() [3/3]

template<typename PropertyType >
const PropertyType & SourceXtractor::SourceInterface::getProperty ( unsigned int index = 0) const
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 66 of file SourceGroupInterface.h.

References m_source.

◆ operator<()

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

Definition at line 62 of file SourceGroupInterface.h.

References m_source.

◆ setIndexedProperty()

template<typename PropertyType , typename ... Args>
void SourceXtractor::SourceInterface::setIndexedProperty ( std::size_t index,
Args... 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 ( Args... 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 58 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 ( std::unique_ptr< Property > property,
const PropertyId & property_id )
virtual

Member Data Documentation

◆ m_source

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

Definition at line 75 of file SourceGroupInterface.h.

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


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