Zserio C++ runtime library  1.2.0
Built for Zserio 2.16.0
zserio Namespace Reference

Namespaces

 builtin
 
 literals
 
 pmr
 

Classes

class  AllocatorHolder
 
struct  PropagateAllocatorT
 
class  AnyHolder
 
class  Array
 
class  BitFieldArrayTraits
 
class  DynamicBitFieldArrayTraits
 
class  DynamicBitFieldArrayTraits< T, ELEMENT_BIT_SIZE, typename std::enable_if< has_owner_type< ELEMENT_BIT_SIZE >::value >::type >
 
struct  StdIntArrayTraits
 
struct  VarIntNNArrayTraits
 
struct  VarIntNNArrayTraits< int16_t >
 
struct  VarIntNNArrayTraits< int32_t >
 
struct  VarIntNNArrayTraits< int64_t >
 
struct  VarIntNNArrayTraits< uint16_t >
 
struct  VarIntNNArrayTraits< uint32_t >
 
struct  VarIntNNArrayTraits< uint64_t >
 
struct  VarIntArrayTraits
 
struct  VarIntArrayTraits< int64_t >
 
struct  VarIntArrayTraits< uint64_t >
 
struct  VarSizeArrayTraits
 
struct  Float16ArrayTraits
 
struct  Float32ArrayTraits
 
struct  Float64ArrayTraits
 
struct  BoolArrayTraits
 
struct  BasicBytesArrayTraits
 
struct  BasicStringArrayTraits
 
struct  BasicBitBufferArrayTraits
 
struct  EnumArrayTraits
 
struct  BitmaskArrayTraits
 
class  ObjectArrayTraits
 
class  PackedArrayTraits
 
class  PackedArrayTraits< ARRAY_TRAITS, typename std::enable_if< has_owner_type< ARRAY_TRAITS >::value >::type >
 
class  PackedArrayTraits< EnumArrayTraits< T > >
 
class  PackedArrayTraits< BitmaskArrayTraits< T > >
 
class  PackedArrayTraits< ObjectArrayTraits< T, ELEMENT_FACTORY >, typename std::enable_if< has_owner_type< ObjectArrayTraits< T, ELEMENT_FACTORY > >::value >::type >
 
struct  BitsTag
 
class  BasicBitBuffer
 
class  BitStreamReader
 
class  BitStreamWriter
 
class  ConstraintException
 
class  CppRuntimeException
 
class  DeltaContext
 
struct  EnumTraits
 
class  IPubsub
 
class  IBasicTypeInfo
 
class  IBasicReflectable
 
class  IBasicServiceData
 
class  BasicReflectableServiceData
 
class  BasicObjectServiceData
 
class  BasicRawServiceDataHolder
 
class  BasicRawServiceDataView
 
class  IBasicService
 
class  IBasicServiceClient
 
class  ISqliteDatabase
 
class  ISqliteDatabaseReader
 
struct  BasicFieldInfo
 
struct  BasicParameterInfo
 
struct  BasicFunctionInfo
 
struct  BasicCaseInfo
 
struct  BasicColumnInfo
 
struct  BasicTableInfo
 
struct  BasicTemplateArgumentInfo
 
struct  BasicMessageInfo
 
struct  BasicMethodInfo
 
struct  ItemInfo
 
class  IValidationObserver
 
class  IBasicWalkFilter
 
class  IBasicWalkObserver
 
class  BasicJsonDecoder
 
class  JsonEncoder
 
class  BasicJsonParser
 
class  BasicJsonReader
 
class  JsonParserException
 
class  BasicJsonTokenizer
 
class  BasicJsonWriter
 
struct  NoInitT
 
struct  NullOptType
 
struct  InPlaceT
 
class  ParsingInfo
 
class  PubsubException
 
class  ReflectableBase
 
class  BuiltinReflectableBase
 
class  BuiltinReflectableBase< ALLOC, T, typename std::enable_if< std::is_arithmetic< T >::value||std::is_same< T, StringView >::value||is_span< T >::value >::type >
 
class  IntegralReflectableBase
 
class  SignedReflectableBase
 
class  UnsignedReflectableBase
 
class  BoolReflectable
 
class  Int8ReflectableBase
 
class  Int16ReflectableBase
 
class  Int32ReflectableBase
 
class  Int64ReflectableBase
 
class  UInt8ReflectableBase
 
class  UInt16ReflectableBase
 
class  UInt32ReflectableBase
 
class  UInt64ReflectableBase
 
class  Int8Reflectable
 
class  Int16Reflectable
 
class  Int32Reflectable
 
class  Int64Reflectable
 
class  UInt8Reflectable
 
class  UInt16Reflectable
 
class  UInt32Reflectable
 
class  UInt64Reflectable
 
class  FixedSignedBitFieldReflectable
 
class  FixedSignedBitFieldReflectable< ALLOC, int8_t >
 
class  FixedSignedBitFieldReflectable< ALLOC, int16_t >
 
class  FixedSignedBitFieldReflectable< ALLOC, int32_t >
 
class  FixedSignedBitFieldReflectable< ALLOC, int64_t >
 
class  FixedUnsignedBitFieldReflectable
 
class  FixedUnsignedBitFieldReflectable< ALLOC, uint8_t >
 
class  FixedUnsignedBitFieldReflectable< ALLOC, uint16_t >
 
class  FixedUnsignedBitFieldReflectable< ALLOC, uint32_t >
 
class  FixedUnsignedBitFieldReflectable< ALLOC, uint64_t >
 
class  DynamicSignedBitFieldReflectable
 
class  DynamicSignedBitFieldReflectable< ALLOC, int8_t >
 
class  DynamicSignedBitFieldReflectable< ALLOC, int16_t >
 
class  DynamicSignedBitFieldReflectable< ALLOC, int32_t >
 
class  DynamicSignedBitFieldReflectable< ALLOC, int64_t >
 
class  DynamicUnsignedBitFieldReflectable
 
class  DynamicUnsignedBitFieldReflectable< ALLOC, uint8_t >
 
class  DynamicUnsignedBitFieldReflectable< ALLOC, uint16_t >
 
class  DynamicUnsignedBitFieldReflectable< ALLOC, uint32_t >
 
class  DynamicUnsignedBitFieldReflectable< ALLOC, uint64_t >
 
class  VarInt16Reflectable
 
class  VarInt32Reflectable
 
class  VarInt64Reflectable
 
class  VarIntReflectable
 
class  VarUInt16Reflectable
 
class  VarUInt32Reflectable
 
class  VarUInt64Reflectable
 
class  VarUIntReflectable
 
class  VarSizeReflectable
 
class  FloatingPointReflectableBase
 
class  Float16Reflectable
 
class  Float32Reflectable
 
class  Float64Reflectable
 
class  BytesReflectable
 
class  StringReflectable
 
class  BitBufferReflectable
 
class  ReflectableAllocatorHolderBase
 
class  ReflectableConstAllocatorHolderBase
 
class  ReflectableArrayBase
 
class  ReflectableConstArrayBase
 
class  BuiltinReflectableConstArray
 
class  BuiltinReflectableArray
 
class  FixedBitFieldReflectableConstArray
 
class  FixedBitFieldReflectableArray
 
class  DynamicBitFieldReflectableConstArray
 
class  DynamicBitFieldReflectableArray
 
class  CompoundReflectableConstArray
 
class  CompoundReflectableArray
 
class  BitmaskReflectableConstArray
 
class  BitmaskReflectableArray
 
class  EnumReflectableConstArray
 
class  EnumReflectableArray
 
class  ReflectableOwner
 
class  BasicReflectableFactory
 
class  ReflectableUtil
 
class  ServiceException
 
class  Span
 
class  SqliteConnection
 
class  SqliteErrorCode
 
class  SqliteException
 
struct  SqliteFinalizer
 
class  BasicStringView
 
class  BasicPackingContextNode
 
struct  is_allocator
 
struct  is_allocator< T, detail::void_t< typename detail::decltype_allocate< T >::type, typename detail::decltype_deallocate< T >::type > >
 
struct  is_first_allocator
 
struct  is_first_allocator< T, ARGS... >
 
struct  has_owner_type
 
struct  has_owner_type< T, detail::void_t< typename T::OwnerType > >
 
struct  has_zserio_packing_context
 
struct  has_zserio_packing_context< T, detail::void_t< typename T::ZserioPackingContext > >
 
struct  has_allocator
 
struct  has_allocator< T, detail::void_t< typename T::allocator_type > >
 
struct  has_initialize
 
struct  has_initialize< T, detail::void_t< typename detail::decltype_initialize< T >::type > >
 
struct  has_initialize_children
 
struct  has_initialize_children< T, detail::void_t< typename detail::decltype_initialize_children< T >::type > >
 
struct  has_reflectable
 
struct  has_reflectable< T, detail::void_t< typename detail::decltype_reflectable< T >::type > >
 
struct  has_initialize_offset
 
struct  has_initialize_offset< T, detail::void_t< typename detail::decltype_initialize_offset< T >::type > >
 
struct  has_check_offset
 
struct  has_check_offset< T, detail::void_t< typename detail::decltype_check_offset< T >::type > >
 
struct  has_initialize_element
 
struct  has_initialize_element< T, detail::void_t< typename detail::decltype_initialize_element< T >::type > >
 
struct  is_bitmask
 
struct  is_bitmask< T, detail::void_t< typename detail::decltype_get_value< T >::type, typename T::underlying_type > >
 
struct  is_span
 
struct  is_span< Span< T, Extent > >
 
struct  is_field_constructor_enabled
 
struct  is_field_constructor_enabled< FIELD_TYPE, COMPOUND_TYPE, ALLOCATOR_TYPE, detail::void_t< typename COMPOUND_TYPE::ZserioPackingContext > >
 
class  TypeInfoBase
 
class  BuiltinTypeInfo
 
class  FixedSizeBuiltinTypeInfo
 
class  TemplatableTypeInfoBase
 
class  CompoundTypeInfoBase
 
class  StructTypeInfo
 
class  UnionTypeInfo
 
class  ChoiceTypeInfo
 
class  TypeInfoWithUnderlyingTypeBase
 
class  EnumTypeInfo
 
class  BitmaskTypeInfo
 
class  SqlTableTypeInfo
 
class  SqlDatabaseTypeInfo
 
class  PubsubTypeInfo
 
class  ServiceTypeInfo
 
class  RecursiveTypeInfo
 
struct  TypeInfoUtil
 
struct  ValidationSqliteUtil
 
class  BasicDefaultWalkFilter
 
class  BasicWalker
 
class  BasicDefaultWalkObserver
 
class  BasicDepthWalkFilter
 
class  BasicRegexWalkFilter
 
class  BasicArrayLengthWalkFilter
 
class  BasicAndWalkFilter
 
class  BasicZserioTreeCreator
 

Typedefs

using BytesArrayTraits = BasicBytesArrayTraits<>
 
using StringArrayTraits = BasicStringArrayTraits<>
 
using BitBufferArrayTraits = BasicBitBufferArrayTraits<>
 
using BitBuffer = BasicBitBuffer<>
 
template<typename ALLOC = std::allocator<uint8_t>>
using IBasicServiceDataPtr = std::shared_ptr< IBasicServiceData< ALLOC > >
 
using JsonParser = BasicJsonParser<>
 
using JsonReader = BasicJsonReader<>
 
template<typename T >
using InplaceOptionalHolder = detail::inplace_optional_holder< T >
 
template<typename T , typename ALLOC = std::allocator<T>>
using HeapOptionalHolder = detail::heap_optional_holder< T, ALLOC >
 
template<typename ALLOC , typename T >
using RebindAlloc = typename std::allocator_traits< ALLOC >::template rebind_alloc< T >
 
using ReflectableFactory = BasicReflectableFactory< std::allocator< uint8_t > >
 
template<typename ALLOC = std::allocator<char>>
using string = std::basic_string< char, std::char_traits< char >, RebindAlloc< ALLOC, char > >
 
using StringView = BasicStringView< char, std::char_traits< char > >
 
template<typename FIELD_TYPE , typename COMPOUND_TYPE , typename ALLOCATOR_TYPE >
using is_field_constructor_enabled_t = typename is_field_constructor_enabled< FIELD_TYPE, COMPOUND_TYPE, ALLOCATOR_TYPE >::type
 
template<typename T , typename ALLOC = std::allocator<T>>
using unique_ptr = std::unique_ptr< T, detail::UniquePtrDeleter< ALLOC > >
 
template<typename T , typename ALLOC = std::allocator<T>>
using vector = std::vector< T, RebindAlloc< ALLOC, T > >
 
using ZserioTreeCreator = BasicZserioTreeCreator< std::allocator< uint8_t > >
 
template<typename ALLOC = std::allocator<uint8_t>>
using IBasicReflectablePtr = typename IBasicReflectable< ALLOC >::Ptr
 
template<typename ALLOC = std::allocator<uint8_t>>
using IBasicReflectableConstPtr = typename IBasicReflectable< ALLOC >::ConstPtr
 
using IReflectable = IBasicReflectable<>
 
using IReflectablePtr = IBasicReflectablePtr<>
 
using IReflectableConstPtr = IBasicReflectableConstPtr<>
 
using IServiceData = IBasicServiceData<>
 
using IServiceDataPtr = IBasicServiceDataPtr<>
 
using IService = IBasicService<>
 
using IServiceClient = IBasicServiceClient<>
 
using ReflectableServiceData = BasicReflectableServiceData<>
 
using ObjectServiceData = BasicObjectServiceData<>
 
using RawServiceDataHolder = BasicRawServiceDataHolder<>
 
using RawServiceDataView = BasicRawServiceDataView<>
 
using ITypeInfo = IBasicTypeInfo<>
 
using FieldInfo = BasicFieldInfo<>
 
using ParameterInfo = BasicParameterInfo<>
 
using FunctionInfo = BasicFunctionInfo<>
 
using CaseInfo = BasicCaseInfo<>
 
using ColumnInfo = BasicColumnInfo<>
 
using TableInfo = BasicTableInfo<>
 
using TemplateArgumentInfo = BasicTemplateArgumentInfo<>
 
using MessageInfo = BasicMessageInfo<>
 
using MethodInfo = BasicMethodInfo<>
 
using IWalkFilter = IBasicWalkFilter<>
 
using IWalkObserver = IBasicWalkObserver<>
 
using JsonWriter = BasicJsonWriter<>
 
template<typename ALLOC , typename RAW_ARRAY >
using BoolReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, BoolReflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using BoolReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, BoolReflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using Int8ReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, Int8Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using Int8ReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, Int8Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using Int16ReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, Int16Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using Int16ReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, Int16Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using Int32ReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, Int32Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using Int32ReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, Int32Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using Int64ReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, Int64Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using Int64ReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, Int64Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using UInt8ReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, UInt8Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using UInt8ReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, UInt8Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using UInt16ReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, UInt16Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using UInt16ReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, UInt16Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using UInt32ReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, UInt32Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using UInt32ReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, UInt32Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using UInt64ReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, UInt64Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using UInt64ReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, UInt64Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using FixedSignedBitFieldReflectableConstArray = FixedBitFieldReflectableConstArray< ALLOC, RAW_ARRAY, FixedSignedBitFieldReflectable< ALLOC, typename RAW_ARRAY::value_type > >
 
template<typename ALLOC , typename RAW_ARRAY >
using FixedSignedBitFieldReflectableArray = FixedBitFieldReflectableArray< ALLOC, RAW_ARRAY, FixedSignedBitFieldReflectable< ALLOC, typename RAW_ARRAY::value_type > >
 
