MADARA  3.4.1
madara::utility::CircularBuffer< T >::iterator Class Reference

Mutable input iterator for elements of a CircularBuffer. Usual semantics. More...

#include <CircularBuffer.h>

Public Types

using difference_type = size_t
 
using iterator_category = std::random_access_iterator_tag
 
using pointer = T *
 
using reference = T &
 
using value_type = T
 

Public Member Functions

reference at () const
 
reference at (size_t i) const
 
size_t index () const
 Index this iterator refers to. More...
 
size_t index_actual () const
 Actual index within buffer this iterator refers to. More...
 
bool operator!= (const iterator &other) const
 
reference operator* () const
 
iterator operator+ (size_t n) const
 
iteratoroperator++ ()
 
iterator operator++ (int)
 
iteratoroperator+= (size_t n)
 
size_t operator- (const iterator &other) const
 
iterator operator- (size_t n) const
 
iteratoroperator-- ()
 
iterator operator-- (int)
 
iteratoroperator-= (size_t n)
 
pointer operator-> () const
 
bool operator< (const iterator &other) const
 
bool operator<= (const iterator &other) const
 
bool operator== (const iterator &other) const
 
bool operator> (const iterator &other) const
 
bool operator>= (const iterator &other) const
 
reference operator[] (size_t i) const
 

Private Member Functions

 iterator (CircularBuffer &buf, size_t idx)
 

Private Attributes

CircularBufferbuf_
 
size_t idx_
 

Friends

class CircularBuffer< T >
 
iterator operator+ (size_t n, const iterator &me)
 

Detailed Description

template<typename T>
class madara::utility::CircularBuffer< T >::iterator

Mutable input iterator for elements of a CircularBuffer. Usual semantics.

Definition at line 342 of file CircularBuffer.h.

Member Typedef Documentation

◆ difference_type

template<typename T >
using madara::utility::CircularBuffer< T >::iterator::difference_type = size_t

Definition at line 346 of file CircularBuffer.h.

◆ iterator_category

template<typename T >
using madara::utility::CircularBuffer< T >::iterator::iterator_category = std::random_access_iterator_tag

Definition at line 349 of file CircularBuffer.h.

◆ pointer

template<typename T >
using madara::utility::CircularBuffer< T >::iterator::pointer = T*

Definition at line 348 of file CircularBuffer.h.

◆ reference

template<typename T >
using madara::utility::CircularBuffer< T >::iterator::reference = T&

Definition at line 347 of file CircularBuffer.h.

◆ value_type

template<typename T >
using madara::utility::CircularBuffer< T >::iterator::value_type = T

Definition at line 345 of file CircularBuffer.h.

Constructor & Destructor Documentation

◆ iterator()

template<typename T >
madara::utility::CircularBuffer< T >::iterator::iterator ( CircularBuffer buf,
size_t  idx 
)
inlineprivate

Definition at line 479 of file CircularBuffer.h.

Member Function Documentation

◆ at() [1/2]

template<typename T >
reference madara::utility::CircularBuffer< T >::iterator::at ( ) const
inline

Definition at line 355 of file CircularBuffer.h.

◆ at() [2/2]

template<typename T >
reference madara::utility::CircularBuffer< T >::iterator::at ( size_t  i) const
inline

Definition at line 367 of file CircularBuffer.h.

◆ index()

template<typename T >
size_t madara::utility::CircularBuffer< T >::iterator::index ( ) const
inline

Index this iterator refers to.

Definition at line 395 of file CircularBuffer.h.

◆ index_actual()

template<typename T >
size_t madara::utility::CircularBuffer< T >::iterator::index_actual ( ) const
inline

Actual index within buffer this iterator refers to.

Definition at line 400 of file CircularBuffer.h.

◆ operator!=()

template<typename T >
bool madara::utility::CircularBuffer< T >::iterator::operator!= ( const iterator other) const
inline

Definition at line 410 of file CircularBuffer.h.

◆ operator*()

