Zserio C++ runtime library
1.1.0
Built for Zserio 2.15.0
|
#include <ITypeInfo.h>
Public Member Functions | |
virtual | ~IBasicTypeInfo ()=default |
virtual StringView | getSchemaName () const =0 |
virtual SchemaType | getSchemaType () const =0 |
virtual CppType | getCppType () const =0 |
virtual uint8_t | getBitSize () const =0 |
virtual Span< const BasicFieldInfo< ALLOC > > | getFields () const =0 |
virtual Span< const BasicParameterInfo< ALLOC > > | getParameters () const =0 |
virtual Span< const BasicFunctionInfo< ALLOC > > | getFunctions () const =0 |
virtual StringView | getSelector () const =0 |
virtual Span< const BasicCaseInfo< ALLOC > > | getCases () const =0 |
virtual const IBasicTypeInfo< ALLOC > & | getUnderlyingType () const =0 |
virtual Span< const StringView > | getUnderlyingTypeArguments () const =0 |
virtual Span< const ItemInfo > | getEnumItems () const =0 |
virtual Span< const ItemInfo > | getBitmaskValues () const =0 |
virtual Span< const BasicColumnInfo< ALLOC > > | getColumns () const =0 |
virtual StringView | getSqlConstraint () const =0 |
virtual StringView | getVirtualTableUsing () const =0 |
virtual bool | isWithoutRowId () const =0 |
virtual Span< const BasicTableInfo< ALLOC > > | getTables () const =0 |
virtual StringView | getTemplateName () const =0 |
virtual Span< const BasicTemplateArgumentInfo< ALLOC > > | getTemplateArguments () const =0 |
virtual Span< const BasicMessageInfo< ALLOC > > | getMessages () const =0 |
virtual Span< const BasicMethodInfo< ALLOC > > | getMethods () const =0 |
virtual IBasicReflectablePtr< ALLOC > | createInstance (const ALLOC &allocator) const =0 |
virtual IBasicReflectablePtr< ALLOC > | createInstance () const =0 |
Type information interface which is returned from the generated zserio objects.
This interface provides additional schema information of the corresponded zserio object, like schema name, schema type, etc...
Not all methods are implemented for all zserio objects. For example, the method getFields() is implemented for compound types only. To check the zserio object type consider to use TypeInfoUtil helper methods.
Definition at line 112 of file ITypeInfo.h.
|
virtualdefault |
Virtual destructor.
|
pure virtual |
Creates new instance of the zserio compound type.
CppRuntimeException | If the zserio type is not compound type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Creates new instance of the zserio compound type.
allocator | Allocator to use for allocation of new instance. |
CppRuntimeException | If the zserio type is not compound type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::CompoundTypeInfoBase< ALLOC >, and zserio::TypeInfoBase< ALLOC >.
|
pure virtual |
Gets the type information for bitmask type values.
CppRuntimeException | If the zserio type is not bitmask type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::BitmaskTypeInfo< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the bit size of the fixed size integral schema type.
CppRuntimeException | If the zserio type is not fixed size integral (e.g. varint). |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::FixedSizeBuiltinTypeInfo< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the type information for choice type cases.
CppRuntimeException | If the zserio type is not choice type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::ChoiceTypeInfo< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the type information for SQL table columns.
CppRuntimeException | If the zserio type is not SQL table type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::SqlTableTypeInfo< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the C++ type.
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the type information for enumeration type items.
CppRuntimeException | If the zserio type is not enumeration type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::EnumTypeInfo< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the type information for compound type fields.
CppRuntimeException | If the zserio type is not compound type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::CompoundTypeInfoBase< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the type information for compound type functions.
CppRuntimeException | If the zserio type is not compound type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::CompoundTypeInfoBase< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the type information for pubsub messages.
CppRuntimeException | If the zserio type is not pubsub type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::PubsubTypeInfo< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the type information for service methods.
CppRuntimeException | If the zserio type is not service type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::ServiceTypeInfo< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the type information for compound type parameters.
CppRuntimeException | If the zserio type is not compound type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::CompoundTypeInfoBase< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the schema name.
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the schema type.
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the selector for choice type.
CppRuntimeException | If the zserio type is not choice type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::ChoiceTypeInfo< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the SQL table constraint.
CppRuntimeException | If the zserio type is not SQL table type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::SqlTableTypeInfo< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the type information for SQL database tables.
CppRuntimeException | If the zserio type is not SQL database type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::SqlDatabaseTypeInfo< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the type information for template arguments.
CppRuntimeException | If the zserio type is not templatable. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::TemplatableTypeInfoBase< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the full schema template name.
CppRuntimeException | If the zserio type is not templatable. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::TemplatableTypeInfoBase< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the reference to type information of underlying zserio type.
CppRuntimeException | If the zserio type is not enumeration or bitmask type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::TypeInfoWithUnderlyingTypeBase< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the reference to type information of underlying zserio type arguments.
CppRuntimeException | If the zserio type is not enumeration or bitmask type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::TypeInfoWithUnderlyingTypeBase< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Gets the SQL virtual table using specification.
CppRuntimeException | If the zserio type is not SQL table type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::SqlTableTypeInfo< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.
|
pure virtual |
Checks if SQL table is without row id table.
CppRuntimeException | If the zserio type is not SQL table type. |
Implemented in zserio::RecursiveTypeInfo< ALLOC >, zserio::SqlTableTypeInfo< ALLOC >, zserio::TypeInfoBase< ALLOC >, and zserio::TypeInfoBase< std::allocator< uint8_t > >.