template<typename ALLOC , typename RAW_ARRAY >
using FixedUnsignedBitFieldReflectableConstArray = FixedBitFieldReflectableConstArray< ALLOC, RAW_ARRAY, FixedUnsignedBitFieldReflectable< ALLOC, typename RAW_ARRAY::value_type > >
 
template<typename ALLOC , typename RAW_ARRAY >
using FixedUnsignedBitFieldReflectableArray = FixedBitFieldReflectableArray< ALLOC, RAW_ARRAY, FixedUnsignedBitFieldReflectable< ALLOC, typename RAW_ARRAY::value_type > >
 
template<typename ALLOC , typename RAW_ARRAY >
using DynamicSignedBitFieldReflectableConstArray = DynamicBitFieldReflectableConstArray< ALLOC, RAW_ARRAY, DynamicSignedBitFieldReflectable< ALLOC, typename RAW_ARRAY::value_type > >
 
template<typename ALLOC , typename RAW_ARRAY >
using DynamicSignedBitFieldReflectableArray = DynamicBitFieldReflectableArray< ALLOC, RAW_ARRAY, DynamicSignedBitFieldReflectable< ALLOC, typename RAW_ARRAY::value_type > >
 
template<typename ALLOC , typename RAW_ARRAY >
using DynamicUnsignedBitFieldReflectableConstArray = DynamicBitFieldReflectableConstArray< ALLOC, RAW_ARRAY, DynamicUnsignedBitFieldReflectable< ALLOC, typename RAW_ARRAY::value_type > >
 
template<typename ALLOC , typename RAW_ARRAY >
using DynamicUnsignedBitFieldReflectableArray = DynamicBitFieldReflectableArray< ALLOC, RAW_ARRAY, DynamicUnsignedBitFieldReflectable< ALLOC, typename RAW_ARRAY::value_type > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarInt16ReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, VarInt16Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarInt16ReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, VarInt16Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarInt32ReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, VarInt32Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarInt32ReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, VarInt32Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarInt64ReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, VarInt64Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarInt64ReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, VarInt64Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarIntReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, VarIntReflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarIntReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, VarIntReflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarUInt16ReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, VarUInt16Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarUInt16ReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, VarUInt16Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarUInt32ReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, VarUInt32Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarUInt32ReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, VarUInt32Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarUInt64ReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, VarUInt64Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarUInt64ReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, VarUInt64Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarUIntReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, VarUIntReflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarUIntReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, VarUIntReflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarSizeReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, VarSizeReflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using VarSizeReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, VarSizeReflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using Float16ReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, Float16Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using Float16ReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, Float16Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using Float32ReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, Float32Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using Float32ReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, Float32Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using Float64ReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, Float64Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using Float64ReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, Float64Reflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using BytesReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, BytesReflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using BytesReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, BytesReflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using StringReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, StringReflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using StringReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, StringReflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using BitBufferReflectableConstArray = BuiltinReflectableConstArray< ALLOC, RAW_ARRAY, BitBufferReflectable< ALLOC > >
 
template<typename ALLOC , typename RAW_ARRAY >
using BitBufferReflectableArray = BuiltinReflectableArray< ALLOC, RAW_ARRAY, BitBufferReflectable< ALLOC > >
 
using Walker = BasicWalker<>
 
using DefaultWalkObserver = BasicDefaultWalkObserver<>
 
using DefaultWalkFilter = BasicDefaultWalkFilter<>
 
using DepthWalkFilter = BasicDepthWalkFilter<>
 
using RegexWalkFilter = BasicRegexWalkFilter<>
 
using ArrayLengthWalkFilter = BasicArrayLengthWalkFilter<>
 
using AndWalkFilter = BasicAndWalkFilter<>
 

Enumerations

enum  ArrayType {
  NORMAL , IMPLICIT , ALIGNED , AUTO ,
  ALIGNED_AUTO
}
 
enum class  CppType {
  BOOL , INT8 , INT16 , INT32 ,
  INT64 , UINT8 , UINT16 , UINT32 ,
  UINT64 , FLOAT , DOUBLE , BYTES ,
  STRING , BIT_BUFFER , ENUM , BITMASK ,
  STRUCT , CHOICE , UNION , SQL_TABLE ,
  SQL_DATABASE , SERVICE , PUBSUB
}
 
enum class  SchemaType {
  BOOL , INT8 , INT16 , INT32 ,
  INT64 , UINT8 , UINT16 , UINT32 ,
  UINT64 , VARINT16 , VARINT32 , VARINT64 ,
  VARINT , VARUINT16 , VARUINT32 , VARUINT64 ,
  VARUINT , VARSIZE , FIXED_SIGNED_BITFIELD , FIXED_UNSIGNED_BITFIELD ,
  DYNAMIC_SIGNED_BITFIELD , DYNAMIC_UNSIGNED_BITFIELD , FLOAT16 , FLOAT32 ,
  FLOAT64 , BYTES , STRING , EXTERN ,
  ENUM , BITMASK , STRUCT , CHOICE ,
  UNION , SQL_TABLE , SQL_DATABASE , SERVICE ,
  PUBSUB
}
 
enum class  JsonToken : int8_t {
  UNKNOWN = -1 , BEGIN_OF_FILE , END_OF_FILE , BEGIN_OBJECT ,
  END_OBJECT , BEGIN_ARRAY , END_ARRAY , KEY_SEPARATOR ,
  ITEM_SEPARATOR , VALUE
}
 

Functions

template<typename T , typename ALLOC >
allocatorPropagatingCopy (const T &source, const ALLOC &allocator)
 
template<typename T , typename ALLOC , typename ALLOC2 >
AnyHolder< ALLOC > allocatorPropagatingCopy (const AnyHolder< ALLOC > &source, const ALLOC2 &allocator)
 
template<typename T , typename ALLOC >
allocatorPropagatingCopy (NoInitT, const T &source, const ALLOC &allocator)
 
template<typename T , typename ALLOC , typename ALLOC2 >
AnyHolder< ALLOC > allocatorPropagatingCopy (NoInitT, const AnyHolder< ALLOC > &source, const ALLOC2 &allocator)
 
template<typename ARRAY , typename RAW_ARRAY >
ARRAY createOptionalArray (RAW_ARRAY &&rawArray)
 
template<typename ARRAY >
NullOptType createOptionalArray (NullOptType)
 
template<typename ALLOC >
CppRuntimeExceptionoperator<< (CppRuntimeException &exception, const BasicBitBuffer< ALLOC > &bitBuffer)
 
int64_t getBitFieldLowerBound (size_t length, bool isSigned)
 
uint64_t getBitFieldUpperBound (size_t length, bool isSigned)
 
size_t alignTo (size_t alignmentValue, size_t bitPosition)
 
size_t bitSizeOfVarInt16 (int16_t value)
 
size_t bitSizeOfVarInt32 (int32_t value)
 
size_t bitSizeOfVarInt64 (int64_t value)
 
size_t bitSizeOfVarUInt16 (uint16_t value)
 
size_t bitSizeOfVarUInt32 (uint32_t value)
 
size_t bitSizeOfVarUInt64 (uint64_t value)
 
size_t bitSizeOfVarInt (int64_t value)
 
size_t bitSizeOfVarUInt (uint64_t value)
 
size_t bitSizeOfVarSize (uint32_t value)
 
size_t bitSizeOfBytes (Span< const uint8_t > bytesValue)
 
size_t bitSizeOfString (StringView stringValue)
 
template<typename ALLOC >
size_t bitSizeOfBitBuffer (const BasicBitBuffer< ALLOC > &bitBuffer)
 
CppRuntimeExceptionoperator<< (CppRuntimeException &exception, const char *message)
 
CppRuntimeExceptionoperator<< (CppRuntimeException &exception, bool value)
 
CppRuntimeExceptionoperator<< (CppRuntimeException &exception, float value)
 
CppRuntimeExceptionoperator<< (CppRuntimeException &exception, double value)
 
template<typename T , typename std::enable_if< std::is_integral< T >::value, int >::type = 0>
CppRuntimeExceptionoperator<< (CppRuntimeException &exception, T value)
 
template<typename ALLOC >
CppRuntimeExceptionoperator<< (CppRuntimeException &exception, const std::basic_string< char, std::char_traits< char >, ALLOC > &value)
 
template<typename T , typename ALLOC >
CppRuntimeExceptionoperator<< (CppRuntimeException &exception, const std::vector< T, ALLOC > &value)
 
template<typename CPP_RUNTIME_EXCEPTION , typename T >
detail::CppRuntimeExceptionRValueInsertion< CPP_RUNTIME_EXCEPTION, T > operator<< (CPP_RUNTIME_EXCEPTION &&exception, const T &value)
 
template<typename T , typename ALLOC = typename T::allocator_type, typename std::enable_if< is_allocator< ALLOC >::value, int >::type = 0>
void toJsonStream (const T &object, std::ostream &stream, const ALLOC &allocator=ALLOC())
 
template<typename T , typename ALLOC = typename T::allocator_type, typename std::enable_if< is_allocator< ALLOC >::value, int >::type = 0>
void toJsonStream (const T &object, std::ostream &stream, uint8_t indent, const ALLOC &allocator=ALLOC())
 
template<typename T , typename WALK_FILTER , typename ALLOC = typename T::allocator_type, typename std::enable_if< std::is_base_of< IBasicWalkFilter< ALLOC >, typename std::decay< WALK_FILTER >::type >::value, int >::type = 0>
void toJsonStream (const T &object, std::ostream &stream, WALK_FILTER &&walkFilter, const ALLOC &allocator=ALLOC())
 
template<typename T , typename WALK_FILTER , typename ALLOC = typename T::allocator_type, typename std::enable_if< std::is_base_of< IBasicWalkFilter< ALLOC >, typename std::decay< WALK_FILTER >::type >::value, int >::type = 0>
void toJsonStream (const T &object, std::ostream &stream, uint8_t indent, WALK_FILTER &&walkFilter, const ALLOC &allocator=ALLOC())
 
template<typename T , typename ALLOC = typename T::allocator_type, typename std::enable_if< is_allocator< ALLOC >::value, int >::type = 0>
string< ALLOC > toJsonString (const T &object, const ALLOC &allocator=ALLOC())
 
template<typename T , typename ALLOC = typename T::allocator_type, typename std::enable_if< is_allocator< ALLOC >::value, int >::type = 0>
string< ALLOC > toJsonString (const T &object, uint8_t indent, const ALLOC &allocator=ALLOC())
 
template<typename T , typename WALK_FILTER , typename ALLOC = typename T::allocator_type, typename std::enable_if< std::is_base_of< IBasicWalkFilter< ALLOC >, typename std::decay< WALK_FILTER >::type >::value, int >::type = 0>
string< ALLOC > toJsonString (const T &object, WALK_FILTER &&walkFilter, const ALLOC &allocator=ALLOC())
 
template<typename T , typename WALK_FILTER , typename ALLOC = typename T::allocator_type, typename std::enable_if< std::is_base_of< IBasicWalkFilter< ALLOC >, typename std::decay< WALK_FILTER >::type >::value, int >::type = 0>
string< ALLOC > toJsonString (const T &object, uint8_t indent, WALK_FILTER &&walkFilter, const ALLOC &allocator=ALLOC())
 
template<typename T , typename ALLOC = typename T::allocator_type, typename std::enable_if< is_allocator< ALLOC >::value, int >::type = 0>
void toJsonFile (const T &object, const string< ALLOC > &fileName, const ALLOC &allocator=ALLOC())
 
template<typename T , typename ALLOC = typename T::allocator_type, typename std::enable_if< is_allocator< ALLOC >::value, int >::type = 0>
void toJsonFile (const T &object, const string< ALLOC > &fileName, uint8_t indent, const ALLOC &allocator=ALLOC())
 
template<typename T , typename WALK_FILTER , typename ALLOC = typename T::allocator_type, typename std::enable_if< std::is_base_of< IBasicWalkFilter< ALLOC >, typename std::decay< WALK_FILTER >::type >::value, int >::type = 0>
void toJsonFile (const T &object, const string< ALLOC > &fileName, WALK_FILTER &&walkFilter, const ALLOC &allocator=ALLOC())
 
template<typename T , typename WALK_FILTER , typename ALLOC = typename T::allocator_type, typename std::enable_if< std::is_base_of< IBasicWalkFilter< ALLOC >, typename std::decay< WALK_FILTER >::type >::value, int >::type = 0>
void toJsonFile (const T &object, const string< ALLOC > &fileName, uint8_t indent, WALK_FILTER &&walkFilter, const ALLOC &allocator=ALLOC())
 
template<typename ALLOC = std::allocator<uint8_t>>
detail::DebugStringTraits< ALLOC >::ReflectablePtr fromJsonStream (const IBasicTypeInfo< ALLOC > &typeInfo, std::istream &is, const ALLOC &allocator=ALLOC())
 
template<typename T , typename ALLOC = typename T::allocator_type>
fromJsonStream (std::istream &is, const ALLOC &allocator=ALLOC())
 
template<typename ALLOC = std::allocator<uint8_t>>
detail::DebugStringTraits< ALLOC >::ReflectablePtr fromJsonString (const IBasicTypeInfo< ALLOC > &typeInfo, const string< ALLOC > &json, const ALLOC &allocator=ALLOC())
 
template<typename T , typename ALLOC = typename T::allocator_type>
fromJsonString (const string< ALLOC > &json, const ALLOC &allocator=ALLOC())
 
template<typename ALLOC = std::allocator<uint8_t>>
detail::DebugStringTraits< ALLOC >::ReflectablePtr fromJsonFile (const IBasicTypeInfo< ALLOC > &typeInfo, const string< ALLOC > &fileName, const ALLOC &allocator=ALLOC())
 
template<typename T , typename ALLOC = typename T::allocator_type>
fromJsonFile (const string< ALLOC > &fileName, const ALLOC &allocator=ALLOC())
 
template<typename T >
size_t enumToOrdinal (T value)
 
template<typename T >
valueToEnum (typename std::underlying_type< T >::type rawValue)
 
template<typename T >
constexpr std::underlying_type< T >::type enumToValue (T value)
 
template<typename T >
uint32_t enumHashCode (T value)
 
template<typename T >
stringToEnum (StringView itemName)
 
template<typename T >
const char * enumToString (T value)
 
template<typename PACKING_CONTEXT , typename T >
void initPackingContext (PACKING_CONTEXT &context, T value)
 
template<typename T >
size_t bitSizeOf (T value)
 
template<typename PACKING_CONTEXT , typename T >
size_t bitSizeOf (PACKING_CONTEXT &context, T value)
 
template<typename T >
size_t initializeOffsets (size_t bitPosition, T value)
 
template<typename PACKING_CONTEXT , typename T >
size_t initializeOffsets (PACKING_CONTEXT &context, size_t bitPosition, T value)
 
template<typename T >
read (BitStreamReader &in)
 
template<typename T , typename PACKING_CONTEXT >
read (PACKING_CONTEXT &context, BitStreamReader &in)
 
template<typename T >
void write (BitStreamWriter &out, T value)
 
template<typename PACKING_CONTEXT , typename T >
void write (PACKING_CONTEXT &context, BitStreamWriter &out, T value)
 
void writeBufferToFile (const uint8_t *buffer, size_t bitSize, BitsTag, const std::string &fileName)
 
BitBuffer readBufferFromFile (const std::string &fileName)
 
void writeBufferToFile (const uint8_t *buffer, size_t byteSize, const std::string &fileName)
 
template<typename ALLOC >
void writeBufferToFile (const BasicBitBuffer< ALLOC > &bitBuffer, const std::string &fileName)
 
void writeBufferToFile (const BitStreamWriter &writer, const std::string &fileName)
 
float convertUInt16ToFloat (uint16_t float16Value)
 
