Zserio C++ runtime library  1.0.0
Built for Zserio 2.13.0
zserio Namespace Reference

Namespaces

 builtin
 
 literals
 
 pmr
 

Classes

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

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  CppType {
  CppType::BOOL, CppType::INT8, CppType::INT16, CppType::INT32,
  CppType::INT64, CppType::UINT8, CppType::UINT16, CppType::UINT32,
  CppType::UINT64, CppType::FLOAT, CppType::DOUBLE, CppType::BYTES,
  CppType::STRING, CppType::BIT_BUFFER, CppType::ENUM, CppType::BITMASK,
  CppType::STRUCT, CppType::CHOICE, CppType::UNION, CppType::SQL_TABLE,
  CppType::SQL_DATABASE, CppType::SERVICE, CppType::PUBSUB
}
 
enum  SchemaType {
  SchemaType::BOOL, SchemaType::INT8, SchemaType::INT16, SchemaType::INT32,
  SchemaType::INT64, SchemaType::UINT8, SchemaType::UINT16, SchemaType::UINT32,
  SchemaType::UINT64, SchemaType::VARINT16, SchemaType::VARINT32, SchemaType::VARINT64,
  SchemaType::VARINT, SchemaType::VARUINT16, SchemaType::VARUINT32, SchemaType::VARUINT64,
  SchemaType::VARUINT, SchemaType::VARSIZE, SchemaType::FIXED_SIGNED_BITFIELD, SchemaType::FIXED_UNSIGNED_BITFIELD,
  SchemaType::DYNAMIC_SIGNED_BITFIELD, SchemaType::DYNAMIC_UNSIGNED_BITFIELD, SchemaType::FLOAT16, SchemaType::FLOAT32,
  SchemaType::FLOAT64, SchemaType::BYTES, SchemaType::STRING, SchemaType::EXTERN,
  SchemaType::ENUM, SchemaType::BITMASK, SchemaType::STRUCT, SchemaType::CHOICE,
  SchemaType::UNION, SchemaType::SQL_TABLE, SchemaType::SQL_DATABASE, SchemaType::SERVICE,
  SchemaType::PUBSUB
}
 
enum  JsonToken : int8_t {
  JsonToken::UNKNOWN = -1, JsonToken::BEGIN_OF_FILE, JsonToken::END_OF_FILE, JsonToken::BEGIN_OBJECT,
  JsonToken::END_OBJECT, JsonToken::BEGIN_ARRAY, JsonToken::END_ARRAY, JsonToken::KEY_SEPARATOR,
  JsonToken::ITEM_SEPARATOR, JsonToken::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 &os, 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 &os, 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 &os, 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 &os, 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)
 
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

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

Definition at line 442 of file Walker.h.

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

Definition at line 441 of file Walker.h.

using zserio::BitBuffer = typedef BasicBitBuffer<>

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

Definition at line 421 of file BitBuffer.h.

Definition at line 1603 of file ArrayTraits.h.

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

Typedef to a builtin array.

Definition at line 2661 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2659 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2504 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2502 of file Reflectable.h.

Definition at line 1471 of file ArrayTraits.h.

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

Typedef to a builtin array.

Definition at line 2649 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2647 of file Reflectable.h.

using zserio::CaseInfo = typedef BasicCaseInfo<>

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

Definition at line 518 of file ITypeInfo.h.

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

Definition at line 519 of file ITypeInfo.h.

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

Definition at line 438 of file Walker.h.

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

Definition at line 437 of file Walker.h.

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

Definition at line 439 of file Walker.h.

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 2565 of file Reflectable.h.

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 2562 of file Reflectable.h.

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 2572 of file Reflectable.h.

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 2569 of file Reflectable.h.

using zserio::FieldInfo = typedef BasicFieldInfo<>

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

Definition at line 515 of file ITypeInfo.h.

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 2551 of file Reflectable.h.

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 2548 of file Reflectable.h.

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 2558 of file Reflectable.h.

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 2555 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2631 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2629 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2637 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2635 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2643 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2641 of file Reflectable.h.

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

Definition at line 517 of file ITypeInfo.h.

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 990 of file OptionalHolder.h.

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 519 of file IReflectable.h.

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 516 of file IReflectable.h.

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.

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

Optional holder which uses in place storage.

Definition at line 984 of file OptionalHolder.h.

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

Typedef to a builtin array.

Definition at line 2514 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2512 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2519 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2517 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2524 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2522 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2509 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2507 of file Reflectable.h.

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

Definition at line 524 of file IReflectable.h.

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

Definition at line 526 of file IReflectable.h.

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

Definition at line 525 of file IReflectable.h.

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 310 of file Traits.h.

using zserio::IService = typedef IBasicService<>

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

Definition at line 254 of file IService.h.

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

Definition at line 255 of file IService.h.

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

Definition at line 252 of file IService.h.

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

