GEOSX
Public Member Functions | List of all members
geos::dataRepository::CatalogEntry< BASETYPE, TYPE > Class Template Referencefinal

Specialization of CatalogEntry for types with no-argument constructors. More...

#include <ObjectCatalog.hpp>

Inheritance diagram for geos::dataRepository::CatalogEntry< BASETYPE, TYPE >:
Inheritance graph
[legend]

Public Member Functions

 CatalogEntry ()
 Default constructor.
 
 ~CatalogEntry () override
 Default destructor.
 
 CatalogEntry (CatalogEntry const &source)
 Copy constructor. More...
 
 CatalogEntry (CatalogEntry &&source)
 Move constructor. More...
 
CatalogEntryoperator= (CatalogEntry const &source)
 Copy assignment operator. More...
 
CatalogEntryoperator= (CatalogEntry &&source)
 Move assignment operator. More...
 
virtual std::unique_ptr< BASETYPE > allocate () const override
 Create a new instance of TYPE. More...
 
- Public Member Functions inherited from geos::dataRepository::CatalogInterface< BASETYPE >
 CatalogInterface ()
 Default constructor.
 
virtual ~CatalogInterface ()
 Default destructor.
 
 CatalogInterface (CatalogInterface const &)=default
 Copy constructor.
 
 CatalogInterface (CatalogInterface &&)=default
 Move constructor.
 
CatalogInterfaceoperator= (CatalogInterface const &)=default
 Copy assignment operator. More...
 
CatalogInterfaceoperator= (CatalogInterface &&)=default
 Move assignment operator. More...
 

Additional Inherited Members

- Public Types inherited from geos::dataRepository::CatalogInterface< BASETYPE >
typedef std::unordered_map< std::string, std::unique_ptr< CatalogInterface< BASETYPE > > > CatalogType
 This is the type that will be used for the catalog. The catalog is actually instantiated in the BASETYPE.
 
- Static Public Member Functions inherited from geos::dataRepository::CatalogInterface< BASETYPE >
static CatalogTypegetCatalog ()
 Get the catalog from that is stored in the target base class. More...
 
static std::unique_ptr< BASETYPE > factory (std::string const &objectTypeName)
 Create a new object that derives from BASETYPE. More...
 
template<typename TYPE >
static TYPE & catalogCast (BASETYPE &object)
 Downcast base type reference to derived type. More...
 

Detailed Description

template<typename BASETYPE, typename TYPE>
class geos::dataRepository::CatalogEntry< BASETYPE, TYPE >

Specialization of CatalogEntry for types with no-argument constructors.

Template Parameters
BASETYPE
TYPE

Definition at line 528 of file ObjectCatalog.hpp.

Constructor & Destructor Documentation

◆ CatalogEntry() [1/2]

template<typename BASETYPE , typename TYPE >
geos::dataRepository::CatalogEntry< BASETYPE, TYPE >::CatalogEntry ( CatalogEntry< BASETYPE, TYPE > const &  source)
inline

Copy constructor.

Parameters
sourceobject to copy

Definition at line 561 of file ObjectCatalog.hpp.

◆ CatalogEntry() [2/2]

template<typename BASETYPE , typename TYPE >
geos::dataRepository::CatalogEntry< BASETYPE, TYPE >::CatalogEntry ( CatalogEntry< BASETYPE, TYPE > &&  source)
inline

Move constructor.

Parameters
sourceobject to move from

Definition at line 569 of file ObjectCatalog.hpp.

Member Function Documentation

◆ allocate()

template<typename BASETYPE , typename TYPE >
virtual std::unique_ptr< BASETYPE > geos::dataRepository::CatalogEntry< BASETYPE, TYPE >::allocate ( ) const
inlineoverridevirtual

Create a new instance of TYPE.

Returns
a unique_ptr<BASETYPE> that owns the new instance

Implements geos::dataRepository::CatalogInterface< BASETYPE >.

Definition at line 597 of file ObjectCatalog.hpp.

◆ operator=() [1/2]

template<typename BASETYPE , typename TYPE >
CatalogEntry& geos::dataRepository::CatalogEntry< BASETYPE, TYPE >::operator= ( CatalogEntry< BASETYPE, TYPE > &&  source)
inline

Move assignment operator.

Parameters
sourceobject to move from
Returns
reference to this object

Definition at line 588 of file ObjectCatalog.hpp.

◆ operator=() [2/2]

template<typename BASETYPE , typename TYPE >
CatalogEntry& geos::dataRepository::CatalogEntry< BASETYPE, TYPE >::operator= ( CatalogEntry< BASETYPE, TYPE > const &  source)
inline

Copy assignment operator.

Parameters
sourceobject to copy
Returns
reference to this object

Definition at line 578 of file ObjectCatalog.hpp.


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