uint16_t convertFloatToUInt16 (float float32)
 
float convertUInt32ToFloat (uint32_t float32Value)
 
uint32_t convertFloatToUInt32 (float float32)
 
double convertUInt64ToDouble (uint64_t float64Value)
 
uint64_t convertDoubleToUInt64 (double float64)
 
uint32_t calcHashCodeFirstTerm (uint32_t seedValue)
 
template<typename T >
std::enable_if< std::is_integral< T >::value &&(sizeof(T)<=4), uint32_t >::type calcHashCode (uint32_t seedValue, T value)
 
template<typename T >
std::enable_if< std::is_integral< T >::value &&(sizeof(T) > 4), uint32_t >::type calcHashCode (uint32_t seedValue, T value)
 
uint32_t calcHashCode (uint32_t seedValue, float value)
 
uint32_t calcHashCode (uint32_t seedValue, double value)
 
template<typename ALLOC >
uint32_t calcHashCode (uint32_t seedValue, const std::basic_string< char, std::char_traits< char >, ALLOC > &stringValue)
 
template<typename ENUM_TYPE >
std::enable_if< std::is_enum< ENUM_TYPE >::value, uint32_t >::type calcHashCode (uint32_t seedValue, ENUM_TYPE enumValue)
 
template<typename OBJECT >
std::enable_if<!std::is_enum< OBJECT >::value &&!std::is_integral< OBJECT >::value, uint32_t >::type calcHashCode (uint32_t seedValue, const OBJECT &object)
 
template<typename ARRAY_ELEMENT , typename ALLOC >
uint32_t calcHashCode (uint32_t seedValue, const std::vector< ARRAY_ELEMENT, ALLOC > &array)
 
template<typename FIELD >
uint32_t calcHashCode (uint32_t seedValue, const InplaceOptionalHolder< FIELD > &optionalHolder)
 
template<typename FIELD , typename ALLOC >
uint32_t calcHashCode (uint32_t seedValue, const HeapOptionalHolder< FIELD, ALLOC > &optionalHolder)
 
template<typename T , typename ALLOC = std::allocator<uint8_t>>
IBasicReflectablePtr< ALLOC > enumReflectable (T value, const ALLOC &allocator=ALLOC())
 
template<typename T , typename ALLOC = std::allocator<uint8_t>>
const IBasicTypeInfo< ALLOC > & enumTypeInfo ()
 
CppRuntimeExceptionoperator<< (CppRuntimeException &exception, JsonToken token)
 
template<typename T , typename ALLOC , typename... ARGS, typename std::enable_if<!std::is_enum< T >::value &&is_allocator< ALLOC >::value, int >::type = 0>
BasicBitBuffer< ALLOC > serialize (T &object, const ALLOC &allocator, ARGS &&... arguments)
 
template<typename T , typename ALLOC = typename detail::allocator_chooser<T>::type, typename... ARGS, typename std::enable_if<!std::is_enum< T >::value &&!is_first_allocator< typename std::decay< ARGS >::type... >::value, int >::type = 0>
BasicBitBuffer< ALLOC > serialize (T &object, ARGS &&... arguments)
 
template<typename T , typename ALLOC = std::allocator<uint8_t>, typename std::enable_if< std::is_enum< T >::value, int >::type = 0>
BasicBitBuffer< ALLOC > serialize (T enumValue, const ALLOC &allocator=ALLOC())
 
template<typename T , typename ALLOC , typename... ARGS>
std::enable_if<!std::is_enum< T >::value, T >::type deserialize (const BasicBitBuffer< ALLOC > &bitBuffer, ARGS &&... arguments)
 
template<typename T , typename ALLOC >
std::enable_if< std::is_enum< T >::value, T >::type deserialize (const BasicBitBuffer< ALLOC > &bitBuffer)
 
template<typename T , typename ALLOC , typename... ARGS, typename std::enable_if<!std::is_enum< T >::value &&is_allocator< ALLOC >::value, int >::type = 0>
vector< uint8_t, ALLOC > serializeToBytes (T &object, const ALLOC &allocator, ARGS &&... arguments)
 
template<typename T , typename ALLOC = typename detail::allocator_chooser<T>::type, typename... ARGS, typename std::enable_if<!std::is_enum< T >::value &&!is_first_allocator< typename std::decay< ARGS >::type... >::value, int >::type = 0>
vector< uint8_t, ALLOC > serializeToBytes (T &object, ARGS &&... arguments)
 
template<typename T , typename ALLOC = std::allocator<uint8_t>, typename std::enable_if< std::is_enum< T >::value, int >::type = 0>
vector< uint8_t, ALLOC > serializeToBytes (T enumValue, const ALLOC &allocator=ALLOC())
 
template<typename T , typename... ARGS>
std::enable_if<!std::is_enum< T >::value, T >::type deserializeFromBytes (Span< const uint8_t > buffer, ARGS &&... arguments)
 
template<typename T >
std::enable_if< std::is_enum< T >::value, T >::type deserializeFromBytes (Span< const uint8_t > buffer)
 
template<typename T , typename... ARGS>
void serializeToFile (T &object, const std::string &fileName, ARGS &&... arguments)
 
template<typename T , typename... ARGS>
deserializeFromFile (const std::string &fileName, ARGS &&... arguments)
 
uint32_t convertSizeToUInt32 (size_t value)
 
size_t convertUInt64ToSize (uint64_t value)
 
CppRuntimeExceptionoperator<< (CppRuntimeException &exception, SqliteErrorCode code)
 
template<typename T , typename std::enable_if< std::is_unsigned< T >::value, int >::type = 0>
const char * convertIntToString (std::array< char, 24 > &buffer, T value)
 
void convertFloatToString (std::array< char, 24 > &integerPartBuffer, std::array< char, 24 > &floatingPartBuffer, float value, const char *&integerPartString, const char *&floatingPartString)
 
const char * convertBoolToString (bool value)
 
template<typename ALLOC , typename T >
string< ALLOC > toString (T value, const ALLOC &allocator=ALLOC())
 
template<typename ALLOC >
string< ALLOC > toString (bool value, const ALLOC &allocator=ALLOC())
 
template<typename T >
string< std::allocator< char > > toString (T value)
 
template<typename CharT , class Traits >
constexpr bool operator== (BasicStringView< CharT, Traits > lhs, BasicStringView< CharT, Traits > rhs) noexcept
 
template<typename CharT , class Traits >
constexpr bool operator!= (BasicStringView< CharT, Traits > lhs, BasicStringView< CharT, Traits > rhs) noexcept
 
template<typename CharT , class Traits >
constexpr bool operator< (BasicStringView< CharT, Traits > lhs, BasicStringView< CharT, Traits > rhs) noexcept
 
template<typename CharT , class Traits >
constexpr bool operator<= (BasicStringView< CharT, Traits > lhs, BasicStringView< CharT, Traits > rhs) noexcept
 
template<typename CharT , class Traits >
constexpr bool operator> (BasicStringView< CharT, Traits > lhs, BasicStringView< CharT, Traits > rhs) noexcept
 
template<typename CharT , class Traits >
constexpr bool operator>= (BasicStringView< CharT, Traits > lhs, BasicStringView< CharT, Traits > rhs) noexcept
 
template<typename CharT , size_t N>
constexpr BasicStringView< CharT > makeStringView (const CharT(&str)[N])
 
template<typename CharT , typename Traits , typename ALLOC = std::allocator<char>>
std::basic_string< CharT, Traits, RebindAlloc< ALLOC, CharT > > stringViewToString (BasicStringView< CharT, Traits > stringView, const ALLOC &allocator=ALLOC())
 
template<typename CharT , typename Traits , typename ALLOC = std::allocator<char>>
std::basic_string< CharT, Traits, ALLOC > & operator+= (std::basic_string< CharT, Traits, ALLOC > &first, BasicStringView< CharT, Traits > second)
 
template<typename ALLOC >
string< ALLOC > toString (StringView value, const ALLOC &allocator=ALLOC())
 
CppRuntimeExceptionoperator<< (CppRuntimeException &exception, StringView view)
 
constexpr ::zserio::StringView operator""_sv (const char *str, std::size_t len) noexcept
 
template<typename T , typename ALLOC , class... Args>
zserio::unique_ptr< T, RebindAlloc< ALLOC, T > > allocate_unique (const ALLOC &allocator, Args &&... args)
 
CppRuntimeExceptionoperator<< (CppRuntimeException &exception, detail::CreatorState state)
 

Variables

constexpr PropagateAllocatorT PropagateAllocator
 
constexpr NoInitT NoInit
 
constexpr NullOptType NullOpt {int()}
 
constexpr InPlaceT InPlace {}
 
constexpr std::size_t dynamic_extent = std::numeric_limits<std::size_t>::max()
 

Typedef Documentation

◆ AndWalkFilter

Typedefs to walker related classes provided for convenience - using default std::allocator<uint8_t>.

Definition at line 442 of file Walker.h.

◆ ArrayLengthWalkFilter

Typedefs to walker related classes provided for convenience - using default std::allocator<uint8_t>.

Definition at line 441 of file Walker.h.

◆ BitBuffer

using zserio::BitBuffer = typedef BasicBitBuffer<>

Typedef to BitBuffer provided for convenience - using std::allocator<uint8_t>.

Definition at line 444 of file BitBuffer.h.

◆ BitBufferArrayTraits

Definition at line 1603 of file ArrayTraits.h.

◆ BitBufferReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::BitBufferReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, BitBufferReflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2712 of file Reflectable.h.

◆ BitBufferReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::BitBufferReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, BitBufferReflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2709 of file Reflectable.h.

◆ BoolReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::BoolReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, BoolReflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2562 of file Reflectable.h.

◆ BoolReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::BoolReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, BoolReflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2560 of file Reflectable.h.

◆ BytesArrayTraits

Definition at line 1471 of file ArrayTraits.h.

◆ BytesReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::BytesReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, BytesReflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2701 of file Reflectable.h.

◆ BytesReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::BytesReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, BytesReflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2699 of file Reflectable.h.

◆ CaseInfo

using zserio::CaseInfo = typedef BasicCaseInfo<>

Typedef provided for convenience - using default std::allocator<uint8_t>.

Definition at line 538 of file ITypeInfo.h.

◆ ColumnInfo

Typedef provided for convenience - using default std::allocator<uint8_t>.

Definition at line 539 of file ITypeInfo.h.

◆ DefaultWalkFilter

Typedefs to walker related classes provided for convenience - using default std::allocator<uint8_t>.

Definition at line 438 of file Walker.h.

◆ DefaultWalkObserver

Typedefs to walker related classes provided for convenience - using default std::allocator<uint8_t>.

Definition at line 437 of file Walker.h.

◆ DepthWalkFilter

Typedefs to walker related classes provided for convenience - using default std::allocator<uint8_t>.

Definition at line 439 of file Walker.h.

◆ DynamicSignedBitFieldReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::DynamicSignedBitFieldReflectableArray = typedef DynamicBitFieldReflectableArray<ALLOC, RAW_ARRAY, DynamicSignedBitFieldReflectable<ALLOC, typename RAW_ARRAY::value_type> >

Typedef to a builtin array.

Definition at line 2622 of file Reflectable.h.

◆ DynamicSignedBitFieldReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::DynamicSignedBitFieldReflectableConstArray = typedef DynamicBitFieldReflectableConstArray<ALLOC, RAW_ARRAY, DynamicSignedBitFieldReflectable<ALLOC, typename RAW_ARRAY::value_type> >

Typedef to a builtin array.

Definition at line 2619 of file Reflectable.h.

◆ DynamicUnsignedBitFieldReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::DynamicUnsignedBitFieldReflectableArray = typedef DynamicBitFieldReflectableArray<ALLOC, RAW_ARRAY, DynamicUnsignedBitFieldReflectable<ALLOC, typename RAW_ARRAY::value_type> >

Typedef to a builtin array.

Definition at line 2629 of file Reflectable.h.

◆ DynamicUnsignedBitFieldReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::DynamicUnsignedBitFieldReflectableConstArray = typedef DynamicBitFieldReflectableConstArray<ALLOC, RAW_ARRAY, DynamicUnsignedBitFieldReflectable<ALLOC, typename RAW_ARRAY::value_type> >

Typedef to a builtin array.

Definition at line 2626 of file Reflectable.h.

◆ FieldInfo

using zserio::FieldInfo = typedef BasicFieldInfo<>

Typedef provided for convenience - using default std::allocator<uint8_t>.

Definition at line 535 of file ITypeInfo.h.

◆ FixedSignedBitFieldReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::FixedSignedBitFieldReflectableArray = typedef FixedBitFieldReflectableArray<ALLOC, RAW_ARRAY, FixedSignedBitFieldReflectable<ALLOC, typename RAW_ARRAY::value_type> >

Typedef to a builtin array.

Definition at line 2608 of file Reflectable.h.

◆ FixedSignedBitFieldReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::FixedSignedBitFieldReflectableConstArray = typedef FixedBitFieldReflectableConstArray<ALLOC, RAW_ARRAY, FixedSignedBitFieldReflectable<ALLOC, typename RAW_ARRAY::value_type> >

Typedef to a builtin array.

Definition at line 2605 of file Reflectable.h.

◆ FixedUnsignedBitFieldReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::FixedUnsignedBitFieldReflectableArray = typedef FixedBitFieldReflectableArray<ALLOC, RAW_ARRAY, FixedUnsignedBitFieldReflectable<ALLOC, typename RAW_ARRAY::value_type> >

Typedef to a builtin array.

Definition at line 2615 of file Reflectable.h.

◆ FixedUnsignedBitFieldReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::FixedUnsignedBitFieldReflectableConstArray = typedef FixedBitFieldReflectableConstArray<ALLOC, RAW_ARRAY, FixedUnsignedBitFieldReflectable<ALLOC, typename RAW_ARRAY::value_type> >

Typedef to a builtin array.

Definition at line 2612 of file Reflectable.h.

◆ Float16ReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::Float16ReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, Float16Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2686 of file Reflectable.h.

◆ Float16ReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::Float16ReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, Float16Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2684 of file Reflectable.h.

◆ Float32ReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::Float32ReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, Float32Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2691 of file Reflectable.h.

◆ Float32ReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::Float32ReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, Float32Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2689 of file Reflectable.h.

◆ Float64ReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::Float64ReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, Float64Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2696 of file Reflectable.h.

◆ Float64ReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::Float64ReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, Float64Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2694 of file Reflectable.h.

◆ FunctionInfo

Typedef provided for convenience - using default std::allocator<uint8_t>.

Definition at line 537 of file ITypeInfo.h.

◆ HeapOptionalHolder

template<typename T , typename ALLOC = std::allocator<T>>
using zserio::HeapOptionalHolder = typedef detail::heap_optional_holder<T, ALLOC>

Optional holder which uses heap storage.

Definition at line 1019 of file OptionalHolder.h.

◆ IBasicReflectableConstPtr

template<typename ALLOC = std::allocator<uint8_t>>
using zserio::IBasicReflectableConstPtr = typedef typename IBasicReflectable<ALLOC>::ConstPtr

Typedef to reflectable smart pointer needed for convenience in generated code.

Definition at line 534 of file IReflectable.h.

◆ IBasicReflectablePtr

template<typename ALLOC = std::allocator<uint8_t>>
using zserio::IBasicReflectablePtr = typedef typename IBasicReflectable<ALLOC>::Ptr

Typedef to reflectable smart pointer needed for convenience in generated code.

Definition at line 531 of file IReflectable.h.

◆ IBasicServiceDataPtr

