Zserio C++ runtime library  1.2.0
Built for Zserio 2.16.0
zserio::PackedArrayTraits< ObjectArrayTraits< T, ELEMENT_FACTORY >, typename std::enable_if< has_owner_type< ObjectArrayTraits< T, ELEMENT_FACTORY > >::value >::type > Class Template Reference

#include <ArrayTraits.h>

Public Types

using ArrayTraits = ObjectArrayTraits< T, ELEMENT_FACTORY >
 
using ElementType = T
 
using allocator_type = typename T::allocator_type
 
using OwnerType = typename ArrayTraits::OwnerType
 

Static Public Member Functions

template<typename PACKING_CONTEXT >
static void initContext (const typename ArrayTraits::OwnerType &, PACKING_CONTEXT &packingContext, const ElementType &element)
 
template<typename PACKING_CONTEXT >
static size_t bitSizeOf (const typename ArrayTraits::OwnerType &, PACKING_CONTEXT &packingContext, size_t bitPosition, const ElementType &element)
 
template<typename PACKING_CONTEXT >
static size_t initializeOffsets (const typename ArrayTraits::OwnerType &, PACKING_CONTEXT &packingContext, size_t bitPosition, ElementType &element)
 
template<typename RAW_ARRAY , typename PACKING_CONTEXT >
static void read (typename ArrayTraits::OwnerType &owner, RAW_ARRAY &rawArray, PACKING_CONTEXT &packingContext, BitStreamReader &in, size_t index)
 
template<typename PACKING_CONTEXT >
static void write (const typename ArrayTraits::OwnerType &, PACKING_CONTEXT &packingContext, BitStreamWriter &out, const ElementType &element)
 

Detailed Description

template<typename T, typename ELEMENT_FACTORY>
class zserio::PackedArrayTraits< ObjectArrayTraits< T, ELEMENT_FACTORY >, typename std::enable_if< has_owner_type< ObjectArrayTraits< T, ELEMENT_FACTORY > >::value >::type >

Specialization of packed array traits for Zserio objects.

Definition at line 2160 of file ArrayTraits.h.

Member Typedef Documentation

◆ allocator_type

template<typename T , typename ELEMENT_FACTORY >
using zserio::PackedArrayTraits< ObjectArrayTraits< T, ELEMENT_FACTORY >, typename std::enable_if< has_owner_type< ObjectArrayTraits< T, ELEMENT_FACTORY > >::value >::type >::allocator_type = typename T::allocator_type

Allocator type.

Definition at line 2171 of file ArrayTraits.h.

◆ ArrayTraits

template<typename T , typename ELEMENT_FACTORY >
using zserio::PackedArrayTraits< ObjectArrayTraits< T, ELEMENT_FACTORY >, typename std::enable_if< has_owner_type< ObjectArrayTraits< T, ELEMENT_FACTORY > >::value >::type >::ArrayTraits = ObjectArrayTraits<T, ELEMENT_FACTORY>

Typedef for array traits.

Definition at line 2165 of file ArrayTraits.h.

◆ ElementType

template<typename T , typename ELEMENT_FACTORY >
using zserio::PackedArrayTraits< ObjectArrayTraits< T, ELEMENT_FACTORY >, typename std::enable_if< has_owner_type< ObjectArrayTraits< T, ELEMENT_FACTORY > >::value >::type >::ElementType = T

Element type.

Definition at line 2168 of file ArrayTraits.h.

◆ OwnerType

template<typename T , typename ELEMENT_FACTORY >
using zserio::PackedArrayTraits< ObjectArrayTraits< T, ELEMENT_FACTORY >, typename std::enable_if< has_owner_type< ObjectArrayTraits< T, ELEMENT_FACTORY > >::value >::type >::OwnerType = typename ArrayTraits::OwnerType

Typedef for the array's owner type.

Definition at line 2174 of file ArrayTraits.h.

Member Function Documentation

◆ bitSizeOf()

