Kanzi  3.9.6
Kanzi Engine API
kanzi::MetaclassImpl< TClass > Class Template Reference

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

Inheritance diagram for kanzi::MetaclassImpl< TClass >:
[legend]

Public Member Functions

shared_ptr< MetaObjectcreate (Domain *domain, string_view name) const override
 
bool isMetaclassOf (const MetaObject &object) const override
 Checks whether this metaclass describes the class of an object instance. More...
 
 MetaclassImpl (const Metaclass *baseClass, FixedString name)
 
- Public Member Functions inherited from kanzi::Metaclass
void addMessageType (AbstractMessageType messageType)
 
void addMethod (const MetaMethod *method)
 Registers a method to the metaclass. More...
 
void addMixin (const Metaclass *metaclass)
 
void addNestedMetaclass (const Metaclass *metaclass)
 
void addPropertyType (AbstractPropertyType propertyType)
 
MessageTypeIterator beginMessageTypes () const
 
MetaMethodIterator beginMethod () const
 Creates a const_iterator pointing to the top of the metamethod container. More...
 
MetaclassIterator beginMixinMetaclasses () const
 
MetaclassIterator beginNestedMetaclasses () const
 
PropertyTypeIterator beginPropertyTypes () const
 
template<typename Type >
shared_ptr< Type > create (Domain *domain, string_view name) const
 Creates an instance of a class this metaclass describes. More...
 
MessageTypeIterator endMessageTypes () const
 
MetaMethodIterator endMethod () const
 Creates a const_iterator pointing to the end of the metamethod container. More...
 
MetaclassIterator endMixinMetaclasses () const
 
MetaclassIterator endNestedMetaclasses () const
 
PropertyTypeIterator endPropertyTypes () const
 
const MetaMethodfindMethod (string_view name) const
 Returns the metamethod registered in the metaclass with the given name. More...
 
const MetaclassgetBase () const
 Returns the metaclass of the base class. More...
 
PropertyTypeEditorInfoSharedPtr getEditorInfo () const
 
const char * getName () const
 
bool isAbstract () const
 Returns true if the class described by the metaclass is abstract, false otherwise. More...
 
bool isDerivedFrom (const Metaclass *metaclass) const
 Determines whether the class this metaclass describes derives from a class described by specified metaclass. More...
 
bool isDerivedFromMixin (const Metaclass *metaclass) const
 Searches for the specified metaclass among mixin metaclasses of this metaclass and its base metaclasses. More...
 
bool isSealed () const
 Internal function. More...
 
void seal ()
 Internal function. More...
 
void setEditorInfo (PropertyTypeEditorInfoSharedPtr editorInfo)
 

Additional Inherited Members

- Public Types inherited from kanzi::Metaclass
typedef MessageTypeContainer::const_iterator MessageTypeIterator
 
typedef MetaclassContainer::const_iterator MetaclassIterator
 
typedef MetaMethodContainer::const_iterator MetaMethodIterator
 Iterator for MetaMethod container. More...
 
typedef PropertyTypeContainer::const_iterator PropertyTypeIterator
 
- Protected Member Functions inherited from kanzi::Metaclass
void checkSealed () const
 
void clearAbstract ()
 
 Metaclass (const Metaclass *baseClass, FixedString name)
 
 Metaclass (const Metaclass *baseClass, MetadataGeneratedName name)
 
void setAbstract ()
 
virtual ~Metaclass ()
 

Constructor & Destructor Documentation

◆ MetaclassImpl()

template<typename TClass >
kanzi::MetaclassImpl< TClass >::MetaclassImpl ( const Metaclass baseClass,
FixedString  name 
)
inlineexplicit

Member Function Documentation

◆ isMetaclassOf()

template<typename TClass >
bool kanzi::MetaclassImpl< TClass >::isMetaclassOf ( const MetaObject object) const
inlineoverridevirtual

Checks whether this metaclass describes the class of an object instance.

Implements kanzi::Metaclass.

◆ create()

template<typename TClass >
shared_ptr<MetaObject> kanzi::MetaclassImpl< TClass >::create ( Domain domain,
string_view  name 
) const
inlineoverridevirtual

Implements kanzi::Metaclass.


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