Embedded Template Library 1.0
Loading...
Searching...
No Matches
iterator.h File Reference
#include "platform.h"
#include "type_traits.h"
#include "utility.h"
#include "private/addressof.h"
#include <iterator>

Go to the source code of this file.

Classes

struct  etl::input_iterator_tag
 
struct  etl::output_iterator_tag
 
struct  etl::forward_iterator_tag
 
struct  etl::bidirectional_iterator_tag
 
struct  etl::random_access_iterator_tag
 
struct  etl::iterator_traits< TIterator, typename >
 
struct  etl::iterator_traits< T *, void >
 
struct  etl::iterator_traits< const T *, void >
 
class  etl::reverse_iterator< TIterator >
 
struct  etl::iterator< TCategory, T, TDistance, TPointer, TReference >
 iterator More...
 
class  etl::back_insert_iterator< TContainer >
 Turns assignment into push_back. More...
 
class  etl::front_insert_iterator< TContainer >
 Turns assignment into a push_front. More...
 
class  etl::push_insert_iterator< TContainer >
 Turns assignment into a push. More...
 
struct  etl::is_input_iterator< T >
 
struct  etl::is_output_iterator< T >
 
struct  etl::is_forward_iterator< T >
 
struct  etl::is_bidirectional_iterator< T >
 
struct  etl::is_random_iterator< T >
 
struct  etl::is_random_access_iterator< T >
 
struct  etl::is_input_iterator_concept< T >
 
struct  etl::is_output_iterator_concept< T >
 
struct  etl::is_forward_iterator_concept< T >
 
struct  etl::is_bidirectional_iterator_concept< T >
 
struct  etl::is_random_iterator_concept< T >
 
struct  etl::is_random_access_iterator_concept< T >
 

Namespaces

namespace  etl
 bitset_ext
 

Macros

#define ETL_ARRAY_SIZE(a)   sizeof(etl::array_size(a))
 

Functions

template<typename TIterator , typename TDistance >
ETL_CONSTEXPR14 void etl::advance_helper (TIterator &itr, TDistance n, ETL_OR_STD::output_iterator_tag)
 
template<typename TIterator , typename TDistance >
ETL_CONSTEXPR14 void etl::advance_helper (TIterator &itr, TDistance n, ETL_OR_STD::forward_iterator_tag)
 
template<typename TIterator , typename TDistance >
ETL_CONSTEXPR14 void etl::advance_helper (TIterator &itr, TDistance n, ETL_OR_STD::bidirectional_iterator_tag)
 
template<typename TIterator , typename TDistance >
ETL_CONSTEXPR14 void etl::advance_helper (TIterator &itr, TDistance n, ETL_OR_STD::random_access_iterator_tag)
 
template<typename TIterator , typename TDistance >
ETL_CONSTEXPR14 void etl::advance (TIterator &itr, TDistance n)
 
template<typename TIterator >
ETL_CONSTEXPR14 etl::iterator_traits< TIterator >::difference_type etl::distance_helper (TIterator first, TIterator last, ETL_OR_STD::input_iterator_tag)
 
template<typename TIterator >
ETL_CONSTEXPR14 etl::iterator_traits< TIterator >::difference_type etl::distance_helper (TIterator first, TIterator last, ETL_OR_STD::forward_iterator_tag)
 
template<typename TIterator >
ETL_CONSTEXPR14 etl::iterator_traits< TIterator >::difference_type etl::distance_helper (TIterator first, TIterator last, ETL_OR_STD::bidirectional_iterator_tag)
 
template<typename TIterator >
ETL_CONSTEXPR14 etl::iterator_traits< TIterator >::difference_type etl::distance_helper (TIterator first, TIterator last, ETL_OR_STD::random_access_iterator_tag)
 
template<typename TIterator >
ETL_CONSTEXPR14 etl::iterator_traits< TIterator >::difference_type etl::distance (TIterator first, TIterator last)
 
template<typename TIterator >
ETL_CONSTEXPR14 TIterator etl::prev (TIterator itr, typename etl::iterator_traits< TIterator >::difference_type n=1)
 
template<typename TIterator >
ETL_CONSTEXPR14 TIterator etl::next (TIterator itr, typename etl::iterator_traits< TIterator >::difference_type n=1)
 
template<typename TIterator >
ETL_CONSTEXPR14 bool etl::operator== (const reverse_iterator< TIterator > &lhs, const reverse_iterator< TIterator > &rhs)
 
template<typename TIterator >
ETL_CONSTEXPR14 bool etl::operator!= (const reverse_iterator< TIterator > &lhs, const reverse_iterator< TIterator > &rhs)
 
template<typename TIterator >
ETL_CONSTEXPR14 bool etl::operator< (const reverse_iterator< TIterator > &lhs, const reverse_iterator< TIterator > &rhs)
 
template<typename TIterator >
ETL_CONSTEXPR14 bool etl::operator> (const reverse_iterator< TIterator > &lhs, const reverse_iterator< TIterator > &rhs)
 
