OnixS C++ CME MDP Premium Market Data Handler 5.11.1
Users' manual and API documentation
Loading...
Searching...
No Matches
SbeGroupEntries< EntryType, BlockLength, NumInGroup, Length > Class Template Reference

#include <OnixS/CME/MDH/messaging/SbeMessage.h>

Classes

class  Iterator

Public Types

typedef Length EncodedLength
typedef EntryType Entry
typedef NumInGroup Size
typedef SbeGroupRange< EntryType, BlockLength, NumInGroup, Length > Range

Public Member Functions

 SbeGroupEntries () noexcept
 SbeGroupEntries (void *encoded, BlockLength blockLength, Size groupSize, SchemaVersion version) noexcept
bool valid () const noexcept
bool empty () const noexcept
Size size () const noexcept
Iterator begin () const
Iterator end () const
Range asRange () const noexcept
Entry operator[] (Size index) const
void * encoded () const noexcept
EncodedLength encodedLength () const noexcept
template<class OtherEntry, class OtherBlockLength, class OtherNumInGroup, class OtherLength>
 SbeGroupEntries (const SbeGroupEntries< OtherEntry, OtherBlockLength, OtherNumInGroup, OtherLength > &other) noexcept
template<class OtherEntry, class OtherBlockLength, class OtherNumInGroup, class OtherLength>
SbeGroupEntries & operator= (const SbeGroupEntries< OtherEntry, OtherBlockLength, OtherNumInGroup, OtherLength > &other) noexcept

Friends

template<class OtherEntry, class OtherBlockLength, class OtherNumInGroup, class OtherLength>
class SbeGroupEntries

Detailed Description

template<class EntryType, class BlockLength, class NumInGroup, class Length>
class OnixS::CME::MDH::Messaging::SbeGroupEntries< EntryType, BlockLength, NumInGroup, Length >

Definition at line 445 of file SbeMessage.h.

Member Typedef Documentation

◆ EncodedLength

template<class EntryType, class BlockLength, class NumInGroup, class Length>
typedef Length EncodedLength

The length of the binary data occupied by the group entries.

Definition at line 449 of file SbeMessage.h.

◆ Entry

template<class EntryType, class BlockLength, class NumInGroup, class Length>
typedef EntryType Entry

The type of the repeating group entry.

Definition at line 452 of file SbeMessage.h.

◆ Range

template<class EntryType, class BlockLength, class NumInGroup, class Length>
typedef SbeGroupRange<EntryType, BlockLength, NumInGroup, Length> Range

Standard-algorithm adapter borrowing this collection's entry storage.

Definition at line 580 of file SbeMessage.h.

◆ Size

template<class EntryType, class BlockLength, class NumInGroup, class Length>
typedef NumInGroup Size

Number of entries in the collection.

Definition at line 455 of file SbeMessage.h.

Constructor & Destructor Documentation

◆ SbeGroupEntries() [1/3]

template<class EntryType, class BlockLength, class NumInGroup, class Length>
SbeGroupEntries ( )
inlinenoexcept

Initializes a blank instance referencing to nothing.

Definition at line 584 of file SbeMessage.h.

◆ SbeGroupEntries() [2/3]

template<class EntryType, class BlockLength, class NumInGroup, class Length>
SbeGroupEntries ( void * encoded,
BlockLength blockLength,
Size groupSize,
SchemaVersion version )
inlinenoexcept

Initializes the instance referencing to data.

Definition at line 593 of file SbeMessage.h.

◆ SbeGroupEntries() [3/3]

template<class EntryType, class BlockLength, class NumInGroup, class Length>
template<class OtherEntry, class OtherBlockLength, class OtherNumInGroup, class OtherLength>
SbeGroupEntries ( const SbeGroupEntries< OtherEntry, OtherBlockLength, OtherNumInGroup, OtherLength > & other)
inlinenoexcept

Copy constructor.

Definition at line 671 of file SbeMessage.h.

Member Function Documentation

◆ asRange()

template<class EntryType, class BlockLength, class NumInGroup, class Length>
Range asRange ( ) const
inlinenoexcept

Adapts valid entries for standard input algorithms and C++20 forward-range algorithms.

Returns
A range borrowing the same message bytes with independent iterator positions.
Note
Requires an SDK configured for C++20 or later. The range can outlive this wrapper, but must not outlive or survive relocation of the storage.

Definition at line 640 of file SbeMessage.h.

◆ begin()

template<class EntryType, class BlockLength, class NumInGroup, class Length>
Iterator begin ( ) const
inline
Returns
the iterator pointing to the first repeating group entry.

Definition at line 623 of file SbeMessage.h.

◆ empty()

template<class EntryType, class BlockLength, class NumInGroup, class Length>
bool empty ( ) const
inlinenoexcept
Returns
true if the referenced repeating group is empty, otherwise - false.

Definition at line 611 of file SbeMessage.h.

◆ encoded()

template<class EntryType, class BlockLength, class NumInGroup, class Length>
void * encoded ( ) const
inlinenoexcept
Returns
Binary data occupied by the group entries.

Definition at line 658 of file SbeMessage.h.

◆ encodedLength()

template<class EntryType, class BlockLength, class NumInGroup, class Length>
EncodedLength encodedLength ( ) const
inlinenoexcept
Returns
the length of the binary data occupied by the group entries.

Definition at line 664 of file SbeMessage.h.

◆ end()

template<class EntryType, class BlockLength, class NumInGroup, class Length>
Iterator end ( ) const
inline

Returns the iterator pointing to the entry behind the end of the group.

Definition at line 629 of file SbeMessage.h.

◆ operator=()

template<class EntryType, class BlockLength, class NumInGroup, class Length>
template<class OtherEntry, class OtherBlockLength, class OtherNumInGroup, class OtherLength>
SbeGroupEntries & operator= ( const SbeGroupEntries< OtherEntry, OtherBlockLength, OtherNumInGroup, OtherLength > & other)
inlinenoexcept

Definition at line 685 of file SbeMessage.h.

◆ operator[]()

template<class EntryType, class BlockLength, class NumInGroup, class Length>
Entry operator[] ( Size index) const
inline

Provides access to the group entry by its index in the repeating group.

Note
Index validness is not checked due to performance considerations.

Definition at line 649 of file SbeMessage.h.

◆ size()

template<class EntryType, class BlockLength, class NumInGroup, class Length>
Size size ( ) const
inlinenoexcept
Returns
number of blocks.

Definition at line 617 of file SbeMessage.h.

◆ valid()

template<class EntryType, class BlockLength, class NumInGroup, class Length>
bool valid ( ) const
inlinenoexcept
Returns
true if the instance refers to a valid repeating group, otherwise - false.

Definition at line 605 of file SbeMessage.h.

◆ SbeGroupEntries

template<class EntryType, class BlockLength, class NumInGroup, class Length>
template<class OtherEntry, class OtherBlockLength, class OtherNumInGroup, class OtherLength>
friend class SbeGroupEntries
friend

Definition at line 706 of file SbeMessage.h.