Zserio C++ runtime library  1.1.0
Built for Zserio 2.15.0
zserio::TemplatableTypeInfoBase< ALLOC > Class Template Referenceabstract

#include <TypeInfo.h>

Inheritance diagram for zserio::TemplatableTypeInfoBase< ALLOC >:
Collaboration diagram for zserio::TemplatableTypeInfoBase< ALLOC >:

Public Member Functions

 TemplatableTypeInfoBase (StringView schemaName, SchemaType schemaType, CppType cppType, StringView templateName, Span< const BasicTemplateArgumentInfo< ALLOC >> templateArguments)
 
 ~TemplatableTypeInfoBase () override=0
 
 TemplatableTypeInfoBase (const TemplatableTypeInfoBase &)=default
 
TemplatableTypeInfoBaseoperator= (const TemplatableTypeInfoBase &)=default
 
 TemplatableTypeInfoBase (TemplatableTypeInfoBase &&)=default
 
TemplatableTypeInfoBaseoperator= (TemplatableTypeInfoBase &&)=default
 
StringView getTemplateName () const override
 
Span< const BasicTemplateArgumentInfo< ALLOC > > getTemplateArguments () const override
 
- Public Member Functions inherited from zserio::TypeInfoBase< ALLOC >
 TypeInfoBase (StringView schemaName, SchemaType schemaType, CppType cppType)
 
 ~TypeInfoBase () override=0
 
StringView getSchemaName () const override
 
SchemaType getSchemaType () const override
 
CppType getCppType () const override
 
uint8_t getBitSize () const override
 
Span< const BasicFieldInfo< ALLOC > > getFields () const override
 
Span< const BasicParameterInfo< ALLOC > > getParameters () const override
 
Span< const BasicFunctionInfo< ALLOC > > getFunctions () const override
 
StringView getSelector () const override
 
Span< const BasicCaseInfo< ALLOC > > getCases () const override
 
const IBasicTypeInfo< ALLOC > & getUnderlyingType () const override
 
Span< const StringViewgetUnderlyingTypeArguments () const override
 
Span< const ItemInfogetEnumItems () const override
 
Span< const ItemInfogetBitmaskValues () const override
 
Span< const BasicColumnInfo< ALLOC > > getColumns () const override
 
StringView getSqlConstraint () const override
 
StringView getVirtualTableUsing () const override
 
bool isWithoutRowId () const override
 
Span< const BasicTableInfo< ALLOC > > getTables () const override
 
Span< const BasicMessageInfo< ALLOC > > getMessages () const override
 
Span< const BasicMethodInfo< ALLOC > > getMethods () const override
 
IBasicReflectablePtr< ALLOC > createInstance (const ALLOC &allocator) const override
 
IBasicReflectablePtr< ALLOC > createInstance () const override
 
 TypeInfoBase (const TypeInfoBase &)=delete
 
TypeInfoBaseoperator= (const TypeInfoBase &)=delete
 
 TypeInfoBase (const TypeInfoBase &&)=delete
 
TypeInfoBaseoperator= (const TypeInfoBase &&)=delete
 
- Public Member Functions inherited from zserio::IBasicTypeInfo< ALLOC >
virtual ~IBasicTypeInfo ()=default
 

Detailed Description

template<typename ALLOC>
class zserio::TemplatableTypeInfoBase< ALLOC >

Type information abstract base class for templatable types.

Definition at line 441 of file TypeInfo.h.

Constructor & Destructor Documentation

◆ TemplatableTypeInfoBase() [1/3]

template<typename ALLOC >
zserio::TemplatableTypeInfoBase< ALLOC >::TemplatableTypeInfoBase ( StringView  schemaName,
SchemaType  schemaType,
CppType  cppType,
StringView  templateName,
Span< const BasicTemplateArgumentInfo< ALLOC >>  templateArguments 
)

Constructor.

Parameters
schemaNameThe schema name to be stored in type information.
schemaTypeThe schema type to be stored in type information.
cppTypeThe C++ type to be stored in type information.
templateNameThe full schema template name.
templateArgumentsThe sequence of type information for template arguments.

Definition at line 1525 of file TypeInfo.h.

◆ ~TemplatableTypeInfoBase()

template<typename ALLOC >
zserio::TemplatableTypeInfoBase< ALLOC >::~TemplatableTypeInfoBase ( )
overridepure virtualdefault

◆ TemplatableTypeInfoBase() [2/3]

template<typename ALLOC >
zserio::TemplatableTypeInfoBase< ALLOC >::TemplatableTypeInfoBase ( const TemplatableTypeInfoBase< ALLOC > &  )
default

◆ TemplatableTypeInfoBase() [3/3]

template<typename ALLOC >
zserio::TemplatableTypeInfoBase< ALLOC >::TemplatableTypeInfoBase ( TemplatableTypeInfoBase< ALLOC > &&  )
default

Member Function Documentation

◆ getTemplateArguments()

template<typename ALLOC >
Span< const BasicTemplateArgumentInfo< ALLOC > > zserio::TemplatableTypeInfoBase< ALLOC >::getTemplateArguments
overridevirtual

Gets the type information for template arguments.

Returns
Sequence of type information for template arguments.
Exceptions
CppRuntimeExceptionIf the zserio type is not templatable.

Reimplemented from zserio::TypeInfoBase< ALLOC >.

Definition at line 1543 of file TypeInfo.h.

◆ getTemplateName()

template<typename ALLOC >
StringView zserio::TemplatableTypeInfoBase< ALLOC >::getTemplateName
overridevirtual

Gets the full schema template name.

Returns
The full schema template name.
Exceptions
CppRuntimeExceptionIf the zserio type is not templatable.

Reimplemented from zserio::TypeInfoBase< ALLOC >.

Definition at line 1537 of file TypeInfo.h.

◆ operator=() [1/2]

template<typename ALLOC >
TemplatableTypeInfoBase& zserio::TemplatableTypeInfoBase< ALLOC >::operator= ( const TemplatableTypeInfoBase< ALLOC > &  )
default

◆ operator=() [2/2]

template<typename ALLOC >
TemplatableTypeInfoBase& zserio::TemplatableTypeInfoBase< ALLOC >::operator= ( TemplatableTypeInfoBase< ALLOC > &&  )
default

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