Zserio C++ runtime library  1.0.0
Built for Zserio 2.13.0
zserio::TypeInfoBase< ALLOC > Class Template Referenceabstract

#include <TypeInfo.h>

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

Public Member Functions

 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
 
StringView getTemplateName () const override
 
Span< const BasicTemplateArgumentInfo< ALLOC > > getTemplateArguments () 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::TypeInfoBase< ALLOC >

Type information abstract base class.

This base class implements fully the methods getSchemaName(), getSchemaName() and getCppType(). All other interface methods just throw an exception.

Definition at line 23 of file TypeInfo.h.

Constructor & Destructor Documentation

template<typename ALLOC >
zserio::TypeInfoBase< ALLOC >::TypeInfoBase ( StringView  schemaName,
SchemaType  schemaType,
CppType  cppType 
)

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.

Definition at line 853 of file TypeInfo.h.

template<typename ALLOC >
zserio::TypeInfoBase< ALLOC >::TypeInfoBase ( const TypeInfoBase< ALLOC > &  )
delete

Copying and moving is disallowed!

template<typename ALLOC >
zserio::TypeInfoBase< ALLOC >::TypeInfoBase ( const TypeInfoBase< ALLOC > &&  )
delete

Copying and moving is disallowed!

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

Member Function Documentation

template<typename ALLOC >
IBasicReflectablePtr< ALLOC > zserio::TypeInfoBase< 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.

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::CompoundTypeInfoBase< ALLOC >.

Definition at line 993 of file TypeInfo.h.

template<typename ALLOC >
IBasicReflectablePtr< ALLOC > zserio::TypeInfoBase< ALLOC >::createInstance ( ) const
overridevirtual

Creates new instance of the zserio compound type.

Note
Default constructed allocator is used for allocation of new instance.
Returns
New instance of zserio compound type.
Exceptions
CppRuntimeExceptionIf the zserio type is not compound type.

Implements zserio::IBasicTypeInfo< ALLOC >.

Definition at line 999 of file TypeInfo.h.

template<typename ALLOC >
Span< const ItemInfo > zserio::TypeInfoBase< ALLOC >::getBitmaskValues ( ) const
overridevirtual

Gets the type information for bitmask type values.

Returns
Sequence of type informations for bitmask type values.
Exceptions
CppRuntimeExceptionIf the zserio type is not bitmask type.

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::BitmaskTypeInfo< ALLOC >.

Definition at line 933 of file TypeInfo.h.

template<typename ALLOC >
uint8_t zserio::TypeInfoBase< ALLOC >::getBitSize ( ) const
overridevirtual

Gets the bit size of the fixed size integral schema type.

Returns
The bit size of zserio type.
Exceptions
CppRuntimeExceptionIf the zserio type is not fixed size integral (e.g. varint).

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::FixedSizeBuiltinTypeInfo< ALLOC >.

Definition at line 879 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicCaseInfo< ALLOC > > zserio::TypeInfoBase< ALLOC >::getCases ( ) const
overridevirtual

Gets the type information for choice type cases.

Returns
Sequence of type informations for choice type cases.
Exceptions
CppRuntimeExceptionIf the zserio type is not choice type.

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::ChoiceTypeInfo< ALLOC >.

Definition at line 909 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicColumnInfo< ALLOC > > zserio::TypeInfoBase< ALLOC >::getColumns ( ) const
overridevirtual

Gets the type information for SQL table columns.

Returns
Sequence of type informations for SQL table columns.
Exceptions
CppRuntimeExceptionIf the zserio type is not SQL table type.

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::SqlTableTypeInfo< ALLOC >.

Definition at line 939 of file TypeInfo.h.

template<typename ALLOC >
CppType zserio::TypeInfoBase< ALLOC >::getCppType ( ) const
overridevirtual

Gets the C++ type.

Returns
The C++ type to which zserio type is mapped.

Implements zserio::IBasicTypeInfo< ALLOC >.

Definition at line 873 of file TypeInfo.h.

template<typename ALLOC >
Span< const ItemInfo > zserio::TypeInfoBase< ALLOC >::getEnumItems ( ) const
overridevirtual

Gets the type information for enumeration type items.

Returns
Sequence of type informations for enumeration type items.
Exceptions
CppRuntimeExceptionIf the zserio type is not enumeration type.

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::EnumTypeInfo< ALLOC >.

Definition at line 927 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicFieldInfo< ALLOC > > zserio::TypeInfoBase< ALLOC >::getFields ( ) const
overridevirtual

Gets the type information for compound type fields.

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

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::CompoundTypeInfoBase< ALLOC >.

Definition at line 885 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicFunctionInfo< ALLOC > > zserio::TypeInfoBase< ALLOC >::getFunctions ( ) const
overridevirtual

Gets the type information for compound type functions.

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

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::CompoundTypeInfoBase< ALLOC >.

Definition at line 897 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicMessageInfo< ALLOC > > zserio::TypeInfoBase< ALLOC >::getMessages ( ) const
overridevirtual

Gets the type information for pubsub messages.

Returns
Sequence of type informations for pubsub messages.
Exceptions
CppRuntimeExceptionIf the zserio type is not pubsub type.

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::PubsubTypeInfo< ALLOC >.