template<typename ALLOC = std::allocator<uint8_t>>
using zserio::IBasicServiceDataPtr = typedef std::shared_ptr<IBasicServiceData<ALLOC> >

Typedef to service data smart pointer needed for convenience in generated code.

Definition at line 42 of file IService.h.

◆ InplaceOptionalHolder

template<typename T >
using zserio::InplaceOptionalHolder = typedef detail::inplace_optional_holder<T>

Optional holder which uses in place storage.

Definition at line 1013 of file OptionalHolder.h.

◆ Int16ReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::Int16ReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, Int16Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2572 of file Reflectable.h.

◆ Int16ReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::Int16ReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, Int16Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2570 of file Reflectable.h.

◆ Int32ReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::Int32ReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, Int32Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2577 of file Reflectable.h.

◆ Int32ReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::Int32ReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, Int32Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2575 of file Reflectable.h.

◆ Int64ReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::Int64ReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, Int64Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2582 of file Reflectable.h.

◆ Int64ReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::Int64ReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, Int64Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2580 of file Reflectable.h.

◆ Int8ReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::Int8ReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, Int8Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2567 of file Reflectable.h.

◆ Int8ReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::Int8ReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, Int8Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2565 of file Reflectable.h.

◆ IReflectable

Typedef to reflectable interface provided for convenience - using default std::allocator<uint8_t>.

Definition at line 539 of file IReflectable.h.

◆ IReflectableConstPtr

Typedef to reflectable interface provided for convenience - using default std::allocator<uint8_t>.

Definition at line 541 of file IReflectable.h.

◆ IReflectablePtr

Typedef to reflectable interface provided for convenience - using default std::allocator<uint8_t>.

Definition at line 540 of file IReflectable.h.

◆ is_field_constructor_enabled_t

template<typename FIELD_TYPE , typename COMPOUND_TYPE , typename ALLOCATOR_TYPE >
using zserio::is_field_constructor_enabled_t = typedef typename is_field_constructor_enabled<FIELD_TYPE, COMPOUND_TYPE, ALLOCATOR_TYPE>::type

Helper type used for convenient use of is_field_constructor_enabled.

Definition at line 313 of file Traits.h.

◆ IService

using zserio::IService = typedef IBasicService<>

Typedef to service interface provided for convenience - using default std::allocator<uint8_t>.

Definition at line 251 of file IService.h.

◆ IServiceClient

Typedef to service interface provided for convenience - using default std::allocator<uint8_t>.

Definition at line 252 of file IService.h.

◆ IServiceData

Typedef to service interface provided for convenience - using default std::allocator<uint8_t>.

Definition at line 249 of file IService.h.

◆ IServiceDataPtr

Typedef to service interface provided for convenience - using default std::allocator<uint8_t>.

Definition at line 250 of file IService.h.

◆ ITypeInfo

using zserio::ITypeInfo = typedef IBasicTypeInfo<>

Typedef provided for convenience - using default std::allocator<uint8_t>.

Definition at line 534 of file ITypeInfo.h.

◆ IWalkFilter

Typedefs to walk filter interface provided for convenience - using default std::allocator<uint8_t>.

Definition at line 101 of file IWalkFilter.h.

◆ IWalkObserver

Typedefs to walk observer interface provided for convenience - using default std::allocator<uint8_t>.

Definition at line 92 of file IWalkObserver.h.

◆ JsonParser

Typedef to Json Parser provided for convenience - using default std::allocator<uint8_t>.

Definition at line 356 of file JsonParser.h.

◆ JsonReader

Typedef to Json Reader provided for convenience - using default std::allocator<uint8_t>.

Definition at line 234 of file JsonReader.h.

◆ JsonWriter

Typedef to JsonWriter provided for convenience - using default std::allocator<uint8_t>.

Definition at line 185 of file JsonWriter.h.

◆ MessageInfo

Typedef provided for convenience - using default std::allocator<uint8_t>.

Definition at line 542 of file ITypeInfo.h.

◆ MethodInfo

Typedef provided for convenience - using default std::allocator<uint8_t>.

Definition at line 543 of file ITypeInfo.h.

◆ ObjectServiceData

Typedef to service data implementation provided for convenience - using default std::allocator<uint8_t>.

Definition at line 258 of file IService.h.

◆ ParameterInfo

Typedef provided for convenience - using default std::allocator<uint8_t>.

Definition at line 536 of file ITypeInfo.h.

◆ RawServiceDataHolder

Typedef to service data implementation provided for convenience - using default std::allocator<uint8_t>.

Definition at line 259 of file IService.h.

◆ RawServiceDataView

Typedef to service data implementation provided for convenience - using default std::allocator<uint8_t>.

Definition at line 260 of file IService.h.

◆ RebindAlloc

template<typename ALLOC , typename T >
using zserio::RebindAlloc = typedef typename std::allocator_traits<ALLOC>::template rebind_alloc<T>

Definition at line 10 of file RebindAlloc.h.

◆ ReflectableFactory

using zserio::ReflectableFactory = typedef BasicReflectableFactory<std::allocator<uint8_t> >

Typedef to the reflectable factory provided for convenience - using default std::allocator<uint8_t>.

Definition at line 4046 of file Reflectable.h.

◆ ReflectableServiceData

Typedef to service data implementation provided for convenience - using default std::allocator<uint8_t>.

Definition at line 257 of file IService.h.

◆ RegexWalkFilter

Typedefs to walker related classes provided for convenience - using default std::allocator<uint8_t>.

Definition at line 440 of file Walker.h.

◆ string

template<typename ALLOC = std::allocator<char>>
using zserio::string = typedef std::basic_string<char, std::char_traits<char>, RebindAlloc<ALLOC, char> >

Typedef to std::string provided for convenience - using std::allocator<uint8_t>.

Automatically rebinds the given allocator.

Definition at line 17 of file String.h.

◆ StringArrayTraits

Definition at line 1537 of file ArrayTraits.h.

◆ StringReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::StringReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, StringReflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2706 of file Reflectable.h.

◆ StringReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::StringReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, StringReflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2704 of file Reflectable.h.

◆ StringView

using zserio::StringView = typedef BasicStringView<char, std::char_traits<char> >

Specialization of BasicStringView for char.

Definition at line 968 of file StringView.h.

◆ TableInfo

using zserio::TableInfo = typedef BasicTableInfo<>

Typedef provided for convenience - using default std::allocator<uint8_t>.

Definition at line 540 of file ITypeInfo.h.

◆ TemplateArgumentInfo

Typedef provided for convenience - using default std::allocator<uint8_t>.

Definition at line 541 of file ITypeInfo.h.

◆ UInt16ReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::UInt16ReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, UInt16Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2592 of file Reflectable.h.

◆ UInt16ReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::UInt16ReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, UInt16Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2590 of file Reflectable.h.

◆ UInt32ReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::UInt32ReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, UInt32Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2597 of file Reflectable.h.

◆ UInt32ReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::UInt32ReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, UInt32Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2595 of file Reflectable.h.

◆ UInt64ReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::UInt64ReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, UInt64Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2602 of file Reflectable.h.

◆ UInt64ReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::UInt64ReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, UInt64Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2600 of file Reflectable.h.

◆ UInt8ReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::UInt8ReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, UInt8Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2587 of file Reflectable.h.

◆ UInt8ReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::UInt8ReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, UInt8Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2585 of file Reflectable.h.

◆ unique_ptr

template<typename T , typename ALLOC = std::allocator<T>>
using zserio::unique_ptr = typedef std::unique_ptr<T, detail::UniquePtrDeleter<ALLOC> >

Typedef to std::unique_ptr provided for convenience - using std::allocator.

Uses custom deleter to ensure proper deallocation.

Definition at line 89 of file UniquePtr.h.

◆ VarInt16ReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarInt16ReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, VarInt16Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2636 of file Reflectable.h.

◆ VarInt16ReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarInt16ReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, VarInt16Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2633 of file Reflectable.h.

◆ VarInt32ReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarInt32ReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, VarInt32Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2642 of file Reflectable.h.

◆ VarInt32ReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarInt32ReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, VarInt32Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2639 of file Reflectable.h.

◆ VarInt64ReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarInt64ReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, VarInt64Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2648 of file Reflectable.h.

◆ VarInt64ReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarInt64ReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, VarInt64Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2645 of file Reflectable.h.

◆ VarIntReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarIntReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, VarIntReflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2653 of file Reflectable.h.

◆ VarIntReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarIntReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, VarIntReflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2651 of file Reflectable.h.

◆ VarSizeReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarSizeReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, VarSizeReflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2681 of file Reflectable.h.

◆ VarSizeReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarSizeReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, VarSizeReflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2679 of file Reflectable.h.

◆ VarUInt16ReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarUInt16ReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, VarUInt16Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2659 of file Reflectable.h.

◆ VarUInt16ReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarUInt16ReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, VarUInt16Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2656 of file Reflectable.h.

◆ VarUInt32ReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarUInt32ReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, VarUInt32Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2665 of file Reflectable.h.

◆ VarUInt32ReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarUInt32ReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, VarUInt32Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2662 of file Reflectable.h.

◆ VarUInt64ReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarUInt64ReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, VarUInt64Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2671 of file Reflectable.h.

◆ VarUInt64ReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarUInt64ReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, VarUInt64Reflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2668 of file Reflectable.h.

◆ VarUIntReflectableArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarUIntReflectableArray = typedef BuiltinReflectableArray<ALLOC, RAW_ARRAY, VarUIntReflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2676 of file Reflectable.h.

◆ VarUIntReflectableConstArray

template<typename ALLOC , typename RAW_ARRAY >
using zserio::VarUIntReflectableConstArray = typedef BuiltinReflectableConstArray<ALLOC, RAW_ARRAY, VarUIntReflectable<ALLOC> >

Typedef to a builtin array.

Definition at line 2674 of file Reflectable.h.

◆ vector

template<typename T , typename ALLOC = std::allocator<T>>
using zserio::vector = typedef std::vector<T, RebindAlloc<ALLOC, T> >

Typedef to std::vector provided for convenience - using std::allocator<uint8_t>.

Automatically rebinds the given allocator.

Definition at line 17 of file Vector.h.

◆ Walker

using zserio::Walker = typedef BasicWalker<>

Typedefs to walker related classes provided for convenience - using default std::allocator<uint8_t>.

Definition at line 436 of file Walker.h.

◆ ZserioTreeCreator

using zserio::ZserioTreeCreator = typedef BasicZserioTreeCreator<std::allocator<uint8_t> >

Typedef provided for convenience - using default std::allocator<uint8_t>.

Definition at line 561 of file ZserioTreeCreator.h.

Enumeration Type Documentation

◆ ArrayType

Array type enum which defined type of the underlying array.

Enumerator
NORMAL 

Normal zserio array which has size defined by the Zserio schema.

IMPLICIT 

Implicit zserio array which size is defined by number of remaining bits in the bit stream.

ALIGNED 

Aligned zserio array which is normal zserio array with indexed offsets.

AUTO 

Auto zserio array which has size stored in a hidden field before the array.

ALIGNED_AUTO 

Aligned auto zserio array which is auto zserio array with indexed offsets.

Definition at line 347 of file Array.h.

◆ CppType

enum zserio::CppType
strong

Enumeration which specifies C++ type used in type information.

Enumerator
BOOL 

C++ bool type

INT8 

C++ int8_t type

INT16 

C++ int16_t type

INT32 

C++ int32_t type

INT64 

C++ int64_t type

UINT8 

C++ uint8_t type

UINT16 

C++ uint16_t type

UINT32 

C++ int32_t type

UINT64 

C++ int64_t type

FLOAT 

C++ float type

DOUBLE 

C++ double type

BYTES 

C++ bytes type (mapped as std::vector<uint8_t>)

STRING 

C++ string type

BIT_BUFFER 

C++ zserio::BitBuffer type

ENUM 

C++ enumeration generated from zserio enumeration type

BITMASK 

C++ object generated from zserio bitmask type

STRUCT 

C++ object generated from zserio structure type

CHOICE 

C++ object generated from zserio choice type

UNION 

C++ object generated from zserio union type

SQL_TABLE 

C++ object generated from zserio SQL table type

SQL_DATABASE 

C++ object generated from zserio SQL database type

SERVICE 

C++ object generated from zserio service type

PUBSUB 

C++ object generated from zserio pubsub type

Definition at line 12 of file ITypeInfo.h.

◆ JsonToken

enum zserio::JsonToken : int8_t
strong

Tokens used by Json Tokenizer.

Enumerator
UNKNOWN 
BEGIN_OF_FILE 
END_OF_FILE 
BEGIN_OBJECT 
END_OBJECT 
BEGIN_ARRAY 
END_ARRAY 
KEY_SEPARATOR 
ITEM_SEPARATOR 
VALUE 

Definition at line 19 of file JsonTokenizer.h.

◆ SchemaType

enum zserio::SchemaType
strong

Enumeration which specifies zserio type used in type information.

Enumerator
BOOL 

zserio bool type

INT8 

zserio int8 type

INT16 

zserio int16 type

INT32 

zserio int32 type

INT64 

zserio int64 type

UINT8 

zserio uint8 type

UINT16 

zserio uint16 type

UINT32 

zserio uint32 type

UINT64 

zserio uint64 type

VARINT16 

zserio varint16 type

VARINT32 

zserio varint32 type

VARINT64 

zserio varint64 type

VARINT 

zserio varint type

VARUINT16 

zserio varuint16 type

VARUINT32 

zserio varuint32 type

VARUINT64 

zserio varuint64 type

VARUINT 

zserio varuint type

VARSIZE 

zserio varsize type

FIXED_SIGNED_BITFIELD 

zserio fixed signed bitfield type

FIXED_UNSIGNED_BITFIELD 

zserio fixed unsigned bitfield type

DYNAMIC_SIGNED_BITFIELD 

zserio dynamic signed bitfield type

DYNAMIC_UNSIGNED_BITFIELD 

zserio dynamic unsigned bitfield type

FLOAT16 

zserio float16 type

FLOAT32 

zserio float32 type

FLOAT64 

zserio float64 type

BYTES 

zserio bytes type

STRING 

zserio string type

EXTERN 

zserio extern type

ENUM 

zserio enumeration type

BITMASK 

zserio bitmask type

STRUCT 

zserio structure type

CHOICE 

zserio choice type

UNION 

zserio union type

SQL_TABLE 

zserio SQL table type

SQL_DATABASE 

zserio SQL database type

SERVICE 

zserio service type

PUBSUB 

zserio pubsub type

Definition at line 40 of file ITypeInfo.h.

Function Documentation

◆ alignTo()

size_t zserio::alignTo ( size_t  alignmentValue,
size_t  bitPosition 
)
inline

Aligns the bit size to the given alignment value.

Parameters
alignmentValueValue to align.
bitPositionCurrent bit position where to apply alignment.
Returns
Aligned bit position.

Definition at line 17 of file BitPositionUtil.h.

◆ allocate_unique()

template<typename T , typename ALLOC , class... Args>
zserio::unique_ptr<T, RebindAlloc<ALLOC, T> > zserio::allocate_unique ( const ALLOC &  allocator,
Args &&...  args 
)

Allocates memory for an object of type T using given allocator and constructs it passing args to its constructor.

Parameters
allocatorAllocator to use.
argsList of elements passed to T's constructor.
Returns
Object of type zserio::unique_ptr<T, ALLOC> that owns and stores a pointer to the constructed object.

Definition at line 101 of file UniquePtr.h.

◆ allocatorPropagatingCopy() [1/4]

template<typename T , typename ALLOC , typename ALLOC2 >
AnyHolder< ALLOC > zserio::allocatorPropagatingCopy ( const AnyHolder< ALLOC > &  source,
const ALLOC2 &  allocator 
)