Definition at line 253 of file IService.h.

using zserio::ITypeInfo = typedef IBasicTypeInfo<>

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

Definition at line 514 of file ITypeInfo.h.

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

Definition at line 101 of file IWalkFilter.h.

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

Definition at line 92 of file IWalkObserver.h.

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

Definition at line 338 of file JsonParser.h.

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

Definition at line 228 of file JsonReader.h.

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

Definition at line 185 of file JsonWriter.h.

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

Definition at line 522 of file ITypeInfo.h.

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

Definition at line 523 of file ITypeInfo.h.

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

Definition at line 261 of file IService.h.

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

Definition at line 516 of file ITypeInfo.h.

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

Definition at line 262 of file IService.h.

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

Definition at line 263 of file IService.h.

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.

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 3935 of file Reflectable.h.

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

Definition at line 260 of file IService.h.

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

Definition at line 440 of file Walker.h.

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 16 of file String.h.

Definition at line 1537 of file ArrayTraits.h.

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

Typedef to a builtin array.

Definition at line 2655 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2653 of file Reflectable.h.

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

Specialization of BasicStringView for char.

Definition at line 933 of file StringView.h.

using zserio::TableInfo = typedef BasicTableInfo<>

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

Definition at line 520 of file ITypeInfo.h.

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

Definition at line 521 of file ITypeInfo.h.

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

Typedef to a builtin array.

Definition at line 2534 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2532 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2539 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2537 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2544 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2542 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2529 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2527 of file Reflectable.h.

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.

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

Typedef to a builtin array.

Definition at line 2578 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2576 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2584 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2582 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2590 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2588 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2595 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2593 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2625 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2623 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2601 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2599 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2607 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2605 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2613 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2611 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2619 of file Reflectable.h.

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

Typedef to a builtin array.

Definition at line 2617 of file Reflectable.h.

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 16 of file Vector.h.

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.

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

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

Definition at line 546 of file ZserioTreeCreator.h.

Enumeration Type Documentation

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 316 of file Array.h.

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.

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.

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

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.

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 102 of file UniquePtr.h.

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 255 of file AllocatorPropagatingCopy.h.

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 287 of file AllocatorPropagatingCopy.h.

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 271 of file AllocatorPropagatingCopy.h.

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 302 of file AllocatorPropagatingCopy.h.

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.
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.
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.

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 172 of file BitSizeOfCalculator.cpp.

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 180 of file BitSizeOfCalculator.cpp.

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 154 of file BitSizeOfCalculator.cpp.

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 124 of file BitSizeOfCalculator.cpp.

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 129 of file BitSizeOfCalculator.cpp.

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 134 of file BitSizeOfCalculator.cpp.

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 167 of file BitSizeOfCalculator.cpp.

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 162 of file BitSizeOfCalculator.cpp.

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 139 of file BitSizeOfCalculator.cpp.

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 144 of file BitSizeOfCalculator.cpp.

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 149 of file BitSizeOfCalculator.cpp.

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.

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.

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 72 of file HashCodeUtil.h.

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 85 of file HashCodeUtil.h.

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 99 of file HashCodeUtil.h.

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 118 of file HashCodeUtil.h.

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 135 of file HashCodeUtil.h.

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 149 of file HashCodeUtil.h.

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 169 of file HashCodeUtil.h.

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 186 of file HashCodeUtil.h.

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 28 of file HashCodeUtil.h.

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 146 of file StringConvertUtil.h.

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 183 of file FloatUtil.cpp.

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 114 of file StringConvertUtil.h.

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 81 of file FloatUtil.cpp.

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 169 of file FloatUtil.cpp.

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 76 of file StringConvertUtil.h.

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.

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 30 of file FloatUtil.cpp.

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 162 of file FloatUtil.cpp.

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 176 of file FloatUtil.cpp.

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.

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 1134 of file Array.h.

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

Overload for NullOpt.

Definition at line 1143 of file Array.h.

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 193 of file SerializeUtil.h.

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);
Parameters
bitBufferBit buffer to use.
Returns
Generated enum created from the given bit buffer.
Exceptions
CppRuntimeExceptionWhen deserialization fails.

Definition at line 219 of file SerializeUtil.h.

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 346 of file SerializeUtil.h.

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);
Parameters
bitBufferVector of bytes to use.
Returns
Generated enum created from the given vector of bytes.
Exceptions
CppRuntimeExceptionWhen deserialization fails.

Definition at line 372 of file SerializeUtil.h.

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);
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 424 of file SerializeUtil.h.

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.
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.
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.
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 105 of file Enums.h.

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

Gets the underlying raw value of the given enum item.

Parameters
valueEnum item.
Returns
Raw value.

Definition at line 58 of file Enums.h.

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.
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 initialzed depending on the JSON debug string.

Example:

