Zserio C++ runtime library  1.1.0
Built for Zserio 2.15.0
zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS > Class Template Reference

#include <Array.h>

Public Types

using RawArray = RAW_ARRAY
 
using ArrayTraits = ARRAY_TRAITS
 
using ArrayExpressions = ARRAY_EXPRESSIONS
 
using OwnerType = typename detail::array_owner_type< ArrayTraits, ArrayExpressions >::type
 
using allocator_type = typename RawArray::allocator_type
 

Public Member Functions

 Array (const allocator_type &allocator=allocator_type())
 
 Array (const RawArray &rawArray)
 
 Array (RawArray &&rawArray)
 
template<typename T = typename RAW_ARRAY::value_type, typename std::enable_if< std::is_constructible< T, NoInitT, T >::value, int >::type = 0>
 Array (NoInitT, const Array &other)
 
template<typename T = typename RAW_ARRAY::value_type, typename std::enable_if< std::is_constructible< T, NoInitT, T >::value, int >::type = 0>
Arrayassign (NoInitT, const Array &other)
 
template<typename T = typename RAW_ARRAY::value_type, typename std::enable_if< std::is_constructible< T, NoInitT, T >::value, int >::type = 0>
 Array (NoInitT, Array &&other)
 
template<typename T = typename RAW_ARRAY::value_type, typename std::enable_if< std::is_constructible< T, NoInitT, T >::value, int >::type = 0>
Arrayassign (NoInitT, Array &&other)
 
 Array (PropagateAllocatorT, const Array &other, const allocator_type &allocator)
 
template<typename T = typename RAW_ARRAY::value_type, typename std::enable_if< std::is_constructible< T, NoInitT, T >::value, int >::type = 0>
 Array (PropagateAllocatorT, NoInitT, const Array &other, const allocator_type &allocator)
 
bool operator== (const Array &other) const
 
bool operator< (const Array &other) const
 
uint32_t hashCode () const
 
const RawArraygetRawArray () const
 
RawArraygetRawArray ()
 
template<typename ARRAY_EXPRESSIONS_ = ArrayExpressions, typename std::enable_if< has_initialize_element< ARRAY_EXPRESSIONS_ >::value, int >::type = 0>
void initializeElements (OwnerType &owner)
 
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if< std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
size_t bitSizeOf (size_t bitPosition) const
 
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if<!std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
size_t bitSizeOf (const OwnerType &owner, size_t bitPosition) const
 
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if< std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
size_t initializeOffsets (size_t bitPosition)
 
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if<!std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
size_t initializeOffsets (OwnerType &owner, size_t bitPosition)
 
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if< std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
void read (BitStreamReader &in, size_t arrayLength=0)
 
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if<!std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
void read (OwnerType &owner, BitStreamReader &in, size_t arrayLength=0)
 
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if< std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
void write (BitStreamWriter &out) const
 
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if<!std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
void write (const OwnerType &owner, BitStreamWriter &out) const
 
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if< std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
size_t bitSizeOfPacked (size_t bitPosition) const
 
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if<!std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
size_t bitSizeOfPacked (const OwnerType &ownerType, size_t bitPosition) const
 
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if< std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
size_t initializeOffsetsPacked (size_t bitPosition)
 
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if<!std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
size_t initializeOffsetsPacked (OwnerType &owner, size_t bitPosition)
 
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if< std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
void readPacked (BitStreamReader &in, size_t arrayLength=0)
 
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if<!std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
void readPacked (OwnerType &owner, BitStreamReader &in, size_t arrayLength=0)
 
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if< std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
void writePacked (BitStreamWriter &out) const
 
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if<!std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
void writePacked (const OwnerType &owner, BitStreamWriter &out) const
 
 ~Array ()=default
 
 Array (const Array &other)=default
 
Arrayoperator= (const Array &other)=default
 
 Array (Array &&other)=default
 
Arrayoperator= (Array &&other)=default
 

Detailed Description

template<typename RAW_ARRAY, typename ARRAY_TRAITS, ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
class zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >

Array wrapper for zserio arrays which are not explicitly packed but the element type is packable and thus it can be packed if requested from a parent. Array wrapper for zserio arrays which are never packed.