Copy the input any holder, propagating the allocator where needed.

Parameters
sourceAny holder to copy.
allocatorAllocator to be propagated to the target object type constructor.
Returns
Copy of any holder.

Definition at line 297 of file AllocatorPropagatingCopy.h.

◆ allocatorPropagatingCopy() [2/4]

template<typename T , typename ALLOC >
T zserio::allocatorPropagatingCopy ( const T &  source,
const ALLOC &  allocator 
)

Copy the input object, propagating the allocator where needed.

Parameters
sourceObject to copy.
allocatorAllocator to be propagated to the target object type constructor.
Returns
Object copy.

Definition at line 265 of file AllocatorPropagatingCopy.h.

◆ allocatorPropagatingCopy() [3/4]

template<typename T , typename ALLOC , typename ALLOC2 >
AnyHolder< ALLOC > zserio::allocatorPropagatingCopy ( NoInitT  ,
const AnyHolder< ALLOC > &  source,
const ALLOC2 &  allocator 
)

Copy the input any holder, propagating the allocator where needed and prevents initialization.

Parameters
sourceAny holder to copy.
allocatorAllocator to be propagated to the target object type constructor.
Returns
Copy of any holder.

Definition at line 311 of file AllocatorPropagatingCopy.h.

◆ allocatorPropagatingCopy() [4/4]

template<typename T , typename ALLOC >
T zserio::allocatorPropagatingCopy ( NoInitT  ,
const T &  source,
const ALLOC &  allocator 
)

Copy the input object, propagating the allocator where needed and prevents initialization.

Parameters
sourceObject to copy.
allocatorAllocator to be propagated to the target object type constructor.
Returns
Object copy.

Definition at line 281 of file AllocatorPropagatingCopy.h.

◆ bitSizeOf() [1/2]

template<typename PACKING_CONTEXT , typename T >
size_t zserio::bitSizeOf ( PACKING_CONTEXT &  context,
value 
)

Gets bit size of the given enum item when it's inside a packed array.

Note that T can be varuint, so bitSizeOf cannot return constant value and depends on the concrete item.

Parameters
contextPacking context.
valueEnum item.
Returns
Bit size of the enum item.

◆ bitSizeOf() [2/2]

template<typename T >
size_t zserio::bitSizeOf ( value)

Gets bit size of the given enum item.

Note that T can be varuint, so bitSizeOf cannot return constant value and depends on the concrete item.

Parameters
valueEnum item.
Returns
Bit size of the enum item.

◆ bitSizeOfBitBuffer()

template<typename ALLOC >
size_t zserio::bitSizeOfBitBuffer ( const BasicBitBuffer< ALLOC > &  bitBuffer)

Calculates bit size of the bit buffer.

Parameters
bitBufferBit buffer for which to calculate bit size.
Returns
Bit size of the given bit buffer.

Definition at line 124 of file BitSizeOfCalculator.h.

◆ bitSizeOfBytes()

size_t zserio::bitSizeOfBytes ( Span< const uint8_t >  bytesValue)

Calculates bit size of bytes.

Parameters
bytesValueSpan representing the bytes value.
Returns
Bit size of the given bytes value.

Definition at line 167 of file BitSizeOfCalculator.cpp.

◆ bitSizeOfString()

size_t zserio::bitSizeOfString ( StringView  stringValue)

Calculates bit size of the string.

Parameters
stringValueString view for which to calculate bit size.
Returns
Bit size of the given string.

Definition at line 175 of file BitSizeOfCalculator.cpp.

◆ bitSizeOfVarInt()

size_t zserio::bitSizeOfVarInt ( int64_t  value)

Calculates bit size of Zserio varint type.

Parameters
valueVarint value.
Returns
Bit size of the current varint value.

Definition at line 147 of file BitSizeOfCalculator.cpp.

◆ bitSizeOfVarInt16()

size_t zserio::bitSizeOfVarInt16 ( int16_t  value)

Calculates bit size of Zserio varint16 type.

Parameters
valueVarint16 value.
Returns
Bit size of the current varint16 value.

Definition at line 117 of file BitSizeOfCalculator.cpp.

◆ bitSizeOfVarInt32()

size_t zserio::bitSizeOfVarInt32 ( int32_t  value)

Calculates bit size of Zserio varint32 type.

Parameters
valueVarint32 value.
Returns
Bit size of the current varint32 value.

Definition at line 122 of file BitSizeOfCalculator.cpp.

◆ bitSizeOfVarInt64()

size_t zserio::bitSizeOfVarInt64 ( int64_t  value)

Calculates bit size of Zserio varint64 type.

Parameters
valueVarint64 value.
Returns
Bit size of the current varint64 value.

Definition at line 127 of file BitSizeOfCalculator.cpp.

◆ bitSizeOfVarSize()

size_t zserio::bitSizeOfVarSize ( uint32_t  value)

Calculates bit size of Zserio varsize type.

Parameters
valueVarsize value.
Returns
Bit size of the current varsize value.

Definition at line 162 of file BitSizeOfCalculator.cpp.

◆ bitSizeOfVarUInt()

size_t zserio::bitSizeOfVarUInt ( uint64_t  value)

Calculates bit size of Zserio varuint type.

Parameters
valueVaruint value.
Returns
Bit size of the current varuint value.

Definition at line 157 of file BitSizeOfCalculator.cpp.

◆ bitSizeOfVarUInt16()

size_t zserio::bitSizeOfVarUInt16 ( uint16_t  value)

Calculates bit size of Zserio varuint16 type.

Parameters
valueVaruint16 value.
Returns
Bit size of the current varuint16 value.

Definition at line 132 of file BitSizeOfCalculator.cpp.

◆ bitSizeOfVarUInt32()

size_t zserio::bitSizeOfVarUInt32 ( uint32_t  value)

Calculates bit size of Zserio varuint32 type.

Parameters
valueVaruint32 value.
Returns
Bit size of the current varuint32 value.

Definition at line 137 of file BitSizeOfCalculator.cpp.

◆ bitSizeOfVarUInt64()

size_t zserio::bitSizeOfVarUInt64 ( uint64_t  value)

Calculates bit size of Zserio varuint64 type.

Parameters
valueVaruint64 value.
Returns
Bit size of the current varuint64 value.

Definition at line 142 of file BitSizeOfCalculator.cpp.

◆ calcHashCode() [1/10]

template<typename FIELD , typename ALLOC >
uint32_t zserio::calcHashCode ( uint32_t  seedValue,
const HeapOptionalHolder< FIELD, ALLOC > &  optionalHolder 
)
inline

Calculates hash code of the given Zserio optional field using the given seed value.

Parameters
seedValueSeed value (current hash code).
optionalHolderOptional field for which to calculate the hash code.
Returns
Calculated hash code.

Definition at line 192 of file HashCodeUtil.h.

◆ calcHashCode() [2/10]

template<typename FIELD >
uint32_t zserio::calcHashCode ( uint32_t  seedValue,
const InplaceOptionalHolder< FIELD > &  optionalHolder 
)
inline

Calculates hash code of the given Zserio optional field using the given seed value.

Parameters
seedValueSeed value (current hash code).
optionalHolderOptional field for which to calculate the hash code.
Returns
Calculated hash code.

Definition at line 173 of file HashCodeUtil.h.

◆ calcHashCode() [3/10]

template<typename OBJECT >
std::enable_if<!std::is_enum<OBJECT>::value && !std::is_integral<OBJECT>::value, uint32_t>::type zserio::calcHashCode ( uint32_t  seedValue,
const OBJECT &  object 
)
inline

Calculates hash code of the given Zserio object (structure, choice, ...) using the given seed value.

Parameters
seedValueSeed value (current hash code).
objectObject for which to calculate the hash code.
Returns
Calculated hash code.

Definition at line 137 of file HashCodeUtil.h.

◆ calcHashCode() [4/10]

template<typename ALLOC >
uint32_t zserio::calcHashCode ( uint32_t  seedValue,
const std::basic_string< char, std::char_traits< char >, ALLOC > &  stringValue 
)
inline

Calculates hash code of the given string value using the given seed value.

Parameters
seedValueSeed value (current hash code).
stringValueValue for which to calculate the hash code.
Returns
Calculated hash code.

Definition at line 100 of file HashCodeUtil.h.

◆ calcHashCode() [5/10]

template<typename ARRAY_ELEMENT , typename ALLOC >
uint32_t zserio::calcHashCode ( uint32_t  seedValue,
const std::vector< ARRAY_ELEMENT, ALLOC > &  array 
)
inline

Calculates hash code of the given Zserio array using the given seed value.

Parameters
seedValueSeed value (current hash code).
arrayArray for which to calculate the hash code.
Returns
Calculated hash code.

Definition at line 151 of file HashCodeUtil.h.

◆ calcHashCode() [6/10]

uint32_t zserio::calcHashCode ( uint32_t  seedValue,
double  value 
)
inline

Calculates hash code of the given double value using the given seed value.

Parameters
seedValueSeed value (current hash code).
valueValue for which to calculate the hash code.
Returns
Calculated hash code.

Definition at line 86 of file HashCodeUtil.h.

◆ calcHashCode() [7/10]

template<typename ENUM_TYPE >
std::enable_if<std::is_enum<ENUM_TYPE>::value, uint32_t>::type zserio::calcHashCode ( uint32_t  seedValue,
ENUM_TYPE  enumValue 
)
inline

Calculates hash code of the given enum item using the given seed value.

Parameters
seedValueSeed value (current hash code).
enumValueEnum item for which to calculate the hash code.
Returns
Calculated hash code.

Definition at line 121 of file HashCodeUtil.h.

◆ calcHashCode() [8/10]

uint32_t zserio::calcHashCode ( uint32_t  seedValue,
float  value 
)
inline

Calculates hash code of the given float value using the given seed value.

Parameters
seedValueSeed value (current hash code).
valueValue for which to calculate the hash code.
Returns
Calculated hash code.

Definition at line 73 of file HashCodeUtil.h.

◆ calcHashCode() [9/10]

template<typename T >
std::enable_if<std::is_integral<T>::value && (sizeof(T) <= 4), uint32_t>::type zserio::calcHashCode ( uint32_t  seedValue,
value 
)
inline

Calculates hash code of the given integral value using the given seed value.

Parameters
seedValueSeed value (current hash code).
valueValue for which to calculate the hash code.
Returns
Calculated hash code.

Definition at line 43 of file HashCodeUtil.h.

◆ calcHashCode() [10/10]

template<typename T >
std::enable_if<std::is_integral<T>::value && (sizeof(T) > 4), uint32_t>::type zserio::calcHashCode ( uint32_t  seedValue,
value 
)
inline

Calculates hash code of the given integral value using the given seed value.

Parameters
seedValueSeed value (current hash code).
valueValue for which to calculate the hash code.
Returns
Calculated hash code.

Definition at line 58 of file HashCodeUtil.h.

◆ calcHashCodeFirstTerm()

uint32_t zserio::calcHashCodeFirstTerm ( uint32_t  seedValue)
inline

Gets initial hash code calculated from the given seed value.

Parameters
seedValueSeed value (current hash code).
Returns
Hash code.

Definition at line 29 of file HashCodeUtil.h.

◆ convertBoolToString()

const char* zserio::convertBoolToString ( bool  value)
inline

Converts bool value to boolalpha C-string ("true" or "false").

Parameters
valueValue to convert.
Returns
C-string representation of the given bool value.

Definition at line 151 of file StringConvertUtil.h.

◆ convertDoubleToUInt64()

uint64_t zserio::convertDoubleToUInt64 ( double  float64)

Converts 64-bit float (double) to 64-bit float (double) stored in uint64_t value.

Parameters
float64Double precision float to convert.
Returns
Converted double precision float value stored in uint64_t.

Definition at line 193 of file FloatUtil.cpp.

◆ convertFloatToString()

void zserio::convertFloatToString ( std::array< char, 24 > &  integerPartBuffer,
std::array< char, 24 > &  floatingPartBuffer,
float  value,
const char *&  integerPartString,
const char *&  floatingPartString 
)
inline

Converts float to string and writes the result to the given buffer.

Note that only five three digits after point are used and that the buffers are filled from behind.

Parameters
integerPartBufferBuffer to fill with the string representation of the integer part.
floatingPartBufferBuffer to fill with the string representation of the floating part.
valueValue to convert.
floatingPartStringReference where to fill pointer to the beginning of the floating part in string.
integerPartStringReference where to fill pointer to the beginning of the integer part in string.

Definition at line 119 of file StringConvertUtil.h.

◆ convertFloatToUInt16()

uint16_t zserio::convertFloatToUInt16 ( float  float32)

Converts 32-bit float to 16-bit float stored in uint16_t value.

Parameters
float32Single precision float to convert.
Returns
Converted half precision float value stored in uint16_t.

Definition at line 83 of file FloatUtil.cpp.

◆ convertFloatToUInt32()

uint32_t zserio::convertFloatToUInt32 ( float  float32)

Converts 32-bit float to 32-bit float stored in uint32_t value.

Parameters
float32Single precision float to convert.
Returns
Converted single precision float value stored in uint32_t.

Definition at line 177 of file FloatUtil.cpp.

◆ convertIntToString()

template<typename T , typename std::enable_if< std::is_unsigned< T >::value, int >::type = 0>
const char * zserio::convertIntToString ( std::array< char, 24 > &  buffer,
value 
)

Converts unsigned integral value to string and writes the result to the given buffer.

Note that the buffer is filled from behind.

Parameters
bufferBuffer to fill with the string representation of the given value.
valueValue to convert.
Returns
Pointer to the beginning of the resulting string.

Converts signed integral value to string and writes the result to the given buffer.

Note that the buffer is filled from behind.

Parameters
bufferBuffer to fill with the string representation of the given value.
valueValue to convert.
Returns
Pointer to the beginning of the resulting string.

Definition at line 79 of file StringConvertUtil.h.

◆ convertSizeToUInt32()

uint32_t zserio::convertSizeToUInt32 ( size_t  value)

Converts size (array size, string size or bit buffer size) of type size_t to uint32_t value.

Parameters
valueSize of type size_t to convert.
Returns
uint32_t value converted from size.
Exceptions
CppRuntimeExceptionwhen input value is not convertible to uint32_t value.

Definition at line 11 of file SizeConvertUtil.cpp.

◆ convertUInt16ToFloat()

float zserio::convertUInt16ToFloat ( uint16_t  float16Value)

Converts 16-bit float stored in uint16_t value to 32-bit float.

Parameters
float16ValueHalf precision float value stored in uint16_t to convert.
Returns
Converted single precision float.

Definition at line 32 of file FloatUtil.cpp.

◆ convertUInt32ToFloat()

float zserio::convertUInt32ToFloat ( uint32_t  float32Value)

Converts 32-bit float stored in uint32_t value to 32-bit float.

Parameters
float32ValueSingle precision float value stored in uint32_t to convert.
Returns
Converted single precision float.

Definition at line 169 of file FloatUtil.cpp.

◆ convertUInt64ToDouble()

double zserio::convertUInt64ToDouble ( uint64_t  float64Value)

Converts 64-bit float (double) stored in uint64_t value to 64-bit float (double).

Parameters
float64ValueDouble precision float value stored in uint64_t to convert.
Returns
Converted double precision float.

Definition at line 185 of file FloatUtil.cpp.

◆ convertUInt64ToSize()

size_t zserio::convertUInt64ToSize ( uint64_t  value)

Converts uint64_t value to size (array size, string size of bit buffer size).

Parameters
valueuint64_t value to convert.
Returns
size_t value converted from uint64_t value.
Exceptions
CppRuntimeExceptionwhen input value is not convertible to size_t value.