#include <sstream>
IReflectablePtr reflectable = fromJsonFile(SomeZserioObject::typeInfo(), "FileName.json");
reflectable->getField("fieldU32")->getUInt32(); // 13
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 570 of file DebugStringUtil.h.

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 initialzed 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 603 of file DebugStringUtil.h.

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 initialzed 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
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 446 of file DebugStringUtil.h.

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 initialzed 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 477 of file DebugStringUtil.h.

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 initialzed 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
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 508 of file DebugStringUtil.h.

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 initialzed 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 540 of file DebugStringUtil.h.

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 13 of file BitFieldUtil.cpp.

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 23 of file BitFieldUtil.cpp.

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.
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.
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.
template<typename CharT , size_t N>
constexpr BasicStringView<CharT> zserio::makeStringView ( const CharT(&)  str[N])

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 894 of file StringView.h.

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

Comparison operator.

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

Definition at line 830 of file StringView.h.

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 924 of file StringView.h.

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

Comparison operator.

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

Definition at line 843 of file StringView.h.

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.

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.

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.

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

Allow to append SqliteErrorCode to CppRuntimeException.

Parameters
exceptionException to modify.
codeSQLite error code.

Definition at line 51 of file SqliteException.h.

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.

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.

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 70 of file CppRuntimeException.cpp.

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.

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.

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.

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 194 of file CppRuntimeException.h.

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 432 of file BitBuffer.h.

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 955 of file StringView.h.

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

Comparison operator.

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

Definition at line 856 of file StringView.h.

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

Comparison operator.

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

Definition at line 817 of file StringView.h.

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

Comparison operator.

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

Definition at line 869 of file StringView.h.

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

Comparison operator.

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

Definition at line 882 of file StringView.h.

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

Reads an enum item.

Parameters
inBit stream reader.
Returns
Enum item read from the bit stream.
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.
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 22 of file FileUtil.cpp.

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:

SomeZserioObject object(allocator);
zserio::serialize(object, allocator);
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.

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 140 of file SerializeUtil.h.

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 165 of file SerializeUtil.h.

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:

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 252 of file SerializeUtil.h.

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 287 of file SerializeUtil.h.

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 315 of file SerializeUtil.h.

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 395 of file SerializeUtil.h.

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 83 of file Enums.h.

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 909 of file StringView.h.

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");
Parameters
objectZserio object to use.
fileNameName of file to write.
allocatorAllocator to use.

Definition at line 326 of file DebugStringUtil.h.

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 354 of file DebugStringUtil.h.

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 384 of file DebugStringUtil.h.

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 414 of file DebugStringUtil.h.

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 &  os,
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 os;
Parameters
objectZserio object to use.
osOutput stream to use.
allocatorAllocator to use.

Definition at line 100 of file DebugStringUtil.h.

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 &  os,
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 os;
const uint8_t indent = 4;
zserio::toJsonStream(object, os, indent);
Parameters
objectZserio object to use.
osOutput stream to use.
indentIndent argument for JsonWriter.
allocatorAllocator to use.

Definition at line 128 of file DebugStringUtil.h.

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 &  os,
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 os;
zserio::toJsonStream(object, os, walkFilter);
Parameters
objectZserio object to use.
osOutput stream to use.
walkFilterWalkFilter to use by Walker.
allocatorAllocator to use.

Definition at line 158 of file DebugStringUtil.h.

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 &  os,
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 os;
const uint8_t indent = 4;
zserio::toJsonStream(object, os, indent, walkFilter);
Parameters
objectZserio object to use.
osOutput stream to use.
indentIndent argument for JsonWriter.
walkFilterWalkFilter to use by Walker.
allocatorAllocator to use.

Definition at line 190 of file DebugStringUtil.h.

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;
Parameters
objectZserio object to use.
allocatorAllocator to use.
Returns
JSON debug string.

Definition at line 215 of file DebugStringUtil.h.

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 243 of file DebugStringUtil.h.

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 272 of file DebugStringUtil.h.

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 303 of file DebugStringUtil.h.

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 160 of file StringConvertUtil.h.

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 176 of file StringConvertUtil.h.

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 189 of file StringConvertUtil.h.

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 942 of file StringView.h.

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.
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.
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.
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.

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.

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.

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.

Variable Documentation

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

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

Definition at line 17 of file Span.h.

constexpr InPlaceT zserio::InPlace {}

Constant used as a marker for in-place construction.

Definition at line 44 of file OptionalHolder.h.

constexpr NoInitT zserio::NoInit

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

Definition at line 18 of file NoInit.h.

constexpr NullOptType zserio::NullOpt {int()}

Constant used to convenient specification of an unset optional holder.

Definition at line 31 of file OptionalHolder.h.

constexpr PropagateAllocatorT zserio::PropagateAllocator

Constant used to convenient specification of allocator propagation.

Definition at line 28 of file AllocatorPropagatingCopy.h.