Kanzi 4.0.0-beta2
kanzi::ObjectFactory Class Reference

Factory for creating objects based on metaclass type. More...

#include <kanzi/core/metadata/meta_object_factory.hpp>

Public Types

typedef MetaclassContainer::const_iterator MetaclassIterator
 
typedef MetaclassMap::const_iterator RegisteredMetaclassIterator
 

Public Member Functions

MetaclassIterator beginMetaclasses () const
 
RegisteredMetaclassIterator beginRegisteredMetaclasses () const
 
MetaclassIterator endMetaclasses () const
 
RegisteredMetaclassIterator endRegisteredMetaclasses () const
 
const MetaclassgetMetaclass (string_view className) const
 Gets a metaclass by name.
 
void overrideMetaclass (const Metaclass *metaclass)
 Registers an overriding metaclass.
 
void registerMetaclass (const Metaclass *metaclass)
 Registers a metaclass.
 

Detailed Description

Factory for creating objects based on metaclass type.

Member Typedef Documentation

◆ RegisteredMetaclassIterator

◆ MetaclassIterator

typedef MetaclassContainer::const_iterator kanzi::ObjectFactory::MetaclassIterator

Member Function Documentation

◆ registerMetaclass()

void kanzi::ObjectFactory::registerMetaclass ( const Metaclass * metaclass)

Registers a metaclass.

After registration, the metaclass may be acquired using getMetaclass().

Parameters
metaclassMetaclass to register.

◆ overrideMetaclass()

void kanzi::ObjectFactory::overrideMetaclass ( const Metaclass * metaclass)

Registers an overriding metaclass.

Overwrites the existing registration. A previous registration for the metaclass must exist.

Parameters
metaclassMetaclass to register.

◆ getMetaclass()

const Metaclass * kanzi::ObjectFactory::getMetaclass ( string_view className) const

Gets a metaclass by name.

Parameters
classNameName of the metaclass.

◆ beginRegisteredMetaclasses()

RegisteredMetaclassIterator kanzi::ObjectFactory::beginRegisteredMetaclasses ( ) const
inline

◆ endRegisteredMetaclasses()

RegisteredMetaclassIterator kanzi::ObjectFactory::endRegisteredMetaclasses ( ) const
inline

◆ beginMetaclasses()

MetaclassIterator kanzi::ObjectFactory::beginMetaclasses ( ) const
inline

◆ endMetaclasses()

MetaclassIterator kanzi::ObjectFactory::endMetaclasses ( ) const
inline

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