Ensō 0.4.1
Software API reference
Loading...
Searching...
No Matches
enso::MessageIteratorBase< T > Class Template Reference

Base class to represent a message within a batch. More...

#include <pipe.h>

Public Member Functions

constexpr uint8_t * operator* ()
 
constexpr bool operator!= (const MessageIteratorBase &other) const
 
constexpr T & operator++ ()
 

Protected Member Functions

 MessageIteratorBase (const MessageIteratorBase &)=default
 
MessageIteratorBaseoperator= (const MessageIteratorBase &)=default
 
 MessageIteratorBase (MessageIteratorBase &&)=default
 
MessageIteratorBaseoperator= (MessageIteratorBase &&)=default
 
 MessageIteratorBase (uint8_t *addr, int32_t message_limit, RxPipe::MessageBatch< T > *batch)
 

Protected Attributes

uint8_t * addr_
 
int32_t missing_messages_
 
RxPipe::MessageBatch< T > * batch_
 
uint8_t * next_addr_
 

Detailed Description

template<typename T>
class enso::MessageIteratorBase< T >

Base class to represent a message within a batch.

It is designed to be used as an iterator. It tracks the number of missing messages such that operator!= returns false whenever the limit is reached.

Definition at line 1255 of file pipe.h.

Constructor & Destructor Documentation

◆ MessageIteratorBase() [1/2]

template<typename T >
enso::MessageIteratorBase< T >::MessageIteratorBase ( )
inlineprotected

Definition at line 1286 of file pipe.h.

◆ MessageIteratorBase() [2/2]

template<typename T >
enso::MessageIteratorBase< T >::MessageIteratorBase ( uint8_t *  addr,
int32_t  message_limit,
RxPipe::MessageBatch< T > *  batch 
)
inlineprotected
Parameters
addrThe address of the first message.
message_limitThe maximum number of messages to receive.
batchThe batch associated with this iterator.

Definition at line 1302 of file pipe.h.

Member Function Documentation

◆ operator!=()

template<typename T >
constexpr bool enso::MessageIteratorBase< T >::operator!= ( const MessageIteratorBase< T > &  other) const
inlineconstexpr

Definition at line 1265 of file pipe.h.

◆ operator*()

template<typename T >
constexpr uint8_t * enso::MessageIteratorBase< T >::operator* ( )
inlineconstexpr

Definition at line 1257 of file pipe.h.

◆ operator++()

template<typename T >
constexpr T & enso::MessageIteratorBase< T >::operator++ ( )
inlineconstexpr

Definition at line 1269 of file pipe.h.

Member Data Documentation

◆ addr_

template<typename T >
uint8_t* enso::MessageIteratorBase< T >::addr_
protected

Definition at line 1309 of file pipe.h.

◆ batch_

template<typename T >
RxPipe::MessageBatch<T>* enso::MessageIteratorBase< T >::batch_
protected

Definition at line 1311 of file pipe.h.

◆ missing_messages_

template<typename T >
int32_t enso::MessageIteratorBase< T >::missing_messages_
protected

Definition at line 1310 of file pipe.h.

◆ next_addr_

template<typename T >
uint8_t* enso::MessageIteratorBase< T >::next_addr_
protected

Definition at line 1312 of file pipe.h.


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