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().