template<typename T >
reference madara::utility::CircularBuffer< T >::iterator::operator* ( void  ) const
inline

Definition at line 351 of file CircularBuffer.h.

◆ operator+()

template<typename T >
iterator madara::utility::CircularBuffer< T >::iterator::operator+ ( size_t  n) const
inline

Definition at line 447 of file CircularBuffer.h.

◆ operator++() [1/2]

template<typename T >
iterator& madara::utility::CircularBuffer< T >::iterator::operator++ ( void  )
inline

Definition at line 371 of file CircularBuffer.h.

◆ operator++() [2/2]

template<typename T >
iterator madara::utility::CircularBuffer< T >::iterator::operator++ ( int  )
inline

Definition at line 381 of file CircularBuffer.h.

◆ operator+=()

template<typename T >
iterator& madara::utility::CircularBuffer< T >::iterator::operator+= ( size_t  n)
inline

Definition at line 435 of file CircularBuffer.h.

◆ operator-() [1/2]

template<typename T >
size_t madara::utility::CircularBuffer< T >::iterator::operator- ( const iterator other) const
inline

Definition at line 468 of file CircularBuffer.h.

◆ operator-() [2/2]

template<typename T >
iterator madara::utility::CircularBuffer< T >::iterator::operator- ( size_t  n) const
inline

Definition at line 461 of file CircularBuffer.h.

◆ operator--() [1/2]

template<typename T >
iterator& madara::utility::CircularBuffer< T >::iterator::operator-- ( void  )
inline

Definition at line 376 of file CircularBuffer.h.

◆ operator--() [2/2]

template<typename T >
iterator madara::utility::CircularBuffer< T >::iterator::operator-- ( int  )
inline

Definition at line 387 of file CircularBuffer.h.

◆ operator-=()

template<typename T >
iterator& madara::utility::CircularBuffer< T >::iterator::operator-= ( size_t  n)
inline

Definition at line 441 of file CircularBuffer.h.

◆ operator->()

template<typename T >
pointer madara::utility::CircularBuffer< T >::iterator::operator-> ( ) const
inline

Definition at line 359 of file CircularBuffer.h.

◆ operator<()

template<typename T >
bool madara::utility::CircularBuffer< T >::iterator::operator< ( const iterator other) const
inline

Definition at line 415 of file CircularBuffer.h.

◆ operator<=()

template<typename T >
bool madara::utility::CircularBuffer< T >::iterator::operator<= ( const iterator other) const
inline

Definition at line 425 of file CircularBuffer.h.

◆ operator==()

template<typename T >
bool madara::utility::CircularBuffer< T >::iterator::operator== ( const iterator other) const
inline

Definition at line 405 of file CircularBuffer.h.

◆ operator>()

template<typename T >
bool madara::utility::CircularBuffer< T >::iterator::operator> ( const iterator other) const
inline

Definition at line 420 of file CircularBuffer.h.

◆ operator>=()

template<typename T >
bool madara::utility::CircularBuffer< T >::iterator::operator>= ( const iterator other) const
inline

Definition at line 430 of file CircularBuffer.h.

◆ operator[]()

template<typename T >
reference madara::utility::CircularBuffer< T >::iterator::operator[] ( size_t  i) const
inline

Definition at line 363 of file CircularBuffer.h.

Friends And Related Function Documentation

◆ CircularBuffer< T >

template<typename T >
friend class CircularBuffer< T >
friend

Definition at line 482 of file CircularBuffer.h.

◆ operator+

template<typename T >
iterator operator+ ( size_t  n,
const iterator me 
)
friend

Definition at line 454 of file CircularBuffer.h.

Member Data Documentation

◆ buf_

template<typename T >
CircularBuffer* madara::utility::CircularBuffer< T >::iterator::buf_
private

Definition at line 481 of file CircularBuffer.h.

◆ idx_

template<typename T >
size_t madara::utility::CircularBuffer< T >::iterator::idx_
private

Definition at line 482 of file CircularBuffer.h.


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