16 #ifndef GRPPI_COMMON_ITERATOR_TRAITS_H
17 #define GRPPI_COMMON_ITERATOR_TRAITS_H
23 template<
typename T,
typename =
void>
26 static constexpr
bool value =
false;
30 struct is_iterator<T, typename std::enable_if<!std::is_same<typename std::iterator_traits<T>::value_type, void>::value>::type>
32 static constexpr
bool value =
true;
35 template<
typename T,
typename ...other_T>
55 template<
typename ...T>
58 template<
typename ...T>
Definition: callable_traits.h:21
std::enable_if_t< is_iterator< T >, int > requires_iterator
Definition: iterator_traits.h:53
std::enable_if_t< are_iterators< T... >, int > requires_iterators
Definition: iterator_traits.h:59
constexpr bool is_iterator
Definition: iterator_traits.h:50
constexpr bool are_iterators
Definition: iterator_traits.h:56
Definition: iterator_traits.h:37
static constexpr bool value
Definition: iterator_traits.h:38
Definition: iterator_traits.h:25
static constexpr bool value
Definition: iterator_traits.h:26