Zserio C++ runtime library  1.2.0
Built for Zserio 2.16.0
zserio::CompoundTypeInfoBase< ALLOC > Class Template Referenceabstract

#include <TypeInfo.h>

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

Public Types

using CreateInstanceFunc = IBasicReflectablePtr< ALLOC >(*)(const ALLOC &)
 

Public Member Functions

 CompoundTypeInfoBase (StringView schemaName, CreateInstanceFunc createInstanceFunc, SchemaType schemaType, CppType cppType, StringView templateName, Span< const BasicTemplateArgumentInfo< ALLOC >> templateArguments, Span< const BasicFieldInfo< ALLOC >> fields, Span< const BasicParameterInfo< ALLOC >> parameters, Span< const BasicFunctionInfo< ALLOC >> functions)
 
 ~CompoundTypeInfoBase () override=0
 
 CompoundTypeInfoBase (const CompoundTypeInfoBase &)=default
 
CompoundTypeInfoBaseoperator= (const CompoundTypeInfoBase &)=default
 
 CompoundTypeInfoBase (CompoundTypeInfoBase &&)=default
 
CompoundTypeInfoBaseoperator= (CompoundTypeInfoBase &&)=default
 
Span< const BasicFieldInfo< ALLOC > > getFields () const override
 
Span< const BasicParameterInfo< ALLOC > > getParameters () const override
 
Span< const BasicFunctionInfo< ALLOC > > getFunctions () const override
 
IBasicReflectablePtr< ALLOC > createInstance (const ALLOC &allocator) const override
 
- Public Member Functions inherited from zserio::TemplatableTypeInfoBase< ALLOC >
 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
 
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 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::CompoundTypeInfoBase< ALLOC >

Type information abstract base class for compound types.

Definition at line 476 of file TypeInfo.h.

Member Typedef Documentation

◆ CreateInstanceFunc

template<typename ALLOC >
using zserio::CompoundTypeInfoBase< ALLOC >::CreateInstanceFunc = IBasicReflectablePtr<ALLOC> (*)(const ALLOC&)

Definition at line 480 of file TypeInfo.h.

Constructor & Destructor Documentation

◆ CompoundTypeInfoBase() [1/3]

template<typename ALLOC >
zserio::CompoundTypeInfoBase< ALLOC >::CompoundTypeInfoBase ( StringView  schemaName,
CreateInstanceFunc  createInstanceFunc,
SchemaType  schemaType,
CppType  cppType,
StringView  templateName,
Span< const BasicTemplateArgumentInfo< ALLOC >>  templateArguments,
Span< const BasicFieldInfo< ALLOC >>  fields,
Span< const BasicParameterInfo< ALLOC >>  parameters,
Span< const BasicFunctionInfo< ALLOC >>  functions 
)

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.
fieldsThe sequence of type information for fields.
parametersThe sequence of type information for parameters.
functionsThe sequence of type information for functions.

Definition at line 1549 of file TypeInfo.h.

◆ ~CompoundTypeInfoBase()

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

◆ CompoundTypeInfoBase() [2/3]

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

◆ CompoundTypeInfoBase() [3/3]

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

Member Function Documentation

◆ createInstance()

template<typename ALLOC >
IBasicReflectablePtr< ALLOC > zserio::CompoundTypeInfoBase< ALLOC >::createInstance ( const ALLOC &  allocator) const
overridevirtual

Creates new instance of the zserio compound type.

Parameters
allocatorAllocator to use for allocation of new instance.
Returns
New instance of zserio compound type.
Exceptions
CppRuntimeExceptionIf the zserio type is not compound type.

Reimplemented from zserio::TypeInfoBase< ALLOC >.

Definition at line 1583 of file TypeInfo.h.

◆ getFields()

template<typename ALLOC >
Span< const BasicFieldInfo< ALLOC > > zserio::CompoundTypeInfoBase< ALLOC >::getFields
overridevirtual

Gets the type information for compound type fields.

Returns
Sequence of type information for fields.
Exceptions
CppRuntimeExceptionIf the zserio type is not compound type.

Reimplemented from zserio::TypeInfoBase< ALLOC >.

Definition at line 1565 of file TypeInfo.h.

◆ getFunctions()

template<typename ALLOC >
Span< const BasicFunctionInfo< ALLOC > > zserio::CompoundTypeInfoBase< ALLOC >::getFunctions
overridevirtual

Gets the type information for compound type functions.

Returns
Sequence of type information for functions.
Exceptions
CppRuntimeExceptionIf the zserio type is not compound type.

Reimplemented from zserio::TypeInfoBase< ALLOC >.

Definition at line 1577 of file TypeInfo.h.

◆ getParameters()

template<typename ALLOC >
Span< const BasicParameterInfo< ALLOC > > zserio::CompoundTypeInfoBase< ALLOC >::getParameters
overridevirtual

Gets the type information for compound type parameters.

Returns
Sequence of type information for parameters.
Exceptions
CppRuntimeExceptionIf the zserio type is not compound type.

Reimplemented from zserio::TypeInfoBase< ALLOC >.

Definition at line 1571 of file TypeInfo.h.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

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