template<typename T , typename ELEMENT_FACTORY >
template<typename PACKING_CONTEXT >
static size_t zserio::PackedArrayTraits< ObjectArrayTraits< T, ELEMENT_FACTORY >, typename std::enable_if< has_owner_type< ObjectArrayTraits< T, ELEMENT_FACTORY > >::value >::type >::bitSizeOf ( const typename ArrayTraits::OwnerType ,
PACKING_CONTEXT &  packingContext,
size_t  bitPosition,
const ElementType element 
)
inlinestatic

Returns length of the array element stored in the bit stream in bits.

Parameters
packingContextPacking context node which keeps the appropriate subtree of contexts.
bitPositionCurrent bit stream position.
elementCurrent element.
Returns
Length of the array element stored in the bit stream in bits.

Definition at line 2198 of file ArrayTraits.h.

◆ initContext()

template<typename T , typename ELEMENT_FACTORY >
template<typename PACKING_CONTEXT >
static void zserio::PackedArrayTraits< ObjectArrayTraits< T, ELEMENT_FACTORY >, typename std::enable_if< has_owner_type< ObjectArrayTraits< T, ELEMENT_FACTORY > >::value >::type >::initContext ( const typename ArrayTraits::OwnerType ,
PACKING_CONTEXT &  packingContext,
const ElementType element 
)
inlinestatic

Calls context initialization step for the current element.

Parameters
packingContextPacking context node which keeps the appropriate subtree of contexts.

Definition at line 2182 of file ArrayTraits.h.

◆ initializeOffsets()

template<typename T , typename ELEMENT_FACTORY >
template<typename PACKING_CONTEXT >
static size_t zserio::PackedArrayTraits< ObjectArrayTraits< T, ELEMENT_FACTORY >, typename std::enable_if< has_owner_type< ObjectArrayTraits< T, ELEMENT_FACTORY > >::value >::type >::initializeOffsets ( const typename ArrayTraits::OwnerType ,
PACKING_CONTEXT &  packingContext,
size_t  bitPosition,
ElementType element 
)
inlinestatic

Calls indexed offsets initialization for the current element.

Parameters
packingContextPacking context node which keeps the appropriate subtree of contexts.
bitPositionCurrent bit stream position.
elementCurrent element.
Returns
Updated bit stream position which points to the first bit after this element.

Definition at line 2214 of file ArrayTraits.h.

◆ read()

template<typename T , typename ELEMENT_FACTORY >
template<typename RAW_ARRAY , typename PACKING_CONTEXT >
static void zserio::PackedArrayTraits< ObjectArrayTraits< T, ELEMENT_FACTORY >, typename std::enable_if< has_owner_type< ObjectArrayTraits< T, ELEMENT_FACTORY > >::value >::type >::read ( typename ArrayTraits::OwnerType owner,
RAW_ARRAY &  rawArray,
PACKING_CONTEXT &  packingContext,
BitStreamReader in,
size_t  index 
)
inlinestatic

Reads an element from the bit stream.

Parameters
ownerOwner of the array.
rawArrayRaw array to use.
packingContextPacking context node which keeps the appropriate subtree of contexts.
inBit stream reader.
allocatorAllocator to use.
indexIndex of the current element.

Definition at line 2231 of file ArrayTraits.h.

◆ write()

template<typename T , typename ELEMENT_FACTORY >
template<typename PACKING_CONTEXT >
static void zserio::PackedArrayTraits< ObjectArrayTraits< T, ELEMENT_FACTORY >, typename std::enable_if< has_owner_type< ObjectArrayTraits< T, ELEMENT_FACTORY > >::value >::type >::write ( const typename ArrayTraits::OwnerType ,
PACKING_CONTEXT &  packingContext,
BitStreamWriter out,
const ElementType element 
)
inlinestatic

Writes the element to the bit stream.

Parameters
packingContextPacking context node which keeps the appropriate subtree of contexts.
outBit stream writer.
elementElement to write.

Definition at line 2245 of file ArrayTraits.h.


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