4#ifndef TETL_ITERATOR_ITERATOR_TRAITS_HPP
5#define TETL_ITERATOR_ITERATOR_TRAITS_HPP
7#include <etl/_cstddef/ptrdiff_t.hpp>
8#include <etl/_iterator/tags.hpp>
9#include <etl/_type_traits/remove_cv.hpp>
10#include <etl/_type_traits/void_t.hpp>
15template <
typename Iter,
typename =
etl::void_t<>>
16struct iterator_traits_impl { };
18template <
typename Iter>
19struct iterator_traits_impl<
22 typename Iter::iterator_category,
23 typename Iter::value_type,
24 typename Iter::difference_type,
25 typename Iter::pointer,
26 typename Iter::reference
29 using iterator_category =
typename Iter::iterator_category;
30 using value_type =
typename Iter::value_type;
31 using difference_type =
typename Iter::difference_type;
32 using pointer =
typename Iter::pointer;
33 using reference =
typename Iter::reference;
47template <
typename Iter>
54 using value_type = remove_cv_t<T>;
55 using difference_type = ptrdiff_t;
Definition adjacent_find.hpp:9
Defines the category of an iterator. Each tag is an empty type and corresponds to one of the five (un...
Definition tags.hpp:43
iterator_traits is the type trait class that provides uniform interface to the properties of LegacyIt...
Definition iterator_traits.hpp:48
Defines the category of an iterator. Each tag is an empty type and corresponds to one of the five (un...
Definition tags.hpp:37