template<typename TIterator >
ETL_CONSTEXPR14 bool etl::operator<= (const reverse_iterator< TIterator > &lhs, const reverse_iterator< TIterator > &rhs)
 
template<typename TIterator >
ETL_CONSTEXPR14 bool etl::operator>= (const reverse_iterator< TIterator > &lhs, const reverse_iterator< TIterator > &rhs)
 
template<typename TIterator >
ETL_CONSTEXPR14 reverse_iterator< TIterator >::difference_type etl::operator- (const reverse_iterator< TIterator > &lhs, const reverse_iterator< TIterator > &rhs)
 
template<typename TIterator , class TDifference >
ETL_CONSTEXPR14 reverse_iterator< TIteratoretl::operator+ (TDifference n, const reverse_iterator< TIterator > &itr)
 
template<typename TContainer >
ETL_NODISCARD ETL_CONSTEXPR14 etl::back_insert_iterator< TContaineretl::back_inserter (TContainer &container)
 Creates a back_insert_iterator from a container.
 
template<typename TContainer >
ETL_NODISCARD ETL_CONSTEXPR14 etl::front_insert_iterator< TContaineretl::front_inserter (TContainer &container)
 Creates a front_insert_iterator from a container.
 
template<typename TContainer >
ETL_NODISCARD ETL_CONSTEXPR14 etl::push_insert_iterator< TContaineretl::push_inserter (TContainer &container)
 Creates a push_insert_iterator from a container.
 
template<typename TContainer >
ETL_CONSTEXPR TContainer::iterator etl::begin (TContainer &container)
 
template<typename TContainer >
ETL_CONSTEXPR TContainer::const_iterator etl::begin (const TContainer &container)
 
template<typename TContainer >
ETL_CONSTEXPR TContainer::const_iterator etl::cbegin (const TContainer &container)
 
template<typename TContainer >
ETL_CONSTEXPR TContainer::iterator etl::end (TContainer &container)
 
template<typename TContainer >
ETL_CONSTEXPR TContainer::const_iterator etl::end (const TContainer &container)
 
template<typename TContainer >
ETL_CONSTEXPR TContainer::const_iterator etl::cend (const TContainer &container)
 
template<typename TValue , size_t Array_Size>
ETL_CONSTEXPR TValueetl::begin (TValue(&data)[Array_Size])
 
template<typename TValue , size_t Array_Size>
ETL_CONSTEXPR const TValueetl::begin (const TValue(&data)[Array_Size])
 
template<typename TValue , size_t Array_Size>
ETL_CONSTEXPR const TValueetl::cbegin (const TValue(&data)[Array_Size])
 
template<typename TValue , size_t Array_Size>
ETL_CONSTEXPR TValueetl::end (TValue(&data)[Array_Size])
 
template<typename TValue , size_t Array_Size>
ETL_CONSTEXPR const TValueetl::end (const TValue(&data)[Array_Size])
 
template<typename TValue , size_t Array_Size>
ETL_CONSTEXPR const TValueetl::cend (const TValue(&data)[Array_Size])
 
template<typename TContainer >
ETL_CONSTEXPR TContainer::reverse_iterator etl::rbegin (TContainer &container)
 
template<typename TContainer >
ETL_CONSTEXPR TContainer::const_reverse_iterator etl::rbegin (const TContainer &container)
 
template<typename TContainer >
ETL_CONSTEXPR TContainer::const_reverse_iterator etl::crbegin (const TContainer &container)
 
template<typename TContainer >
ETL_CONSTEXPR TContainer::reverse_iterator etl::rend (TContainer &container)
 
template<typename TContainer >
ETL_CONSTEXPR TContainer::const_reverse_iterator etl::rend (const TContainer &container)
 
template<typename TContainer >
ETL_CONSTEXPR TContainer::const_reverse_iterator etl::crend (const TContainer &container)
 
template<typename TValue , size_t Array_Size>
ETL_OR_STD::reverse_iterator< TValue * > etl::rbegin (TValue(&data)[Array_Size])
 
template<typename TValue , size_t Array_Size>
ETL_CONSTEXPR ETL_OR_STD::reverse_iterator< const TValue * > etl::crbegin (const TValue(&data)[Array_Size])
 
template<typename TValue , size_t Array_Size>
ETL_CONSTEXPR ETL_OR_STD::reverse_iterator< TValue * > etl::rend (TValue(&data)[Array_Size])
 
template<typename TValue , size_t Array_Size>
ETL_CONSTEXPR ETL_OR_STD::reverse_iterator< const TValue * > etl::crend (const TValue(&data)[Array_Size])
 
template<typename TContainer >
ETL_CONSTEXPR TContainer::size_type etl::size (const TContainer &container)
 
template<typename TValue , size_t Array_Size>
ETL_CONSTEXPR size_t etl::size (TValue(&)[Array_Size])
 
template<typename T , size_t Array_Size>
char(& etl::array_size (T(&array)[Array_Size]))[Array_Size]