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

#include <TypeInfo.h>

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

Public Types

using TypeInfoFunc) = const IBasicTypeInfo< ALLOC > &(*)(
 

Public Member Functions

 RecursiveTypeInfo (TypeInfoFunc typeInfoFunc)
 
 ~RecursiveTypeInfo () override=default
 
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
 
 RecursiveTypeInfo (const RecursiveTypeInfo &)=delete
 
RecursiveTypeInfooperator= (const RecursiveTypeInfo &)=delete
 
 RecursiveTypeInfo (const RecursiveTypeInfo &&)=delete
 
RecursiveTypeInfooperator= (const RecursiveTypeInfo &&)=delete
 
- Public Member Functions inherited from zserio::IBasicTypeInfo< ALLOC >
virtual ~IBasicTypeInfo ()=default
 

Detailed Description

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

Type info for recursive types used as a wrapper around generated static typeInfo method to prevent infinite recursion in type info definition.

Definition at line 785 of file TypeInfo.h.

Member Typedef Documentation

template<typename ALLOC >
using zserio::RecursiveTypeInfo< ALLOC >::TypeInfoFunc = const IBasicTypeInfo<ALLOC>& (*)(

Typedef to pointer to static typeInfo method on generated objects.

Definition at line 789 of file TypeInfo.h.

Constructor & Destructor Documentation

template<typename ALLOC >
zserio::RecursiveTypeInfo< ALLOC >::RecursiveTypeInfo ( TypeInfoFunc  typeInfoFunc)
inlineexplicit

Constructor.

Parameters
typeInfoFuncPointer to static typeInfo method.

Definition at line 796 of file TypeInfo.h.

template<typename ALLOC >
zserio::RecursiveTypeInfo< ALLOC >::~RecursiveTypeInfo ( )
overridedefault
template<typename ALLOC >
zserio::RecursiveTypeInfo< ALLOC >::RecursiveTypeInfo ( const RecursiveTypeInfo< ALLOC > &  )
delete

Copying and moving is disallowed!

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

Copying and moving is disallowed!

Member Function Documentation

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

Definition at line 1915 of file TypeInfo.h.

template<typename ALLOC >
IBasicReflectablePtr< ALLOC > zserio::RecursiveTypeInfo< 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 1921 of file TypeInfo.h.

template<typename ALLOC >
Span< const ItemInfo > zserio::RecursiveTypeInfo< 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 >.

Definition at line 1855 of file TypeInfo.h.

template<typename ALLOC >
uint8_t zserio::RecursiveTypeInfo< 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 >.

Definition at line 1801 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicCaseInfo< ALLOC > > zserio::RecursiveTypeInfo< 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 >.

Definition at line 1831 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicColumnInfo< ALLOC > > zserio::RecursiveTypeInfo< 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 >.

Definition at line 1861 of file TypeInfo.h.

template<typename ALLOC >
CppType zserio::RecursiveTypeInfo< 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 1795 of file TypeInfo.h.

template<typename ALLOC >
Span< const ItemInfo > zserio::RecursiveTypeInfo< 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 >.

Definition at line 1849 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicFieldInfo< ALLOC > > zserio::RecursiveTypeInfo< 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 >.

Definition at line 1807 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicFunctionInfo< ALLOC > > zserio::RecursiveTypeInfo< 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 >.

Definition at line 1819 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicMessageInfo< ALLOC > > zserio::RecursiveTypeInfo< 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 >.

Definition at line 1903 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicMethodInfo< ALLOC > > zserio::RecursiveTypeInfo< 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 >.

Definition at line 1909 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicParameterInfo< ALLOC > > zserio::RecursiveTypeInfo< 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 >.

Definition at line 1813 of file TypeInfo.h.

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

Gets the schema name.

Returns
The zserio full name stored in schema.

Implements zserio::IBasicTypeInfo< ALLOC >.

Definition at line 1783 of file TypeInfo.h.

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

Gets the schema type.

Returns
The zserio type stored in schema.

Implements zserio::IBasicTypeInfo< ALLOC >.

Definition at line 1789 of file TypeInfo.h.

template<typename ALLOC >
StringView zserio::RecursiveTypeInfo< 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 >.

Definition at line 1825 of file TypeInfo.h.

template<typename ALLOC >
StringView zserio::RecursiveTypeInfo< 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 >.

Definition at line 1867 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicTableInfo< ALLOC > > zserio::RecursiveTypeInfo< 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 >.

Definition at line 1885 of file TypeInfo.h.

template<typename ALLOC >
Span< const BasicTemplateArgumentInfo< ALLOC > > zserio::RecursiveTypeInfo< 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 >.

Definition at line 1897 of file TypeInfo.h.

template<typename ALLOC >
StringView zserio::RecursiveTypeInfo< 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 >.

Definition at line 1891 of file TypeInfo.h.

template<typename ALLOC >
const IBasicTypeInfo< ALLOC > & zserio::RecursiveTypeInfo< 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 >.

Definition at line 1837 of file TypeInfo.h.

template<typename ALLOC >
Span< const StringView > zserio::RecursiveTypeInfo< 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 >.

Definition at line 1843 of file TypeInfo.h.

template<typename ALLOC >
StringView zserio::RecursiveTypeInfo< 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 >.

Definition at line 1873 of file TypeInfo.h.

template<typename ALLOC >
bool zserio::RecursiveTypeInfo< 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 >.

Definition at line 1879 of file TypeInfo.h.

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

Copying and moving is disallowed!

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

Copying and moving is disallowed!


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