Random access iterator for the circular buffer. More...
#include <details.hpp>
Public Types | |
typedef boost::iterator < std::random_access_iterator_tag, typename Traits::value_type, typename Traits::difference_type, typename Traits::pointer, typename Traits::reference > | base_iterator |
Base iterator. More... | |
typedef iterator< Buff, typename Traits::nonconst_self > | nonconst_self |
Non-const iterator. More... | |
typedef base_iterator::value_type | value_type |
The type of the elements stored in the circular buffer. More... | |
typedef base_iterator::pointer | pointer |
Pointer to the element. More... | |
typedef base_iterator::reference | reference |
Reference to the element. More... | |
typedef Traits::size_type | size_type |
Size type. More... | |
typedef base_iterator::difference_type | difference_type |
Difference type. More... | |
Public Member Functions | |
iterator () | |
Default constructor. More... | |
iterator (const nonconst_self &it) | |
iterator (const Buff *cb, const pointer p) | |
iterator & | operator= (const iterator &it) |
Assign operator. More... | |
reference | operator* () const |
Dereferencing operator. More... | |
pointer | operator-> () const |
Dereferencing operator. More... | |
template<class Traits0 > | |
difference_type | operator- (const iterator< Buff, Traits0 > &it) const |
Difference operator. More... | |
iterator & | operator++ () |
Increment operator (prefix). More... | |
iterator | operator++ (int) |
Increment operator (postfix). More... | |
iterator & | operator-- () |
Decrement operator (prefix). More... | |
iterator | operator-- (int) |
Decrement operator (postfix). More... | |
iterator & | operator+= (difference_type n) |
Iterator addition. More... | |
iterator | operator+ (difference_type n) const |
Iterator addition. More... | |
iterator & | operator-= (difference_type n) |
Iterator subtraction. More... | |
iterator | operator- (difference_type n) const |
Iterator subtraction. More... | |
reference | operator[] (difference_type n) const |
Element access operator. More... | |
template<class Traits0 > | |
bool | operator== (const iterator< Buff, Traits0 > &it) const |
Equality. More... | |
template<class Traits0 > | |
bool | operator!= (const iterator< Buff, Traits0 > &it) const |
Inequality. More... | |
template<class Traits0 > | |
bool | operator< (const iterator< Buff, Traits0 > &it) const |
Less. More... | |
template<class Traits0 > | |
bool | operator> (const iterator< Buff, Traits0 > &it) const |
Greater. More... | |
template<class Traits0 > | |
bool | operator<= (const iterator< Buff, Traits0 > &it) const |
Less or equal. More... | |
template<class Traits0 > | |
bool | operator>= (const iterator< Buff, Traits0 > &it) const |
Greater or equal. More... | |
template<class Traits0 > | |
Traits0::pointer | linearize_pointer (const iterator< Buff, Traits0 > &it) const |
Get a pointer which would point to the same element as the iterator in case the circular buffer is linearized. More... | |
Public Attributes | |
const Buff * | m_buff |
The circular buffer where the iterator points to. More... | |
pointer | m_it |
An internal iterator. More... | |
Random access iterator for the circular buffer.
Buff | The type of the underlying circular buffer. |
Traits | Basic iterator types. |
typedef boost::iterator< std::random_access_iterator_tag, typename Traits::value_type, typename Traits::difference_type, typename Traits::pointer, typename Traits::reference> boost::cb_details::iterator< Buff, Traits >::base_iterator |
Base iterator.
typedef base_iterator::difference_type boost::cb_details::iterator< Buff, Traits >::difference_type |
Difference type.
typedef iterator<Buff, typename Traits::nonconst_self> boost::cb_details::iterator< Buff, Traits >::nonconst_self |
Non-const iterator.
typedef base_iterator::pointer boost::cb_details::iterator< Buff, Traits >::pointer |
Pointer to the element.
typedef base_iterator::reference boost::cb_details::iterator< Buff, Traits >::reference |
Reference to the element.
typedef Traits::size_type boost::cb_details::iterator< Buff, Traits >::size_type |
Size type.
typedef base_iterator::value_type boost::cb_details::iterator< Buff, Traits >::value_type |
The type of the elements stored in the circular buffer.
|
inline |
Default constructor.
|
inline |
|
inline |
|
inline |
Get a pointer which would point to the same element as the iterator in case the circular buffer is linearized.
References boost::cb_details::iterator< Buff, Traits >::m_it.
Referenced by boost::cb_details::iterator< Buff, Traits >::operator-(), and boost::cb_details::iterator< Buff, Traits >::operator<().
|
inline |
Inequality.
References BOOST_CB_ASSERT, boost::spirit::support::detail::is_valid(), and boost::cb_details::iterator< Buff, Traits >::m_it.
|
inline |
Dereferencing operator.
References BOOST_CB_ASSERT, boost::spirit::support::detail::is_valid(), and boost::cb_details::iterator< Buff, Traits >::m_it.
Referenced by boost::cb_details::iterator< Buff, Traits >::operator->().
|
inline |
Iterator addition.
References boost::n.
|
inline |
Increment operator (prefix).
References BOOST_CB_ASSERT, and boost::spirit::support::detail::is_valid().
|
inline |
Increment operator (postfix).
|
inline |
Iterator addition.
References BOOST_CB_ASSERT, boost::spirit::support::detail::is_valid(), and boost::n.
|
inline |
Difference operator.
References BOOST_CB_ASSERT, boost::spirit::support::detail::is_valid(), and boost::cb_details::iterator< Buff, Traits >::linearize_pointer().
|
inline |
Iterator subtraction.
References boost::n.
|
inline |
Decrement operator (prefix).
References BOOST_CB_ASSERT, and boost::spirit::support::detail::is_valid().
|
inline |
Decrement operator (postfix).
|
inline |
Iterator subtraction.
References BOOST_CB_ASSERT, boost::spirit::support::detail::is_valid(), and boost::n.
|
inline |
Dereferencing operator.
References boost::cb_details::iterator< Buff, Traits >::operator*().
|
inline |
|
inline |
Less or equal.
References boost::it.
|
inline |
Assign operator.
References boost::cb_details::iterator< Buff, Traits >::m_buff, boost::cb_details::iterator< Buff, Traits >::m_it, and boost::multiprecision::backends::operator=().
|
inline |
Equality.
References BOOST_CB_ASSERT, boost::spirit::support::detail::is_valid(), and boost::cb_details::iterator< Buff, Traits >::m_it.
|
inline |
Greater.
|
inline |
Greater or equal.
References boost::it.
|
inline |
Element access operator.
References boost::n.
const Buff* boost::cb_details::iterator< Buff, Traits >::m_buff |
The circular buffer where the iterator points to.
Referenced by boost::cb_details::iterator< Buff, Traits >::operator=().
pointer boost::cb_details::iterator< Buff, Traits >::m_it |
An internal iterator.
Referenced by boost::circular_buffer< Sample >::erase(), boost::cb_details::iterator< Buff, Traits >::linearize_pointer(), boost::cb_details::iterator< Buff, Traits >::operator!=(), boost::cb_details::iterator< Buff, Traits >::operator*(), boost::cb_details::iterator< Buff, Traits >::operator=(), boost::cb_details::iterator< Buff, Traits >::operator==(), boost::circular_buffer< Sample >::rerase(), and boost::circular_buffer< Sample >::rotate().