Definition at line 24 of file SizeConvertUtil.cpp.

◆ createOptionalArray() [1/2]

template<typename ARRAY >
NullOptType zserio::createOptionalArray ( NullOptType  )

Overload for NullOpt.

Definition at line 1176 of file Array.h.

◆ createOptionalArray() [2/2]

template<typename ARRAY , typename RAW_ARRAY >
ARRAY zserio::createOptionalArray ( RAW_ARRAY &&  rawArray)

Helper for creating an optional array within templated field constructor, where the raw array can be actually the NullOpt.

Definition at line 1167 of file Array.h.

◆ deserialize() [1/2]

template<typename T , typename ALLOC >
std::enable_if<std::is_enum<T>::value, T>::type zserio::deserialize ( const BasicBitBuffer< ALLOC > &  bitBuffer)

Deserializes given bit buffer to instance of generated enum.

Example:

const SomeZserioEnum enumValue = SomeZserioEnum::SomeEnumValue;
const zserio::BitBuffer bitBuffer = zserio::serialize(enumValue);
const SomeZserioEnum readEnumValue = zserio::deserialize<DummyEnum>(bitBuffer);
BasicBitBuffer< ALLOC > serialize(T &object, const ALLOC &allocator, ARGS &&... arguments)
Parameters
bitBufferBit buffer to use.
Returns
Generated enum created from the given bit buffer.
Exceptions
CppRuntimeExceptionWhen deserialization fails.

Definition at line 220 of file SerializeUtil.h.

◆ deserialize() [2/2]

template<typename T , typename ALLOC , typename... ARGS>
std::enable_if<!std::is_enum<T>::value, T>::type zserio::deserialize ( const BasicBitBuffer< ALLOC > &  bitBuffer,
ARGS &&...  arguments 
)

Deserializes given bit buffer to instance of generated object.

Example:

SomeZserioObject object;
const zserio::BitBuffer bitBuffer = zserio::serialize(object);
SomeZserioObject readObject = zserio::deserialize<SomeZserioObject>(bitBuffer);
Parameters
bitBufferBit buffer to use.
argumentsObject's actual parameters together with allocator for object's read constructor (optional).
Returns
Generated object created from the given bit buffer.
Exceptions
CppRuntimeExceptionWhen deserialization fails.

Definition at line 194 of file SerializeUtil.h.

◆ deserializeFromBytes() [1/2]

template<typename T >
std::enable_if<std::is_enum<T>::value, T>::type zserio::deserializeFromBytes ( Span< const uint8_t >  buffer)

Deserializes given vector of bytes to instance of generated enum.

Example:

const SomeZserioEnum enumValue = SomeZserioEnum::SomeEnumValue;
const SomeZserioEnum readEnumValue = zserio::deserializeFromBytes<DummyEnum>(buffer);
vector< uint8_t, ALLOC > serializeToBytes(T &object, const ALLOC &allocator, ARGS &&... arguments)
std::vector< T, RebindAlloc< ALLOC, T > > vector
Definition: Vector.h:17
Parameters
bitBufferVector of bytes to use.
Returns
Generated enum created from the given vector of bytes.
Exceptions
CppRuntimeExceptionWhen deserialization fails.

Definition at line 374 of file SerializeUtil.h.

◆ deserializeFromBytes() [2/2]

template<typename T , typename... ARGS>
std::enable_if<!std::is_enum<T>::value, T>::type zserio::deserializeFromBytes ( Span< const uint8_t >  buffer,
ARGS &&...  arguments 
)

Deserializes given vector of bytes to instance of generated object.

This method can potentially use all bits of the last byte even if not all of them were written during serialization (because there is no way how to specify exact number of bits). Thus, it could allow reading behind stream (possibly in case of damaged data).

Example:

SomeZserioObject object;
SomeZserioObject readObject = zserio::deserializeFromBytes<SomeZserioObject>(buffer);
Parameters
bitBufferVector of bytes to use.
argumentsObject's actual parameters together with allocator for object's read constructor (optional).
Returns
Generated object created from the given vector of bytes.
Exceptions
CppRuntimeExceptionWhen deserialization fails.

Definition at line 348 of file SerializeUtil.h.

◆ deserializeFromFile()

template<typename T , typename... ARGS>
T zserio::deserializeFromFile ( const std::string &  fileName,
ARGS &&...  arguments 
)

Deserializes given file contents to instance of generated object.

Example:

const std::string fileName = "FileName.bin";
SomeZserioObject object;
zserio::serializeToFile(object, fileName);
SomeZserioObject readObject = zserio::deserializeFromFile<SomeZserioObject>(fileName);
zserio::string< PropagatingPolymorphicAllocator< char > > string
Definition: String.h:15
void serializeToFile(T &object, const std::string &fileName, ARGS &&... arguments)
Note
Please note that BitBuffer is always allocated using 'std::allocator<uint8_t>'.
Parameters
fileNameFile to use.
argumentsObject's arguments (optional).
Returns
Generated object created from the given file contents.
Exceptions
CppRuntimeExceptionWhen deserialization fails.

Definition at line 426 of file SerializeUtil.h.

◆ enumHashCode()

template<typename T >
uint32_t zserio::enumHashCode ( value)

Gets the hash code of the given enum item.

Parameters
valueEnum item.
Returns
Hash code of the enum item.

◆ enumReflectable()

template<typename T , typename ALLOC = std::allocator<uint8_t>>
IBasicReflectablePtr<ALLOC> zserio::enumReflectable ( value,
const ALLOC &  allocator = ALLOC() 
)

Gets reflectable view for the given enum item.

Parameters
valueEnum value to reflect.
allocatorAllocator to use for reflectable allocation.
Returns
Enum reflectable view.

◆ enumToOrdinal()

template<typename T >
size_t zserio::enumToOrdinal ( value)

Gets ordinal number of the given enum item.

Parameters
valueEnum item.
Returns
Ordinal number of the enum item.

◆ enumToString()

template<typename T >
const char* zserio::enumToString ( value)

Gets the name of the given enum item.

Parameters
valueEnum item.
Returns
Name of the enum item.

Definition at line 104 of file Enums.h.

◆ enumToValue()

template<typename T >
constexpr std::underlying_type<T>::type zserio::enumToValue ( value)
constexpr

Gets the underlying raw value of the given enum item.

Parameters
valueEnum item.
Returns
Raw value.

Definition at line 57 of file Enums.h.

◆ enumTypeInfo()

template<typename T , typename ALLOC = std::allocator<uint8_t>>
const IBasicTypeInfo<ALLOC>& zserio::enumTypeInfo ( )

Gets type info for the given enum type.

Returns
Enum type info.

◆ fromJsonFile() [1/2]

template<typename ALLOC = std::allocator<uint8_t>>
detail::DebugStringTraits<ALLOC>::ReflectablePtr zserio::fromJsonFile ( const IBasicTypeInfo< ALLOC > &  typeInfo,
const string< ALLOC > &  fileName,
const ALLOC &  allocator = ALLOC() 
)

Parses JSON debug string from given text file and creates instance of the requested zserio object according to the data contained in the debug string.

Note
The created object can be only partially initialized depending on the JSON debug string.

Example:

#include <sstream>
IReflectablePtr reflectable = fromJsonFile(SomeZserioObject::typeInfo(), "FileName.json");
reflectable->getField("fieldU32")->getUInt32(); // 13
IBasicReflectablePtr<> IReflectablePtr
Definition: IReflectable.h:540
detail::DebugStringTraits< ALLOC >::ReflectablePtr fromJsonFile(const IBasicTypeInfo< ALLOC > &typeInfo, const string< ALLOC > &fileName, const ALLOC &allocator=ALLOC())
Parameters
typeInfoType info of the generated zserio object to create.
fileNameName of file to read.
allocatorAllocator to use.
Returns
Reflectable instance of the requested zserio object.
Exceptions
CppRuntimeExceptionIn case of any error.

Definition at line 579 of file DebugStringUtil.h.

◆ fromJsonFile() [2/2]

template<typename T , typename ALLOC = typename T::allocator_type>
T zserio::fromJsonFile ( const string< ALLOC > &  fileName,
const ALLOC &  allocator = ALLOC() 
)

Parses JSON debug string from given text file and creates instance of the requested zserio object according to the data contained in the debug string.

Note
The created object can be only partially initialized depending on the JSON debug string.
An reflectable instance is created first and then the object is move-constructed from it's any value.

Example:

#include <sstream>
SomeZserioObject someZserioObject = fromJsonFile<SomeZserioObject>("FileName.json");
someZserioObject.getFieldU32(); // 13
Parameters
fileNameName of file to read.
allocatorAllocator to use.
Returns
Instance of the requested zserio object.
Exceptions
CppRuntimeExceptionIn case of any error.

Definition at line 615 of file DebugStringUtil.h.

◆ fromJsonStream() [1/2]

template<typename ALLOC = std::allocator<uint8_t>>
detail::DebugStringTraits<ALLOC>::ReflectablePtr zserio::fromJsonStream ( const IBasicTypeInfo< ALLOC > &  typeInfo,
std::istream &  is,
const ALLOC &  allocator = ALLOC() 
)

Parses JSON debug string from given text stream and creates instance of the requested zserio object according to the data contained in the debug string.

Note
The created object can be only partially initialized depending on the JSON debug string.

Example:

#include <sstream>
std::istringstream is("{ \"fieldU32\": 13 }");
IReflectablePtr reflectable = fromJsonStream(SomeZserioObject::typeInfo(), is);
reflectable->getField("fieldU32")->getUInt32(); // 13
detail::DebugStringTraits< ALLOC >::ReflectablePtr fromJsonStream(const IBasicTypeInfo< ALLOC > &typeInfo, std::istream &is, const ALLOC &allocator=ALLOC())
Parameters
typeInfoType info of the generated zserio object to create.
isText stream to use.
allocatorAllocator to use.
Returns
Reflectable instance of the requested zserio object.
Exceptions
CppRuntimeExceptionIn case of any error.

Definition at line 456 of file DebugStringUtil.h.

◆ fromJsonStream() [2/2]

template<typename T , typename ALLOC = typename T::allocator_type>
T zserio::fromJsonStream ( std::istream &  is,
const ALLOC &  allocator = ALLOC() 
)

Parses JSON debug string from given text stream and creates instance of the requested zserio object according to the data contained in the debug string.

Note
The created object can be only partially initialized depending on the JSON debug string.
An reflectable instance is created first and then the object is move-constructed from it's any value.

Example:

#include <sstream>
std::istringstream is("{ \"fieldU32\": 13 }");
SomeZserioObject someZserioObject = fromJsonStream<SomeZserioObject>(is);
someZserioObject.getFieldU32(); // 13
Parameters
isText stream to use.
allocatorAllocator to use.
Returns
Instance of the requested zserio object.
Exceptions
CppRuntimeExceptionIn case of any error.

Definition at line 488 of file DebugStringUtil.h.

◆ fromJsonString() [1/2]

template<typename ALLOC = std::allocator<uint8_t>>
detail::DebugStringTraits<ALLOC>::ReflectablePtr zserio::fromJsonString ( const IBasicTypeInfo< ALLOC > &  typeInfo,
const string< ALLOC > &  json,
const ALLOC &  allocator = ALLOC() 
)

Parses JSON debug string from given JSON string and creates instance of the requested zserio object according to the data contained in the debug string.

Note
The created object can be only partially initialized depending on the JSON debug string.

Example:

#include <sstream>
std::string str("{ \"fieldU32\": 13 }")
IReflectablePtr reflectable = fromJsonString(SomeZserioObject::typeInfo(), str);
reflectable->getField("fieldU32")->getUInt32(); // 13
detail::DebugStringTraits< ALLOC >::ReflectablePtr fromJsonString(const IBasicTypeInfo< ALLOC > &typeInfo, const string< ALLOC > &json, const ALLOC &allocator=ALLOC())
Parameters
typeInfoType info of the generated zserio object to create.
jsonString to use.
allocatorAllocator to use.
Returns
Reflectable instance of the requested zserio object.
Exceptions
CppRuntimeExceptionIn case of any error.

Definition at line 518 of file DebugStringUtil.h.

◆ fromJsonString() [2/2]

template<typename T , typename ALLOC = typename T::allocator_type>
T zserio::fromJsonString ( const string< ALLOC > &  json,
const ALLOC &  allocator = ALLOC() 
)

Parses JSON debug string from given JSON string and creates instance of the requested zserio object according to the data contained in the debug string.

Note
The created object can be only partially initialized depending on the JSON debug string.
An reflectable instance is created first and then the object is move-constructed from it's any value.

Example:

#include <sstream>
std::string str("{ \"fieldU32\": 13 }")
SomeZserioObject someZserioObject = fromJsonString<SomeZserioObject>(str);
someZserioObject.getFieldU32(); // 13
Parameters
jsonString to use.
allocatorAllocator to use.
Returns
Instance of the requested zserio object.
Exceptions
CppRuntimeExceptionIn case of any error.

Definition at line 550 of file DebugStringUtil.h.

◆ getBitFieldLowerBound()

int64_t zserio::getBitFieldLowerBound ( size_t  length,
bool  isSigned 
)

Calculates lower bound for the given bit field.

Parameters
lengthLength of the bit field.
isSignedWhether the bit field is signed.
Returns
Lower bound for the bit field.

Definition at line 15 of file BitFieldUtil.cpp.

◆ getBitFieldUpperBound()

uint64_t zserio::getBitFieldUpperBound ( size_t  length,
bool  isSigned 
)

Calculates lower bound for the given bit field.

Parameters
lengthLength of the bit field.
isSignedWhether the bit field is signed.
Returns
Upper bound for the bit field.

Definition at line 29 of file BitFieldUtil.cpp.

◆ initializeOffsets() [1/2]

template<typename PACKING_CONTEXT , typename T >
size_t zserio::initializeOffsets ( PACKING_CONTEXT &  context,
size_t  bitPosition,
value 
)

Initializes offsets for the enum item when it's inside a packed array.

Note that T can be varuint, so initializeOffsets cannot return constant value and depends on the concrete item.

Parameters
contextPacking context.
bitPositionCurrent bit position.
valueEnum item.
Returns
Updated bit position which points to the first bit after the enum item.

◆ initializeOffsets() [2/2]

template<typename T >
size_t zserio::initializeOffsets ( size_t  bitPosition,
value 
)

Initializes offsets for the enum item.

Note that T can be varuint, so initializeOffsets cannot return constant value and depends on the concrete item.

Parameters
bitPositionCurrent bit position.
valueEnum item.
Returns
Updated bit position which points to the first bit after the enum item.

◆ initPackingContext()

template<typename PACKING_CONTEXT , typename T >
void zserio::initPackingContext ( PACKING_CONTEXT &  context,
value 
)

Initializes packing context for the given enum item.

Parameters
contextPacking context.
valueEnum item.

◆ makeStringView()

template<typename CharT , size_t N>
constexpr BasicStringView<CharT> zserio::makeStringView ( const CharT(&)  str[N])
constexpr

Convenience function that initializes a string view to given array of chars.

Parameters
strInput string in form of array of characters.
Returns
String view to given input string.

Definition at line 929 of file StringView.h.

◆ operator!=()

template<typename CharT , class Traits >
constexpr bool zserio::operator!= ( BasicStringView< CharT, Traits >  lhs,
BasicStringView< CharT, Traits >  rhs 
)
constexprnoexcept

Comparison operator.

Parameters
lhsLeft hand side operator.
rhsRight hand side operator.
Returns
True if lhs is not equal to rhs.

Definition at line 865 of file StringView.h.

