Loading...
Searching...
No Matches
Iterator types

## Classes

class | etl::private_circular_iterator::circular_iterator_impl< TIterator, TTag >
class | etl::private_circular_iterator::circular_iterator_impl< TIterator, ETL_OR_STD::forward_iterator_tag >
class | etl::private_circular_iterator::circular_iterator_impl< TIterator, ETL_OR_STD::bidirectional_iterator_tag >
class | etl::private_circular_iterator::circular_iterator_impl< TIterator, ETL_OR_STD::random_access_iterator_tag >
class | etl::ETL_FINAL< TIterator >
class | etl::fixed_iterator< TIterator >

## Detailed Description

## Class Documentation

## etl::private_circular_iterator::circular_iterator_impl

class etl::private_circular_iterator::circular_iterator_impl

template<typename TIterator, typename TTag = typename etl::iterator_traits<TIterator>::iterator_category>
class etl::private_circular_iterator::circular_iterator_impl< TIterator, TTag >

A circular iterator class. This iterator can be given a pair of iterator values, which will loop if the start or end of the range is reached.

## etl::private_circular_iterator::circular_iterator_impl< TIterator, ETL_OR_STD::forward_iterator_tag >

class etl::private_circular_iterator::circular_iterator_impl< TIterator, ETL_OR_STD::forward_iterator_tag >

template<typename TIterator>
class etl::private_circular_iterator::circular_iterator_impl< TIterator, ETL_OR_STD::forward_iterator_tag >

A circular iterator class. Specialisation for forward iterators.

//‍***************************************************************************

### Public Types

typedef common_t::value_type | value_type
typedef common_t::difference_type | difference_type
typedef common_t::pointer | pointer
typedef common_t::reference | reference
typedef common_t::iterator_category | iterator_category
Public Types inherited from etl::private_circular_iterator::circular_iterator_common< TIterator >
typedef etl::iterator_traits< TIterator >::value_type | value_type
typedef etl::iterator_traits< TIterator >::difference_type | difference_type
typedef etl::iterator_traits< TIterator >::pointer | pointer
typedef etl::iterator_traits< TIterator >::reference | reference
typedef etl::iterator_traits< TIterator >::iterator_category | iterator_category
Public Types inherited from etl::iterator< etl::iterator_traits< TIterator >::iterator_category, etl::iterator_traits< TIterator >::value_type >
typedef etl::iterator_traits< TIterator >::value_type | value_type
typedef ptrdiff_t | difference_type
typedef etl::iterator_traits< TIterator >::value_type * | pointer
typedef etl::iterator_traits< TIterator >::value_type & | reference
typedef etl::iterator_traits< TIterator >::iterator_category | iterator_category

### Public Member Functions

ETL_CONSTEXPR14 | circular_iterator_impl ()
| Default constructor.
ETL_CONSTEXPR14 | circular_iterator_impl (TIterator itr_begin_, TIterator itr_end_)
| Construct from iterators.
ETL_CONSTEXPR14 | circular_iterator_impl (TIterator itr_begin_, TIterator itr_end_, TIterator start_)
| Construct from start + iterators.
ETL_CONSTEXPR14 | circular_iterator_impl (const circular_iterator_impl &other)
| Copy constructor.
ETL_CONSTEXPR14 circular_iterator_impl & | operator= (const circular_iterator_impl &other)
| Assignment.
ETL_CONSTEXPR14 circular_iterator_impl & | operator++ ()
| Increment.
ETL_CONSTEXPR14 circular_iterator_impl | operator++ (int)
| Increment.
ETL_CONSTEXPR14 circular_iterator_common & | operator= (const circular_iterator_common &other)
| Assignment.
Public Member Functions inherited from etl::private_circular_iterator::circular_iterator_common< TIterator >
ETL_CONSTEXPR14 | circular_iterator_common ()
| Default constructor.
ETL_CONSTEXPR14 | circular_iterator_common (TIterator itr_begin_, TIterator itr_end_, TIterator start_)
| Construct from iterators.
ETL_CONSTEXPR14 | circular_iterator_common (const circular_iterator_common &other)
| Copy constructor.
ETL_CONSTEXPR14 circular_iterator_common & | operator= (const circular_iterator_common &other)
| Assignment.
ETL_CONSTEXPR14 TIterator | begin () const
| Beginning of the range.
ETL_CONSTEXPR14 TIterator | end () const
| End of the range.
ETL_CONSTEXPR14 size_t | size () const
| How long is the range?
ETL_CONSTEXPR14 bool | empty () const
| Is there nothing to iterate over?
ETL_CONSTEXPR14 value_type | operator* ()
| Dereference operator.
ETL_CONSTEXPR14 const value_type | operator* () const
| Dereference operator.
ETL_CONSTEXPR14 TIterator | operator-> ()
| -> operator.
ETL_CONSTEXPR14 const TIterator | operator-> () const
| -> operator.
ETL_CONSTEXPR14 | operator TIterator () const
| Conversion operator.
ETL_CONSTEXPR14 TIterator | current () const
| Conversion to base iterator type.