Definition at line 981 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicMethodInfo< ALLOC > > zserio::TypeInfoBase< ALLOC >::getMethods ( ) const
overridevirtual

Gets the type information for service methods.

Returns
Sequence of type informations for service methods.
Exceptions
CppRuntimeExceptionIf the zserio type is not service type.

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::ServiceTypeInfo< ALLOC >.

Definition at line 987 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicParameterInfo< ALLOC > > zserio::TypeInfoBase< ALLOC >::getParameters ( ) const
overridevirtual

Gets the type information for compound type parameters.

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

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::CompoundTypeInfoBase< ALLOC >.

Definition at line 891 of file TypeInfo.h.

template<typename ALLOC >
StringView zserio::TypeInfoBase< ALLOC >::getSchemaName ( ) const
overridevirtual

Gets the schema name.

Returns
The zserio full name stored in schema.

Implements zserio::IBasicTypeInfo< ALLOC >.

Definition at line 861 of file TypeInfo.h.

template<typename ALLOC >
SchemaType zserio::TypeInfoBase< ALLOC >::getSchemaType ( ) const
overridevirtual

Gets the schema type.

Returns
The zserio type stored in schema.

Implements zserio::IBasicTypeInfo< ALLOC >.

Definition at line 867 of file TypeInfo.h.

template<typename ALLOC >
StringView zserio::TypeInfoBase< ALLOC >::getSelector ( ) const
overridevirtual

Gets the selector for choice type.

Returns
Selector expression of choice type.
Exceptions
CppRuntimeExceptionIf the zserio type is not choice type.

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::ChoiceTypeInfo< ALLOC >.

Definition at line 903 of file TypeInfo.h.

template<typename ALLOC >
StringView zserio::TypeInfoBase< ALLOC >::getSqlConstraint ( ) const
overridevirtual

Gets the SQL table constraint.

Returns
The SQL table constraint.
Exceptions
CppRuntimeExceptionIf the zserio type is not SQL table type.

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::SqlTableTypeInfo< ALLOC >.

Definition at line 945 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicTableInfo< ALLOC > > zserio::TypeInfoBase< ALLOC >::getTables ( ) const
overridevirtual

Gets the type information for SQL database tables.

Returns
Sequence of type informations for SQL database tables.
Exceptions
CppRuntimeExceptionIf the zserio type is not SQL database type.

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::SqlDatabaseTypeInfo< ALLOC >.

Definition at line 963 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicTemplateArgumentInfo< ALLOC > > zserio::TypeInfoBase< ALLOC >::getTemplateArguments ( ) const
overridevirtual

Gets the type information for template arguments.

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

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::TemplatableTypeInfoBase< ALLOC >.

Definition at line 975 of file TypeInfo.h.

template<typename ALLOC >
StringView zserio::TypeInfoBase< ALLOC >::getTemplateName ( ) const
overridevirtual

Gets the full schema template name.

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

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::TemplatableTypeInfoBase< ALLOC >.

Definition at line 969 of file TypeInfo.h.

template<typename ALLOC >
const IBasicTypeInfo< ALLOC > & zserio::TypeInfoBase< ALLOC >::getUnderlyingType ( ) const
overridevirtual

Gets the reference to type information of underlying zserio type.

Returns
Reference to type information of underlying zserio type.
Exceptions
CppRuntimeExceptionIf the zserio type is not enumeration or bitmask type.

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::TypeInfoWithUnderlyingTypeBase< ALLOC >.

Definition at line 915 of file TypeInfo.h.

template<typename ALLOC >
Span< const StringView > zserio::TypeInfoBase< ALLOC >::getUnderlyingTypeArguments ( ) const
overridevirtual

Gets the reference to type information of underlying zserio type arguments.

Returns
Underlying zserio type arguments.
Exceptions
CppRuntimeExceptionIf the zserio type is not enumeration or bitmask type.

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::TypeInfoWithUnderlyingTypeBase< ALLOC >.

Definition at line 921 of file TypeInfo.h.

template<typename ALLOC >
StringView zserio::TypeInfoBase< ALLOC >::getVirtualTableUsing ( ) const
overridevirtual

Gets the SQL virtual table using specification.

Returns
The SQL virtual table using specification.
Exceptions
CppRuntimeExceptionIf the zserio type is not SQL table type.

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::SqlTableTypeInfo< ALLOC >.

Definition at line 951 of file TypeInfo.h.

template<typename ALLOC >
bool zserio::TypeInfoBase< ALLOC >::isWithoutRowId ( ) const
overridevirtual

Checks if SQL table is without row id table.

Returns
true if SQL table is without row id table, otherwise false.
Exceptions
CppRuntimeExceptionIf the zserio type is not SQL table type.

Implements zserio::IBasicTypeInfo< ALLOC >.

Reimplemented in zserio::SqlTableTypeInfo< ALLOC >.

Definition at line 957 of file TypeInfo.h.

template<typename ALLOC >
TypeInfoBase& zserio::TypeInfoBase< ALLOC >::operator= ( const TypeInfoBase< ALLOC > &  )
delete

Copying and moving is disallowed!

template<typename ALLOC >
TypeInfoBase& zserio::TypeInfoBase< ALLOC >::operator= ( const TypeInfoBase< ALLOC > &&  )
delete

Copying and moving is disallowed!


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