|
Alexandria 2.32.0
SDC-CH common library for the Euclid project
|
#include <InstOrRefHolder.h>

Public Member Functions | |
| virtual | ~InstOrRefHolder ()=default |
| virtual InterfaceType & | ref ()=0 |
Static Public Member Functions | |
| template<typename InstanceType = InterfaceType, typename... Args> | |
| static std::unique_ptr< InstOrRefHolder< InterfaceType > > | create (Args &&... args) |
| static std::unique_ptr< InstOrRefHolder< InterfaceType > > | create (InterfaceType &ref) |
Interface for classes that can store either an instance or a reference to an object. Objects that provide this interface are to be created with InstOrRefHolder<InterfaceType>::create
| InterfaceType | The type of the stored object |
Definition at line 38 of file InstOrRefHolder.h.
|
virtualdefault |
|
static |
Definition at line 60 of file InstOrRefHolder.icpp.
References std::forward(), and Euclid::make_unique().
Referenced by Euclid::Table::AsciiReader::create(), and Euclid::Table::AsciiWriter::create().

|
static |
Definition at line 68 of file InstOrRefHolder.icpp.
References Euclid::make_unique(), and ref().

|
pure virtual |
Implemented in Euclid::InstOrRefHolder_Impl::InstHolder_Impl< InterfaceType, InstanceType >, and Euclid::InstOrRefHolder_Impl::RefHolder_Impl< InterfaceType >.
Referenced by create().