## Additional Inherited Members

Protected Attributes inherited from etl::private_circular_iterator::circular_iterator_common< TIterator >
TIterator | itr_begin
| The underlying begin iterator.
TIterator | itr_end
| The underlying end iterator.
TIterator | itr
| The underlying iterator.

## etl::private_circular_iterator::circular_iterator_impl< TIterator, ETL_OR_STD::bidirectional_iterator_tag >

class etl::private_circular_iterator::circular_iterator_impl< TIterator, ETL_OR_STD::bidirectional_iterator_tag >

template<typename TIterator>
class etl::private_circular_iterator::circular_iterator_impl< TIterator, ETL_OR_STD::bidirectional_iterator_tag >

A circular iterator class. Specialisation for random access iterators.

//‍***************************************************************************

### Public Types

typedef common_t::value_type | value_type
typedef common_t::difference_type | difference_type
typedef common_t::pointer | pointer
typedef common_t::reference | reference
typedef common_t::iterator_category | iterator_category
Public Types inherited from etl::private_circular_iterator::circular_iterator_common< TIterator >
typedef etl::iterator_traits< TIterator >::value_type | value_type
typedef etl::iterator_traits< TIterator >::difference_type | difference_type
typedef etl::iterator_traits< TIterator >::pointer | pointer
typedef etl::iterator_traits< TIterator >::reference | reference
typedef etl::iterator_traits< TIterator >::iterator_category | iterator_category
Public Types inherited from etl::iterator< etl::iterator_traits< TIterator >::iterator_category, etl::iterator_traits< TIterator >::value_type >
typedef etl::iterator_traits< TIterator >::value_type | value_type
typedef ptrdiff_t | difference_type
typedef etl::iterator_traits< TIterator >::value_type * | pointer
typedef etl::iterator_traits< TIterator >::value_type & | reference
typedef etl::iterator_traits< TIterator >::iterator_category | iterator_category

### Public Member Functions

ETL_CONSTEXPR14 | circular_iterator_impl ()
| Default constructor.
ETL_CONSTEXPR14 | circular_iterator_impl (TIterator itr_begin_, TIterator itr_end_)
| Construct from iterators.
ETL_CONSTEXPR14 | circular_iterator_impl (TIterator itr_begin_, TIterator itr_end_, TIterator start_)
| Construct from start + iterators.
ETL_CONSTEXPR14 | circular_iterator_impl (const circular_iterator_impl &other)
| Copy constructor.
ETL_CONSTEXPR14 circular_iterator_impl & | operator= (const circular_iterator_impl &other)
| Assignment.
ETL_CONSTEXPR14 circular_iterator_impl & | operator++ ()
| Increment.
ETL_CONSTEXPR14 circular_iterator_impl | operator++ (int)
| Increment.
ETL_CONSTEXPR14 circular_iterator_impl & | operator-- ()
| Decrement.
ETL_CONSTEXPR14 circular_iterator_impl | operator-- (int)
| Decrement.
ETL_CONSTEXPR14 circular_iterator_common & | operator= (const circular_iterator_common &other)
| Assignment.
Public Member Functions inherited from etl::private_circular_iterator::circular_iterator_common< TIterator >
ETL_CONSTEXPR14 | circular_iterator_common ()
| Default constructor.
ETL_CONSTEXPR14 | circular_iterator_common (TIterator itr_begin_, TIterator itr_end_, TIterator start_)
| Construct from iterators.
ETL_CONSTEXPR14 | circular_iterator_common (const circular_iterator_common &other)
| Copy constructor.
ETL_CONSTEXPR14 circular_iterator_common & | operator= (const circular_iterator_common &other)
| Assignment.
ETL_CONSTEXPR14 TIterator | begin () const
| Beginning of the range.
ETL_CONSTEXPR14 TIterator | end () const
| End of the range.
ETL_CONSTEXPR14 size_t | size () const
| How long is the range?
ETL_CONSTEXPR14 bool | empty () const
| Is there nothing to iterate over?
ETL_CONSTEXPR14 value_type | operator* ()
| Dereference operator.
ETL_CONSTEXPR14 const value_type | operator* () const
| Dereference operator.
ETL_CONSTEXPR14 TIterator | operator-> ()
| -> operator.
ETL_CONSTEXPR14 const TIterator | operator-> () const
| -> operator.
ETL_CONSTEXPR14 | operator TIterator () const
| Conversion operator.
ETL_CONSTEXPR14 TIterator | current () const
| Conversion to base iterator type.

## Additional Inherited Members

Protected Attributes inherited from etl::private_circular_iterator::circular_iterator_common< TIterator >
TIterator | itr_begin
| The underlying begin iterator.
TIterator | itr_end
| The underlying end iterator.
TIterator | itr
| The underlying iterator.

## etl::private_circular_iterator::circular_iterator_impl< TIterator, ETL_OR_STD::random_access_iterator_tag >

class etl::private_circular_iterator::circular_iterator_impl< TIterator, ETL_OR_STD::random_access_iterator_tag >

template<typename TIterator>
class etl::private_circular_iterator::circular_iterator_impl< TIterator, ETL_OR_STD::random_access_iterator_tag >

A circular iterator class. Specialisation for random access iterators.

### Public Types

typedef common_t::value_type | value_type
typedef common_t::difference_type | difference_type
typedef common_t::pointer | pointer
typedef common_t::reference | reference
typedef common_t::iterator_category | iterator_category
Public Types inherited from etl::private_circular_iterator::circular_iterator_common< TIterator >
typedef etl::iterator_traits< TIterator >::value_type | value_type
typedef etl::iterator_traits< TIterator >::difference_type | difference_type
typedef etl::iterator_traits< TIterator >::pointer | pointer
typedef etl::iterator_traits< TIterator >::reference | reference
typedef etl::iterator_traits< TIterator >::iterator_category | iterator_category
Public Types inherited from etl::iterator< etl::iterator_traits< TIterator >::iterator_category, etl::iterator_traits< TIterator >::value_type >
typedef etl::iterator_traits< TIterator >::value_type | value_type
typedef ptrdiff_t | difference_type
typedef etl::iterator_traits< TIterator >::value_type * | pointer
typedef etl::iterator_traits< TIterator >::value_type & | reference
typedef etl::iterator_traits< TIterator >::iterator_category | iterator_category

### Public Member Functions

ETL_CONSTEXPR14 | circular_iterator_impl ()
| Default constructor.
ETL_CONSTEXPR14 | circular_iterator_impl (TIterator itr_begin_, TIterator itr_end_)
| Construct from iterators.
ETL_CONSTEXPR14 | circular_iterator_impl (TIterator itr_begin_, TIterator itr_end_, TIterator start_)
| Construct from start + iterators.
ETL_CONSTEXPR14 | circular_iterator_impl (const circular_iterator_impl &other)
| Copy constructor.
ETL_CONSTEXPR14 circular_iterator_impl & | operator= (const circular_iterator_impl &other)
| Assignment.
ETL_CONSTEXPR14 circular_iterator_impl & | operator++ ()
| Increment.
ETL_CONSTEXPR14 circular_iterator_impl | operator++ (int)
| Increment.
ETL_CONSTEXPR14 circular_iterator_impl & | operator-- ()
| Decrement.
ETL_CONSTEXPR14 circular_iterator_impl | operator-- (int)
| Decrement.
ETL_CONSTEXPR14 circular_iterator_impl & | operator+= (difference_type offset)
| += operator.
ETL_CONSTEXPR14 circular_iterator_impl & | operator-= (typename etl::iterator_traits< TIterator >::difference_type offset)
| -= operator.
ETL_CONSTEXPR14 circular_iterator_common & | operator= (const circular_iterator_common &other)
| Assignment.
Public Member Functions inherited from etl::private_circular_iterator::circular_iterator_common< TIterator >
ETL_CONSTEXPR14 | circular_iterator_common ()
| Default constructor.
ETL_CONSTEXPR14 | circular_iterator_common (TIterator itr_begin_, TIterator itr_end_, TIterator start_)
| Construct from iterators.
ETL_CONSTEXPR14 | circular_iterator_common (const circular_iterator_common &other)
| Copy constructor.
ETL_CONSTEXPR14 circular_iterator_common & | operator= (const circular_iterator_common &other)
| Assignment.
ETL_CONSTEXPR14 TIterator | begin () const
| Beginning of the range.
ETL_CONSTEXPR14 TIterator | end () const
| End of the range.
ETL_CONSTEXPR14 size_t | size () const
| How long is the range?
ETL_CONSTEXPR14 bool | empty () const
| Is there nothing to iterate over?
ETL_CONSTEXPR14 value_type | operator* ()
| Dereference operator.
ETL_CONSTEXPR14 const value_type | operator* () const
| Dereference operator.
ETL_CONSTEXPR14 TIterator | operator-> ()
| -> operator.
ETL_CONSTEXPR14 const TIterator | operator-> () const
| -> operator.
ETL_CONSTEXPR14 | operator TIterator () const
| Conversion operator.
ETL_CONSTEXPR14 TIterator | current () const
| Conversion to base iterator type.

## Additional Inherited Members

Protected Attributes inherited from etl::private_circular_iterator::circular_iterator_common< TIterator >
TIterator | itr_begin
| The underlying begin iterator.
TIterator | itr_end
| The underlying end iterator.
TIterator | itr
| The underlying iterator.

## etl::ETL_FINAL

class etl::ETL_FINAL

template<typename TIterator>
class etl::ETL_FINAL< TIterator >

A circular iterator class. This iterator can be given a pair of iterator values, which will loop if the start or end of the range is reached.

### Public Types

typedef impl_t::value_type | value_type
typedef impl_t::difference_type | difference_type
typedef impl_t::pointer | pointer
typedef impl_t::reference | reference
typedef impl_t::iterator_category | iterator_category

### Public Member Functions

ETL_CONSTEXPR14 | circular_iterator ()
| Default constructor.
ETL_CONSTEXPR14 | circular_iterator (TIterator itr_begin_, TIterator itr_end_)
| Construct from iterators.
ETL_CONSTEXPR14 | circular_iterator (TIterator itr_begin_, TIterator itr_end_, TIterator start_)
| Construct from start + iterators.
ETL_CONSTEXPR14 | circular_iterator (const circular_iterator &other)
| Copy constructor.
ETL_CONSTEXPR14 circular_iterator & | operator= (const circular_iterator &other)
| Assignment.

## etl::fixed_iterator

class etl::fixed_iterator

template<typename TIterator>
class etl::fixed_iterator< TIterator >

A fixed iterator class. This iterator can be given an iterator value, which will not be allowed to be incremented or decremented. This can be useful when using STL algorithms to interact with fixed memory locations such as registers.

### Public Member Functions

ETL_CONSTEXPR | fixed_iterator ()
| Default constructor.
ETL_CONSTEXPR | fixed_iterator (TIterator it_)
| Construct from iterator.
ETL_CONSTEXPR | fixed_iterator (const fixed_iterator &other)
| Copy constructor.
ETL_CONSTEXPR14 fixed_iterator & | operator++ ()
| Increment (Does nothing).
ETL_CONSTEXPR14 fixed_iterator | operator++ (int)
| Increment (Does nothing).
ETL_CONSTEXPR14 fixed_iterator & | operator-- ()
| Decrement (Does nothing).
ETL_CONSTEXPR14 fixed_iterator | operator-- (int)
| Decrement (Does nothing).
ETL_CONSTEXPR14 etl::iterator_traits< TIterator >::reference | operator* ()
| Dereference operator.
ETL_CONSTEXPR etl::iterator_traits< TIterator >::reference | operator* () const
| Dereference operator.
ETL_CONSTEXPR14 TIterator | operator-> ()
| -> operator.
ETL_CONSTEXPR const TIterator | operator-> () const
| -> operator.
ETL_CONSTEXPR | operator TIterator () const
| Conversion operator.
ETL_CONSTEXPR14 fixed_iterator & | operator+= (typename etl::iterator_traits< TIterator >::difference_type)
| += operator.
ETL_CONSTEXPR14 fixed_iterator & | operator-= (typename etl::iterator_traits< TIterator >::difference_type)
| -= operator.
ETL_CONSTEXPR14 fixed_iterator & | operator= (TIterator new_it)
| Assignment from iterator.
ETL_CONSTEXPR14 fixed_iterator & | operator= (fixed_iterator other)
| Assignment from fixed_iterator.