Definition at line 365 of file Array.h.

Member Typedef Documentation

◆ allocator_type

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
using zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::allocator_type = typename RawArray::allocator_type

Typedef for allocator type.

Definition at line 386 of file Array.h.

◆ ArrayExpressions

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
using zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::ArrayExpressions = ARRAY_EXPRESSIONS

Typedef for array expressions.

Definition at line 375 of file Array.h.

◆ ArrayTraits

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
using zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::ArrayTraits = ARRAY_TRAITS

Typedef for array traits.

Definition at line 372 of file Array.h.

◆ OwnerType

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
using zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::OwnerType = typename detail::array_owner_type<ArrayTraits, ArrayExpressions>::type

Typedef for the array's owner type.

Owner type is needed for proper expressions evaluation. If neither traits nor array need the owner for expressions evaluation, detail::DummyArrayOwner is used and such array do not need the owner at all.

Definition at line 383 of file Array.h.

◆ RawArray

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
using zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::RawArray = RAW_ARRAY

Typedef for raw array type.

Definition at line 369 of file Array.h.

Constructor & Destructor Documentation

◆ Array() [1/9]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::Array ( const allocator_type allocator = allocator_type())
inlineexplicit

Empty constructor.

Parameters
allocatorAllocator to use for the raw array.

Definition at line 393 of file Array.h.

◆ Array() [2/9]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::Array ( const RawArray< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS > &  rawArray)
inlineexplicit

Constructor from l-value raw array.

Parameters
rawArrayRaw array.

Definition at line 402 of file Array.h.

◆ Array() [3/9]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::Array ( RawArray< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS > &&  rawArray)
inlineexplicit

Constructor from r-value raw array.

Parameters
rawArrayRaw array.

Definition at line 411 of file Array.h.

◆ ~Array()

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::~Array ( )
default

Method generated by default.

◆ Array() [4/9]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::Array ( const Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS > &  other)
default

Method generated by default.

◆ Array() [5/9]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::Array ( Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS > &&  other)
default

Method generated by default.

◆ Array() [6/9]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename T = typename RAW_ARRAY::value_type, typename std::enable_if< std::is_constructible< T, NoInitT, T >::value, int >::type = 0>
zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::Array ( NoInitT  ,
const Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS > &  other 
)
inline

Copy constructor which prevents initialization of parameterized elements.

Note that elements will be initialized later by a parent compound.

Parameters
otherInstance to construct from.

Definition at line 438 of file Array.h.

◆ Array() [7/9]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename T = typename RAW_ARRAY::value_type, typename std::enable_if< std::is_constructible< T, NoInitT, T >::value, int >::type = 0>
zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::Array ( NoInitT  ,
Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS > &&  other 
)
inline

Move constructors which prevents initialization of parameterized elements.

Provided for convenience since vector move constructor doesn't call move constructors of its elements.

Parameters
otherInstance to move-construct from.

Definition at line 480 of file Array.h.

◆ Array() [8/9]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::Array ( PropagateAllocatorT  ,
const Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS > &  other,
const allocator_type allocator 
)
inline

Copy constructor which forces allocator propagating while copying the raw array.

Parameters
otherSource array to copy.
allocatorAllocator to propagate during copying.

Definition at line 505 of file Array.h.

◆ Array() [9/9]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename T = typename RAW_ARRAY::value_type, typename std::enable_if< std::is_constructible< T, NoInitT, T >::value, int >::type = 0>
zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::Array ( PropagateAllocatorT  ,
NoInitT  ,
const Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS > &  other,
const allocator_type allocator 
)
inline

Copy constructor which prevents initialization and forces allocator propagating while copying the raw array.

Parameters
otherSource array to copy.
allocatorAllocator to propagate during copying.

Definition at line 518 of file Array.h.

Member Function Documentation

◆ assign() [1/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename T = typename RAW_ARRAY::value_type, typename std::enable_if< std::is_constructible< T, NoInitT, T >::value, int >::type = 0>
Array& zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::assign ( NoInitT  ,
Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS > &&  other 
)
inline

Assignment which prevents initialization of parameterized elements.

Provided for convenience since vector move assignment operator doesn't call move assignment operators of its elements.

Parameters
otherInstance to move-assign from.

Definition at line 494 of file Array.h.

◆ assign() [2/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename T = typename RAW_ARRAY::value_type, typename std::enable_if< std::is_constructible< T, NoInitT, T >::value, int >::type = 0>
Array& zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::assign ( NoInitT  ,
const Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS > &  other 
)
inline

Assignment which prevents initialization of parameterized elements.

Note that elements will be initialized later by a parent compound.

Parameters
otherInstance to move-assign from.

Definition at line 458 of file Array.h.

◆ bitSizeOf() [1/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if<!std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
size_t zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::bitSizeOf ( const OwnerType owner,
size_t  bitPosition 
) const
inline

Calculates bit size of this array.

Available for arrays which need the owner.

Parameters
ownerArray owner.
bitPositionCurrent bit position.
Returns
Bit size of the array.

Definition at line 621 of file Array.h.

◆ bitSizeOf() [2/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if< std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
size_t zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::bitSizeOf ( size_t  bitPosition) const
inline

Calculates bit size of this array.

Available for arrays which do not need the owner.

Parameters
bitPositionCurrent bit position.
Returns
Bit size of the array.

Definition at line 604 of file Array.h.

◆ bitSizeOfPacked() [1/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if<!std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
size_t zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::bitSizeOfPacked ( const OwnerType ownerType,
size_t  bitPosition 
) const
inline

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

Available for arrays which need the owner.

Parameters
ownerArray owner.
bitPositionCurrent bit stream position.
Returns
Length of the array stored in the bit stream in bits.

Definition at line 749 of file Array.h.

◆ bitSizeOfPacked() [2/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if< std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
size_t zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::bitSizeOfPacked ( size_t  bitPosition) const
inline

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

Available for arrays which do not need the owner.

Parameters
bitPositionCurrent bit stream position.
Returns
Length of the array stored in the bit stream in bits.

Definition at line 732 of file Array.h.

◆ getRawArray() [1/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
RawArray& zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::getRawArray ( )
inline

Gets raw array.

Returns
Reference to the raw array.

Definition at line 571 of file Array.h.

◆ getRawArray() [2/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
const RawArray& zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::getRawArray ( ) const
inline

Gets raw array.

Returns
Constant reference to the raw array.

Definition at line 561 of file Array.h.

◆ hashCode()

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
uint32_t zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::hashCode ( ) const
inline

Hash code.

Returns
Hash code calculated on the underlying raw array.

Definition at line 551 of file Array.h.

◆ initializeElements()

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename ARRAY_EXPRESSIONS_ = ArrayExpressions, typename std::enable_if< has_initialize_element< ARRAY_EXPRESSIONS_ >::value, int >::type = 0>
void zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::initializeElements ( OwnerType owner)
inline

Initializes array elements.

Parameters
ownerArray owner.

Definition at line 583 of file Array.h.

◆ initializeOffsets() [1/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if<!std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
size_t zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::initializeOffsets ( OwnerType owner,
size_t  bitPosition 
)
inline

Initializes indexed offsets.

Available for arrays which need the owner.

Parameters
ownerArray owner.
bitPositionCurrent bit position.
Returns
Updated bit position which points to the first bit after the array.

Definition at line 655 of file Array.h.

◆ initializeOffsets() [2/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if< std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
size_t zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::initializeOffsets ( size_t  bitPosition)
inline

Initializes indexed offsets.

Available for arrays which do not need the owner.

Parameters
bitPositionCurrent bit position.
Returns
Updated bit position which points to the first bit after the array.

Definition at line 637 of file Array.h.

◆ initializeOffsetsPacked() [1/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if<!std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
size_t zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::initializeOffsetsPacked ( OwnerType owner,
size_t  bitPosition 
)
inline

Initializes indexed offsets for the packed array.

Available for arrays which need the owner.

Parameters
ownerArray owner.
bitPositionCurrent bit stream position.
Returns
Updated bit stream position which points to the first bit after the array.

Definition at line 783 of file Array.h.

◆ initializeOffsetsPacked() [2/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if< std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
size_t zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::initializeOffsetsPacked ( size_t  bitPosition)
inline

Initializes indexed offsets for the packed array.

Available for arrays which do not need the owner.

Parameters
bitPositionCurrent bit stream position.
Returns
Updated bit stream position which points to the first bit after the array.

Definition at line 765 of file Array.h.

◆ operator<()

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
bool zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::operator< ( const Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS > &  other) const
inline

Operator less than.

Parameters
otherArray to compare.
Returns
True when the underlying raw array is less than the other underlying raw array.

Definition at line 541 of file Array.h.

◆ operator=() [1/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
Array& zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::operator= ( Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS > &&  other)
default

Method generated by default.

◆ operator=() [2/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
Array& zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::operator= ( const Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS > &  other)
default

Method generated by default.

◆ operator==()

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
bool zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::operator== ( const Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS > &  other) const
inline

Operator equality.

Parameters
otherArray to compare.
Returns
True when the underlying raw arrays have same contents, false otherwise.

Definition at line 529 of file Array.h.

◆ read() [1/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if< std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
void zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::read ( BitStreamReader in,
size_t  arrayLength = 0 
)
inline

Reads the array from the bit stream.

Available for arrays which do not need the owner.

Parameters
inBit stream reader to use for reading.
arrayLengthArray length. Not needed for auto / implicit arrays.

Definition at line 670 of file Array.h.

◆ read() [2/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if<!std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
void zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::read ( OwnerType owner,
BitStreamReader in,
size_t  arrayLength = 0 
)
inline

Reads the array from the bit stream.

Available for arrays which need the owner.

Parameters
ownerArray owner.
inBit stream reader to use for reading.
arrayLengthArray length. Not needed for auto / implicit arrays.

Definition at line 687 of file Array.h.

◆ readPacked() [1/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if< std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
void zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::readPacked ( BitStreamReader in,
size_t  arrayLength = 0 
)
inline

Reads packed array from the bit stream.

Available for arrays which do not need the owner.

Parameters
inBit stream from which to read.
arrayLengthNumber of elements to read or 0 in case of auto arrays.

Definition at line 798 of file Array.h.

◆ readPacked() [2/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if<!std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
void zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::readPacked ( OwnerType owner,
BitStreamReader in,
size_t  arrayLength = 0 
)
inline

Reads packed array from the bit stream.

Available for arrays which need the owner.

Parameters
ownerArray owner.
inBit stream from which to read.
arrayLengthNumber of elements to read or 0 in case of auto arrays.

Definition at line 815 of file Array.h.

◆ write() [1/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if< std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
void zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::write ( BitStreamWriter out) const
inline

Writes the array to the bit stream.

Available for arrays which do not need the owner.

Parameters
outBit stream write to use for writing.

Definition at line 701 of file Array.h.

◆ write() [2/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if<!std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
void zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::write ( const OwnerType owner,
BitStreamWriter out 
) const
inline

Writes the array to the bit stream.

Available for arrays which need the owner.

Parameters
ownerArray owner.
outBit stream write to use for writing.

Definition at line 716 of file Array.h.

◆ writePacked() [1/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if< std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
void zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::writePacked ( BitStreamWriter out) const
inline

Writes packed array to the bit stream.

Available for arrays which do not need the owner.

Parameters
outBit stream where to write.

Definition at line 829 of file Array.h.

◆ writePacked() [2/2]

template<typename RAW_ARRAY , typename ARRAY_TRAITS , ArrayType ARRAY_TYPE, typename ARRAY_EXPRESSIONS = detail::DummyArrayExpressions>
template<typename OWNER_TYPE_ = OwnerType, typename std::enable_if<!std::is_same< OWNER_TYPE_, detail::DummyArrayOwner >::value, int >::type = 0>
void zserio::Array< RAW_ARRAY, ARRAY_TRAITS, ARRAY_TYPE, ARRAY_EXPRESSIONS >::writePacked ( const OwnerType owner,
BitStreamWriter out 
) const
inline

Writes packed array to the bit stream.

Available for arrays which need the owner.

Parameters
ownerArray owner.
outBit stream where to write.

Definition at line 844 of file Array.h.


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