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

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

Classes

class  Pointer

Public Types

typedef EntryType value_type
typedef Pointer pointer
typedef EntryType reference
typedef ptrdiff_t difference_type
typedef std::input_iterator_tag iterator_category
typedef std::forward_iterator_tag iterator_concept

Public Member Functions

 Iterator () noexcept=default
 Iterator (typename Entries::Iterator iterator) noexcept
EntryType operator* () const
pointer operator-> () const
Iterator & operator++ ()
Iterator operator++ (int)
bool operator== (const Iterator &other) const noexcept
bool operator!= (const Iterator &other) const noexcept

Detailed Description

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

Definition at line 734 of file SbeMessage.h.

Member Typedef Documentation

◆ difference_type

template<class EntryType, class BlockLength, class NumInGroup, class Length>
typedef ptrdiff_t difference_type

Signed distance between iterator positions.

Definition at line 775 of file SbeMessage.h.

◆ iterator_category

template<class EntryType, class BlockLength, class NumInGroup, class Length>
typedef std::input_iterator_tag iterator_category

Legacy algorithms use input traversal for entry views returned by value.

Definition at line 777 of file SbeMessage.h.

◆ iterator_concept

template<class EntryType, class BlockLength, class NumInGroup, class Length>
typedef std::forward_iterator_tag iterator_concept

C++20 algorithms may traverse independent iterator copies repeatedly.

Definition at line 779 of file SbeMessage.h.

◆ pointer

template<class EntryType, class BlockLength, class NumInGroup, class Length>
typedef Pointer pointer

Proxy retaining the temporary entry view used by arrow expressions.

Definition at line 771 of file SbeMessage.h.

◆ reference

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

Dereferencing produces a temporary view of the message bytes.

Definition at line 773 of file SbeMessage.h.

◆ value_type

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

Entry view returned by dereferencing.

Definition at line 738 of file SbeMessage.h.

Constructor & Destructor Documentation

◆ Iterator() [1/2]

template<class EntryType, class BlockLength, class NumInGroup, class Length>
Iterator ( )
defaultnoexcept

Initializes a singular iterator that compares equal to another singular iterator.

◆ Iterator() [2/2]

template<class EntryType, class BlockLength, class NumInGroup, class Length>
Iterator ( typename Entries::Iterator iterator)
inlineexplicitnoexcept

Wraps an existing repeating group iterator.

Parameters
iteratorPosition in the borrowed message storage.

Definition at line 786 of file SbeMessage.h.

Member Function Documentation

◆ operator!=()

template<class EntryType, class BlockLength, class NumInGroup, class Length>
bool operator!= ( const Iterator & other) const
inlinenoexcept

Compares positions within the same repeating group.

Parameters
otherIterator to compare, or another singular iterator if this is singular.
Returns
Whether the positions differ.

Definition at line 833 of file SbeMessage.h.

◆ operator*()

template<class EntryType, class BlockLength, class NumInGroup, class Length>
EntryType operator* ( ) const
inline

Reads an entry view without transferring ownership of its bytes.

Returns
A view of the current entry.

Definition at line 793 of file SbeMessage.h.

◆ operator++() [1/2]

template<class EntryType, class BlockLength, class NumInGroup, class Length>
Iterator & operator++ ( )
inline

Advances to the next entry.

Returns
This iterator after advancing.

Definition at line 807 of file SbeMessage.h.

◆ operator++() [2/2]

template<class EntryType, class BlockLength, class NumInGroup, class Length>
Iterator operator++ ( int )
inline

Advances while retaining the previous position.

Returns
An independent iterator at the previous entry.

Definition at line 815 of file SbeMessage.h.

◆ operator->()

template<class EntryType, class BlockLength, class NumInGroup, class Length>
pointer operator-> ( ) const
inline

Provides pointer-like access to the current entry view.

Returns
A proxy holding an entry view and borrowing its message bytes.

Definition at line 800 of file SbeMessage.h.

◆ operator==()

template<class EntryType, class BlockLength, class NumInGroup, class Length>
bool operator== ( const Iterator & other) const
inlinenoexcept

Compares positions within the same repeating group.

Parameters
otherIterator to compare, or another singular iterator if this is singular.
Returns
Whether the positions are equal.

Definition at line 825 of file SbeMessage.h.