Specialization of CatalogInterface
for types with no-argument constructors/.
More...
#include <ObjectCatalog.hpp>
|
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 CatalogType & | getCatalog () |
| 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...
|
|
template<typename BASETYPE>
class geos::dataRepository::CatalogInterface< BASETYPE >
Specialization of CatalogInterface
for types with no-argument constructors/.
- Template Parameters
-
BASETYPE | base class that contains the catalog |
Definition at line 412 of file ObjectCatalog.hpp.
◆ allocate()
template<typename BASETYPE >
◆ catalogCast()
template<typename BASETYPE >
template<typename TYPE >
Downcast base type reference to derived type.
- Template Parameters
-
- Parameters
-
object | base type reference to object |
- Returns
- reference to the same object, cast to derived type
If OBJECTCATALOGVERBOSE
is enabled, will check that runtime name of the object is the same as catalog name of the derived type. Therefore may fail for objects that have been assigned a different name (e.g. through XML "name" attribute).
Definition at line 505 of file ObjectCatalog.hpp.
◆ factory()
template<typename BASETYPE >
Create a new object that derives from BASETYPE.
- Parameters
-
objectTypeName | The key to the catalog entry that is able to create the correct type. |
- Returns
- passes a unique_ptr<BASETYPE> to the newly allocated class.
Definition at line 488 of file ObjectCatalog.hpp.
◆ getCatalog()
template<typename BASETYPE >
Get the catalog from that is stored in the target base class.
- Returns
- returns the catalog for this
Definition at line 467 of file ObjectCatalog.hpp.
◆ operator=() [1/2]
template<typename BASETYPE >
Move assignment operator.
- Returns
- reference to this object
◆ operator=() [2/2]
template<typename BASETYPE >
Copy assignment operator.
- Returns
- reference to this object
The documentation for this class was generated from the following file: