Embedded Template Library 1.0
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_imploperator= (const circular_iterator_impl &other)
 Assignment.
 
ETL_CONSTEXPR14 circular_iterator_imploperator++ ()
 Increment.
 
ETL_CONSTEXPR14 circular_iterator_impl operator++ (int)
 Increment.
 
ETL_CONSTEXPR14 circular_iterator_commonoperator= (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_commonoperator= (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_imploperator= (const circular_iterator_impl &other)
 Assignment.
 
ETL_CONSTEXPR14 circular_iterator_imploperator++ ()
 Increment.
 
ETL_CONSTEXPR14 circular_iterator_impl operator++ (int)
 Increment.
 
ETL_CONSTEXPR14 circular_iterator_imploperator-- ()
 Decrement.
 
ETL_CONSTEXPR14 circular_iterator_impl operator-- (int)
 Decrement.
 
ETL_CONSTEXPR14 circular_iterator_commonoperator= (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_commonoperator= (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_imploperator= (const circular_iterator_impl &other)
 Assignment.
 
ETL_CONSTEXPR14 circular_iterator_imploperator++ ()
 Increment.
 
ETL_CONSTEXPR14 circular_iterator_impl operator++ (int)
 Increment.
 
ETL_CONSTEXPR14 circular_iterator_imploperator-- ()
 Decrement.
 
ETL_CONSTEXPR14 circular_iterator_impl operator-- (int)
 Decrement.
 
ETL_CONSTEXPR14 circular_iterator_imploperator+= (difference_type offset)
 += operator.
 
ETL_CONSTEXPR14 circular_iterator_imploperator-= (typename etl::iterator_traits< TIterator >::difference_type offset)
 -= operator.
 
ETL_CONSTEXPR14 circular_iterator_commonoperator= (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_commonoperator= (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_iteratoroperator= (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

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