◆ operator+=()

template<typename CharT , typename Traits , typename ALLOC = std::allocator<char>>
std::basic_string<CharT, Traits, ALLOC>& zserio::operator+= ( std::basic_string< CharT, Traits, ALLOC > &  first,
BasicStringView< CharT, Traits >  second 
)

Append string view to string.

Parameters
firstString to which the second string should be appended.
secondString view to append to the first.
Returns
first.

Definition at line 959 of file StringView.h.

◆ operator<()

template<typename CharT , class Traits >
constexpr bool zserio::operator< ( BasicStringView< CharT, Traits >  lhs,
BasicStringView< CharT, Traits >  rhs 
)
constexprnoexcept

Comparison operator.

Parameters
lhsLeft hand side operator.
rhsRight hand side operator.
Returns
True if lhs is less than rhs.

Definition at line 878 of file StringView.h.

◆ operator<<() [1/13]

template<typename CPP_RUNTIME_EXCEPTION , typename T >
detail::CppRuntimeExceptionRValueInsertion<CPP_RUNTIME_EXCEPTION, T> zserio::operator<< ( CPP_RUNTIME_EXCEPTION &&  exception,
const T &  value 
)

Appends any value for which operator<< is implemented to the exception's description.

Overload for rvalue to enable operator<< on a temporary object, .e.g. CppRuntimeException() << "value". Moreover note that this overload preserves the concrete type of the exception!

Parameters
exceptionException to modify.
valueValue to append.
Returns
R-value reference to the original exception to allow operator chaining.

Definition at line 165 of file CppRuntimeException.h.

◆ operator<<() [2/13]

CppRuntimeException & zserio::operator<< ( CppRuntimeException exception,
bool  value 
)

Appends a bool value to the exception's description.

Parameters
exceptionException to modify.
valueBool value to append.
Returns
Reference to the exception to allow operator chaining.

Definition at line 51 of file CppRuntimeException.cpp.

◆ operator<<() [3/13]

template<typename ALLOC >
CppRuntimeException& zserio::operator<< ( CppRuntimeException exception,
const BasicBitBuffer< ALLOC > &  bitBuffer 
)

Allows to append BitBuffer to CppRuntimeException.

Parameters
exceptionException to modify.
bitBufferBit buffer value.
Returns
Reference to the exception to allow operator chaining.

Definition at line 455 of file BitBuffer.h.

◆ operator<<() [4/13]

CppRuntimeException & zserio::operator<< ( CppRuntimeException exception,
const char *  message 
)

Appends a message to the exception's description.

Parameters
exceptionException to modify.
messageDescription of the error to append.
Returns
Reference to the exception to allow operator chaining.

Definition at line 45 of file CppRuntimeException.cpp.

◆ operator<<() [5/13]

template<typename ALLOC >
CppRuntimeException& zserio::operator<< ( CppRuntimeException exception,
const std::basic_string< char, std::char_traits< char >, ALLOC > &  value 
)

Appends a string value to the exception's description.

Parameters
exceptionException to modify.
valueString value to append.
Returns
Reference to the exception to allow operator chaining.

Definition at line 149 of file CppRuntimeException.h.

◆ operator<<() [6/13]

template<typename T , typename ALLOC >
CppRuntimeException& zserio::operator<< ( CppRuntimeException exception,
const std::vector< T, ALLOC > &  value 
)

Appends a vector value to the exception's description.

Parameters
exceptionException to modify.
valueVector value to append.
Returns
Reference to the exception to allow operator chaining.

Definition at line 165 of file CppRuntimeException.h.

◆ operator<<() [7/13]

CppRuntimeException & zserio::operator<< ( CppRuntimeException exception,
detail::CreatorState  state 
)

Allows to append detail::CreatorState to CppRuntimeException.

Parameters
exceptionException to modify.
stateCreator state to append.
Returns
Reference to the exception to allow operator chaining.

Definition at line 6 of file ZserioTreeCreator.cpp.

◆ operator<<() [8/13]

CppRuntimeException & zserio::operator<< ( CppRuntimeException exception,
double  value 
)

Appends a double value to the exception's description.

Parameters
exceptionException to modify.
valueDouble value to append.
Returns
Reference to the exception to allow operator chaining.

Definition at line 72 of file CppRuntimeException.cpp.

◆ operator<<() [9/13]

CppRuntimeException & zserio::operator<< ( CppRuntimeException exception,
float  value 
)

Appends a float value to the exception's description.

Parameters
exceptionException to modify.
valueFloat value to append.
Returns
Reference to the exception to allow operator chaining.

Definition at line 56 of file CppRuntimeException.cpp.

◆ operator<<() [10/13]

CppRuntimeException & zserio::operator<< ( CppRuntimeException exception,
JsonToken  token 
)

Allows to append JsonToken to CppRuntimeException.

Parameters
exceptionException to modify.
tokenJSON Token to append.
Returns
Reference to the exception to allow operator chaining.

Definition at line 6 of file JsonTokenizer.cpp.

◆ operator<<() [11/13]

CppRuntimeException& zserio::operator<< ( CppRuntimeException exception,
SqliteErrorCode  code 
)
inline

Allow to append SqliteErrorCode to CppRuntimeException.

Parameters
exceptionException to modify.
codeSQLite error code.

Definition at line 52 of file SqliteException.h.

◆ operator<<() [12/13]

CppRuntimeException& zserio::operator<< ( CppRuntimeException exception,
StringView  view 
)
inline

Allows to append StringView to CppRuntimeException.

Parameters
exceptionException to modify.
viewString view.
Returns
Reference to the exception to allow operator chaining.

Definition at line 990 of file StringView.h.

◆ operator<<() [13/13]

template<typename T , typename std::enable_if< std::is_integral< T >::value, int >::type = 0>
CppRuntimeException & zserio::operator<< ( CppRuntimeException exception,
value 
)

Appends an integral value to the exception's description.

Parameters
exceptionException to modify.
valueIntegral value to append.
Returns
Reference to the exception to allow operator chaining.

Appends any object which implement getValue() method (e.g. bitmask) to the exception's description.

Parameters
exceptionException to modify.
valueObject with getValue() method to append.
Returns
Reference to the exception to allow operator chaining.

Appends any enumeration value to the exception's description.

Parameters
exceptionException to modify.
valueEnumeration value to append.
Returns
Reference to the exception to allow operator chaining.

Definition at line 118 of file CppRuntimeException.h.

◆ operator<=()

template<typename CharT , class Traits >
constexpr bool zserio::operator<= ( BasicStringView< CharT, Traits >  lhs,
BasicStringView< CharT, Traits >  rhs 
)
constexprnoexcept

Comparison operator.

Parameters
lhsLeft hand side operator.
rhsRight hand side operator.
Returns
True if lhs is less or equal to rhs.

Definition at line 891 of file StringView.h.

◆ operator==()

template<typename CharT , class Traits >
constexpr bool zserio::operator== ( BasicStringView< CharT, Traits >  lhs,
BasicStringView< CharT, Traits >  rhs 
)
constexprnoexcept

Comparison operator.

Parameters
lhsLeft hand side operator.
rhsRight hand side operator.
Returns
True if lhs is equal to rhs.

Definition at line 852 of file StringView.h.

◆ operator>()

template<typename CharT , class Traits >
constexpr bool zserio::operator> ( BasicStringView< CharT, Traits >  lhs,
BasicStringView< CharT, Traits >  rhs 
)
constexprnoexcept

Comparison operator.

Parameters
lhsLeft hand side operator.
rhsRight hand side operator.
Returns
True if lhs is greater than rhs.

Definition at line 904 of file StringView.h.

◆ operator>=()

template<typename CharT , class Traits >
constexpr bool zserio::operator>= ( BasicStringView< CharT, Traits >  lhs,
BasicStringView< CharT, Traits >  rhs 
)
constexprnoexcept

Comparison operator.

Parameters
lhsLeft hand side operator.
rhsRight hand side operator.
Returns
True if lhs is greater or equal to rhs.

Definition at line 917 of file StringView.h.

◆ read() [1/2]

template<typename T >
T zserio::read ( BitStreamReader in)

Reads an enum item.

Parameters
inBit stream reader.
Returns
Enum item read from the bit stream.

◆ read() [2/2]

template<typename T , typename PACKING_CONTEXT >
T zserio::read ( PACKING_CONTEXT &  context,
BitStreamReader in 
)

Reads an enum item which is inside a packed array.

Parameters
contextPacking context.
inBit stream reader.
Returns
Enum item read from the bit stream.

◆ readBufferFromFile()

BitBuffer zserio::readBufferFromFile ( const std::string &  fileName)

Read file to bit buffer object.

Parameters
fileNameFile to read.
Returns
Bit buffer representing the file contents.
Exceptions
CppRuntimeExceptionWhen reading fails.

Definition at line 25 of file FileUtil.cpp.

◆ serialize() [1/3]

template<typename T , typename ALLOC = typename detail::allocator_chooser<T>::type, typename... ARGS, typename std::enable_if<!std::is_enum< T >::value &&!is_first_allocator< typename std::decay< ARGS >::type... >::value, int >::type = 0>
BasicBitBuffer<ALLOC> zserio::serialize ( T &  object,
ARGS &&...  arguments 
)

Serializes given generated object to bit buffer using default allocator 'std::allocator<uint8_t>'.

Before serialization, the method properly calls on the given zserio object methods initialize() (if exits), initializeChildren() (if exists) and initializeOffsets().

Example:

SomeZserioObject object;
const zserio::BitBuffer bitBuffer = zserio::serialize(object);
Parameters
objectGenerated object to serialize.
argumentsObject's actual parameters for initialize() method (optional).
Returns
Bit buffer containing the serialized object.
Exceptions
CppRuntimeExceptionWhen serialization fails.

Definition at line 141 of file SerializeUtil.h.

◆ serialize() [2/3]

template<typename T , typename ALLOC , typename... ARGS, typename std::enable_if<!std::is_enum< T >::value &&is_allocator< ALLOC >::value, int >::type = 0>
BasicBitBuffer<ALLOC> zserio::serialize ( T &  object,
const ALLOC &  allocator,
ARGS &&...  arguments 
)

Serializes given generated object to bit buffer using given allocator.

Before serialization, the method properly calls on the given zserio object methods initialize() (if exits), initializeChildren() (if exists) and initializeOffsets().

Example:

Parameters
objectGenerated object to serialize.
allocatorAllocator to use to allocate bit buffer.
argumentsObject's actual parameters for initialize() method (optional).
Returns
Bit buffer containing the serialized object.
Exceptions
CppRuntimeExceptionWhen serialization fails.

Definition at line 111 of file SerializeUtil.h.

◆ serialize() [3/3]

template<typename T , typename ALLOC = std::allocator<uint8_t>, typename std::enable_if< std::is_enum< T >::value, int >::type = 0>
BasicBitBuffer<ALLOC> zserio::serialize ( enumValue,
const ALLOC &  allocator = ALLOC() 
)

Serializes given generated enum to bit buffer.

Example:

const SomeZserioEnum enumValue = SomeZserioEnum::SomeEnumValue;
const zserio::BitBuffer bitBuffer = zserio::serialize(enumValue);
Parameters
enumValueGenerated enum to serialize.
allocatorAllocator to use to allocate bit buffer.
Returns
Bit buffer containing the serialized enum.
Exceptions
CppRuntimeExceptionWhen serialization fails.

Definition at line 166 of file SerializeUtil.h.

◆ serializeToBytes() [1/3]

template<typename T , typename ALLOC = typename detail::allocator_chooser<T>::type, typename... ARGS, typename std::enable_if<!std::is_enum< T >::value &&!is_first_allocator< typename std::decay< ARGS >::type... >::value, int >::type = 0>
vector<uint8_t, ALLOC> zserio::serializeToBytes ( T &  object,
ARGS &&...  arguments 
)

Serializes given generated object to vector of bytes using default allocator 'std::allocator<uint8_t>'.

Before serialization, the method properly calls on the given zserio object methods initialize() (if exits), initializeChildren() (if exists) and initializeOffsets().

However, it's still possible that not all bits of the last byte are used. In this case, only most significant bits of the corresponding size are used.

Example:

SomeZserioObject object;
Parameters
objectGenerated object to serialize.
argumentsObject's actual parameters for initialize() method (optional).
Returns
Vector of bytes containing the serialized object.
Exceptions
CppRuntimeExceptionWhen serialization fails.

Definition at line 289 of file SerializeUtil.h.

◆ serializeToBytes() [2/3]

template<typename T , typename ALLOC , typename... ARGS, typename std::enable_if<!std::is_enum< T >::value &&is_allocator< ALLOC >::value, int >::type = 0>
vector<uint8_t, ALLOC> zserio::serializeToBytes ( T &  object,
const ALLOC &  allocator,
ARGS &&...  arguments 
)

Serializes given generated object to vector of bytes using given allocator.

Before serialization, the method properly calls on the given zserio object methods initialize() (if exits), initializeChildren() (if exists) and initializeOffsets().

Example:

SomeZserioObject object(allocator);
zserio::serializeToBytes(object, allocator);
Parameters
objectGenerated object to serialize.
allocatorAllocator to use to allocate vector.
argumentsObject's actual parameters for initialize() method (optional).
Returns
Vector of bytes containing the serialized object.
Exceptions
CppRuntimeExceptionWhen serialization fails.

Definition at line 253 of file SerializeUtil.h.

◆ serializeToBytes() [3/3]

template<typename T , typename ALLOC = std::allocator<uint8_t>, typename std::enable_if< std::is_enum< T >::value, int >::type = 0>
vector<uint8_t, ALLOC> zserio::serializeToBytes ( enumValue,
const ALLOC &  allocator = ALLOC() 
)

Serializes given generated enum to vector of bytes.

Example:

const SomeZserioEnum enumValue = SomeZserioEnum::SomeEnumValue;
Parameters
enumValueGenerated enum to serialize.
allocatorAllocator to use to allocate vector.
Returns
Vector of bytes containing the serialized enum.
Exceptions
CppRuntimeExceptionWhen serialization fails.

Definition at line 317 of file SerializeUtil.h.

◆ serializeToFile()

template<typename T , typename... ARGS>
void zserio::serializeToFile ( T &  object,
const std::string &  fileName,
ARGS &&...  arguments 
)

Serializes given generated object to file.

Example:

SomeZserioObject object;
zserio::serializeToFile(object, "FileName.bin");
Parameters
objectGenerated object to serialize.
fileNameFile name to write.
Exceptions
CppRuntimeExceptionWhen serialization fails.

Definition at line 397 of file SerializeUtil.h.

◆ stringToEnum()

template<typename T >
T zserio::stringToEnum ( StringView  itemName)

Converts the given enum item name to an appropriate enum item.

Parameters
itemNameName of the enum item.
Returns
Enum item corresponding to the itemName.
Exceptions
CppRuntimeExceptionwhen the itemName doesn't match to any enum item.

Definition at line 82 of file Enums.h.

◆ stringViewToString()

template<typename CharT , typename Traits , typename ALLOC = std::allocator<char>>
std::basic_string<CharT, Traits, RebindAlloc<ALLOC, CharT> > zserio::stringViewToString ( BasicStringView< CharT, Traits >  stringView,
const ALLOC &  allocator = ALLOC() 
)

Convenience function that constructs string from a string view and allocator.

Parameters
stringViewString view to convert.
allocatorAllocator to use for the string construction.
Returns
String constructed from the string view and allocator.

Definition at line 944 of file StringView.h.

◆ toJsonFile() [1/4]

template<typename T , typename ALLOC = typename T::allocator_type, typename std::enable_if< is_allocator< ALLOC >::value, int >::type = 0>
void zserio::toJsonFile ( const T &  object,
const string< ALLOC > &  fileName,
const ALLOC &  allocator = ALLOC() 
)

Writes contents of given zserio object to debug file in JSON format using Walker with JsonWriter.

Example:

SomeZserioObject object;
zserio::toJsonFile(object, "FileName.json");
void toJsonFile(const T &object, const string< ALLOC > &fileName, const ALLOC &allocator=ALLOC())
Parameters
objectZserio object to use.
fileNameName of file to write.
allocatorAllocator to use.

Definition at line 335 of file DebugStringUtil.h.

◆ toJsonFile() [2/4]

template<typename T , typename ALLOC = typename T::allocator_type, typename std::enable_if< is_allocator< ALLOC >::value, int >::type = 0>
void zserio::toJsonFile ( const T &  object,
const string< ALLOC > &  fileName,
uint8_t  indent,
const ALLOC &  allocator = ALLOC() 
)

Writes contents of given zserio object to debug file in JSON format using Walker with JsonWriter.

This function allows setting of indentation of JSON output.

Example:

SomeZserioObject object;
const uint8_t indent = 4;
zserio::toJsonFile(object, "FileName.json", indent);
Parameters
objectZserio object to use.
fileNameName of file to write.
indentIndent argument for JsonWriter.
allocatorAllocator to use.
Exceptions
CppRuntimeExceptionWhen the writing fails.

Definition at line 363 of file DebugStringUtil.h.

◆ toJsonFile() [3/4]

template<typename T , typename WALK_FILTER , typename ALLOC = typename T::allocator_type, typename std::enable_if< std::is_base_of< IBasicWalkFilter< ALLOC >, typename std::decay< WALK_FILTER >::type >::value, int >::type = 0>
void zserio::toJsonFile ( const T &  object,
const string< ALLOC > &  fileName,
uint8_t  indent,
WALK_FILTER &&  walkFilter,
const ALLOC &  allocator = ALLOC() 
)

Writes contents of given zserio object to debug file in JSON format using Walker with JsonWriter.

This function allows setting of indentation of JSON output together with the walk filter.

Example:

SomeZserioObject object;
const uint8_t indent = 4;
zserio::toJsonFile(object, "FileName.json", indent, walkFilter);
Parameters
objectZserio object to use.
fileNameName of file to write.
indentIndent argument for JsonWriter.
walkFilterWalkFilter to use by Walker.
allocatorAllocator to use.

Definition at line 425 of file DebugStringUtil.h.

◆ toJsonFile() [4/4]

template<typename T , typename WALK_FILTER , typename ALLOC = typename T::allocator_type, typename std::enable_if< std::is_base_of< IBasicWalkFilter< ALLOC >, typename std::decay< WALK_FILTER >::type >::value, int >::type = 0>
void zserio::toJsonFile ( const T &  object,
const string< ALLOC > &  fileName,
WALK_FILTER &&  walkFilter,
const ALLOC &  allocator = ALLOC() 
)

Writes contents of given zserio object to debug file in JSON format using Walker with JsonWriter.

This function allows setting of walk filter.

The following example shows filtering of arrays up to 5 elements:

Example:

SomeZserioObject object;
zserio::toJsonFile(object, "FileName.json", walkFilter);
Parameters
objectZserio object to use.
fileNameName of file to write.
walkFilterWalkFilter to use by Walker.
allocatorAllocator to use.

Definition at line 394 of file DebugStringUtil.h.

◆ toJsonStream() [1/4]

template<typename T , typename ALLOC = typename T::allocator_type, typename std::enable_if< is_allocator< ALLOC >::value, int >::type = 0>
void zserio::toJsonStream ( const T &  object,
std::ostream &  stream,
const ALLOC &  allocator = ALLOC() 
)

Writes contents of given zserio object to debug stream in JSON format using Walker with JsonWriter.

Example:

#include <sstream>
SomeZserioObject object;
std::ostringstream stream;
zserio::toJsonStream(object, stream);
void toJsonStream(const T &object, std::ostream &stream, const ALLOC &allocator=ALLOC())
Parameters
objectZserio object to use.
streamOutput stream to use.
allocatorAllocator to use.

Definition at line 104 of file DebugStringUtil.h.

◆ toJsonStream() [2/4]

template<typename T , typename ALLOC = typename T::allocator_type, typename std::enable_if< is_allocator< ALLOC >::value, int >::type = 0>
void zserio::toJsonStream ( const T &  object,
std::ostream &  stream,
uint8_t  indent,
const ALLOC &  allocator = ALLOC() 
)

Writes contents of given zserio object to debug stream in JSON format using Walker with JsonWriter.

This function allows setting of indentation of JSON output.

Example:

#include <sstream>
SomeZserioObject object;
std::ostringstream stream;
const uint8_t indent = 4;
zserio::toJsonStream(object, stream, indent);
Parameters
objectZserio object to use.
streamOutput stream to use.
indentIndent argument for JsonWriter.
allocatorAllocator to use.

Definition at line 132 of file DebugStringUtil.h.

◆ toJsonStream() [3/4]

template<typename T , typename WALK_FILTER , typename ALLOC = typename T::allocator_type, typename std::enable_if< std::is_base_of< IBasicWalkFilter< ALLOC >, typename std::decay< WALK_FILTER >::type >::value, int >::type = 0>
void zserio::toJsonStream ( const T &  object,
std::ostream &  stream,
uint8_t  indent,
WALK_FILTER &&  walkFilter,
const ALLOC &  allocator = ALLOC() 
)

Writes contents of given zserio object to debug stream in JSON format using Walker with JsonWriter.

This function allows setting of indentation of JSON output together with the walk filter.

Example:

#include <sstream>
#include <zserio/Walker.h>
SomeZserioObject object;
std::ostringstream stream;
const uint8_t indent = 4;
zserio::toJsonStream(object, stream, indent, walkFilter);
Parameters
objectZserio object to use.
streamOutput stream to use.
indentIndent argument for JsonWriter.
walkFilterWalkFilter to use by Walker.
allocatorAllocator to use.

Definition at line 197 of file DebugStringUtil.h.

◆ toJsonStream() [4/4]

template<typename T , typename WALK_FILTER , typename ALLOC = typename T::allocator_type, typename std::enable_if< std::is_base_of< IBasicWalkFilter< ALLOC >, typename std::decay< WALK_FILTER >::type >::value, int >::type = 0>
void zserio::toJsonStream ( const T &  object,
std::ostream &  stream,
WALK_FILTER &&  walkFilter,
const ALLOC &  allocator = ALLOC() 
)

Writes contents of given zserio object to debug stream in JSON format using Walker with JsonWriter.

This function allows setting of walk filter.

The following example shows filtering of arrays up to 5 elements:

#include <sstream>
#include <zserio/Walker.h>
SomeZserioObject object;
std::ostringstream stream;
zserio::toJsonStream(object, stream, walkFilter);
Parameters
objectZserio object to use.
streamOutput stream to use.
walkFilterWalkFilter to use by Walker.
allocatorAllocator to use.

Definition at line 163 of file DebugStringUtil.h.

◆ toJsonString() [1/4]

template<typename T , typename ALLOC = typename T::allocator_type, typename std::enable_if< is_allocator< ALLOC >::value, int >::type = 0>
string<ALLOC> zserio::toJsonString ( const T &  object,
const ALLOC &  allocator = ALLOC() 
)

Gets debug string in JSON format using Walker with JsonWriter for given zserio object.

Example:

#include <iostream>
SomeZserioObject object;
std::cout << zserio::toJsonString(object) << std::endl;
string< ALLOC > toJsonString(const T &object, const ALLOC &allocator=ALLOC())
Parameters
objectZserio object to use.
allocatorAllocator to use.
Returns
JSON debug string.

Definition at line 222 of file DebugStringUtil.h.

◆ toJsonString() [2/4]

template<typename T , typename ALLOC = typename T::allocator_type, typename std::enable_if< is_allocator< ALLOC >::value, int >::type = 0>
string<ALLOC> zserio::toJsonString ( const T &  object,
uint8_t  indent,
const ALLOC &  allocator = ALLOC() 
)

Gets debug string in JSON format using Walker with JsonWriter for given zserio object.

This function allows setting of indentation of JSON output.

Example:

#include <iostream>
SomeZserioObject object;
const uint8_t indent = 4;
std::cout << zserio::toJsonString(object, indent) << std::endl;
Parameters
objectZserio object to use.
indentIndent argument for JsonWriter.
allocatorAllocator to use.
Returns
JSON debug string.

Definition at line 250 of file DebugStringUtil.h.

◆ toJsonString() [3/4]

template<typename T , typename WALK_FILTER , typename ALLOC = typename T::allocator_type, typename std::enable_if< std::is_base_of< IBasicWalkFilter< ALLOC >, typename std::decay< WALK_FILTER >::type >::value, int >::type = 0>
string<ALLOC> zserio::toJsonString ( const T &  object,
uint8_t  indent,
WALK_FILTER &&  walkFilter,
const ALLOC &  allocator = ALLOC() 
)

Gets debug string in JSON format using Walker with JsonWriter for given zserio object.

This function allows setting of indentation of JSON output together with the walk filter.

Example:

#include <iostream>
SomeZserioObject object;
const uint8_t indent = 4;
std::cout << zserio::toJsonString(object, indent, walkFilter) << std::endl;
Parameters
objectZserio object to use.
indentIndent argument for JsonWriter.
walkFilterWalkFilter to use by Walker.
allocatorAllocator to use.
Returns
JSON debug string.

Definition at line 312 of file DebugStringUtil.h.

◆ toJsonString() [4/4]

template<typename T , typename WALK_FILTER , typename ALLOC = typename T::allocator_type, typename std::enable_if< std::is_base_of< IBasicWalkFilter< ALLOC >, typename std::decay< WALK_FILTER >::type >::value, int >::type = 0>
string<ALLOC> zserio::toJsonString ( const T &  object,
WALK_FILTER &&  walkFilter,
const ALLOC &  allocator = ALLOC() 
)

Gets debug string in JSON format using Walker with JsonWriter for given zserio object.

This function allows setting of walk filter.

The following example shows filtering of arrays up to 5 elements:

#include <iostream>
SomeZserioObject object;
std::cout << zserio::toJsonString(object, walkFilter) << std::endl;
Parameters
objectZserio object to use.
walkFilterWalkFilter to use by Walker.
allocatorAllocator to use.
Returns
JSON debug string.

Definition at line 280 of file DebugStringUtil.h.

◆ toString() [1/4]

template<typename ALLOC >
string<ALLOC> zserio::toString ( bool  value,
const ALLOC &  allocator = ALLOC() 
)

Converts a boolean value to string using the given allocator. Defined for convenience.

Note that in contrast to std::to_string, this behaves as STL streams with boolalpha flag and produces "true" and "false" strings.

Parameters
valueValue to convert.
allocatorAllocator to use for the string allocation.

Definition at line 181 of file StringConvertUtil.h.

◆ toString() [2/4]

template<typename ALLOC >
string<ALLOC> zserio::toString ( StringView  value,
const ALLOC &  allocator = ALLOC() 
)

Converts a string view to string using the given allocator. Defined for convenience.

Parameters
valueString view to convert.
allocatorAllocator to use for the string allocation.

Definition at line 977 of file StringView.h.

◆ toString() [3/4]

template<typename T >
string<std::allocator<char> > zserio::toString ( value)

Converts an integral (or a boolean) value to string. Convenience wrapper to call without allocator.

Parameters
valueValue to convert.
Returns
String representation of the given value.

Definition at line 194 of file StringConvertUtil.h.

◆ toString() [4/4]

template<typename ALLOC , typename T >
string<ALLOC> zserio::toString ( value,
const ALLOC &  allocator = ALLOC() 
)

Converts an integral value to string using the given allocator. Defined for convenience.

Parameters
valueValue to convert.
allocatorAllocator to use for the string allocation.
Returns
String representation of the given integral value.

Definition at line 165 of file StringConvertUtil.h.

◆ valueToEnum()

template<typename T >
T zserio::valueToEnum ( typename std::underlying_type< T >::type  rawValue)

Converts the given raw value to an appropriate enum item.

Parameters
rawValueRaw value of the proper underlying type.
Returns
Enum item corresponding to the rawValue.
Exceptions
CppRuntimeExceptionwhen the rawValue doesn't match to any enum item.

◆ write() [1/2]

template<typename T >
void zserio::write ( BitStreamWriter out,
value 
)

Writes the enum item to the given bit stream.

Parameters
outBit stream writer.
valueEnum item to write.

◆ write() [2/2]

template<typename PACKING_CONTEXT , typename T >
void zserio::write ( PACKING_CONTEXT &  context,
BitStreamWriter out,
value 
)

Writes the enum item which is inside a packed array to the given bit stream.

Parameters
contextPacking context.
outBit stream writer.
valueEnum item to write.

◆ writeBufferToFile() [1/4]

template<typename ALLOC >
void zserio::writeBufferToFile ( const BasicBitBuffer< ALLOC > &  bitBuffer,
const std::string &  fileName 
)
inline

Writes given bit buffer to file.

Overloaded function provided for convenience.

Parameters
bitBufferBit buffer to write.
fileNameName of the file to write.
Exceptions
CppRuntimeExceptionWhen writing fails.

Definition at line 69 of file FileUtil.h.

◆ writeBufferToFile() [2/4]

void zserio::writeBufferToFile ( const BitStreamWriter writer,
const std::string &  fileName 
)
inline

Writes write-buffer of the given bit stream writer to file.

Overloaded function provided for convenience.

Parameters
writerBit stream writer to use.
fileNameName of the file to write.
Exceptions
CppRuntimeExceptionWhen writing fails.

Definition at line 84 of file FileUtil.h.

◆ writeBufferToFile() [3/4]

void zserio::writeBufferToFile ( const uint8_t *  buffer,
size_t  bitSize,
BitsTag  ,
const std::string &  fileName 
)

Writes given buffer to file.

Parameters
bufferBuffer to write.
bitSizeBuffer bit size.
fileNameName of the file to write.
Exceptions
CppRuntimeExceptionWhen writing fails.

Definition at line 10 of file FileUtil.cpp.

◆ writeBufferToFile() [4/4]

void zserio::writeBufferToFile ( const uint8_t *  buffer,
size_t  byteSize,
const std::string &  fileName 
)
inline

Writes given buffer to file.

Overloaded function provided for convenience.

Parameters
bufferBuffer to write.
byteSizeBuffer byte size.
fileNameName of the file to write.
Exceptions
CppRuntimeExceptionWhen writing fails.

Definition at line 53 of file FileUtil.h.

Variable Documentation

◆ dynamic_extent

constexpr std::size_t zserio::dynamic_extent = std::numeric_limits<std::size_t>::max()
constexpr

Constant used to differentiate between spans of dynamic and static extent.

Definition at line 17 of file Span.h.

◆ InPlace

constexpr InPlaceT zserio::InPlace {}
constexpr

Constant used as a marker for in-place construction.

Definition at line 45 of file OptionalHolder.h.

◆ NoInit

constexpr NoInitT zserio::NoInit
constexpr

Constant used to convenient specification that initialize method should not be called.

Definition at line 18 of file NoInit.h.

◆ NullOpt

constexpr NullOptType zserio::NullOpt {int()}
constexpr

Constant used to convenient specification of an unset optional holder.

Definition at line 32 of file OptionalHolder.h.

◆ PropagateAllocator

constexpr PropagateAllocatorT zserio::PropagateAllocator
constexpr

Constant used to convenient specification of allocator propagation.

Definition at line 28 of file AllocatorPropagatingCopy.h.