21 #ifndef GRPPI_COMMON_ITERATOR_TRAITS_H 22 #define GRPPI_COMMON_ITERATOR_TRAITS_H 28 template<
typename T,
typename =
void>
31 static constexpr
bool value =
false;
35 struct is_iterator<T, typename
std::enable_if<!std::is_same<typename std::iterator_traits<T>::value_type, void>::value>::type>
37 static constexpr
bool value =
true;
40 template<
typename T,
typename ...other_T>
60 template<
typename ...T>
63 template<
typename ...T>
Definition: callable_traits.h:26
static constexpr bool value
Definition: iterator_traits.h:31
std::enable_if_t< are_iterators< T... >, int > requires_iterators
Definition: iterator_traits.h:64
Definition: iterator_traits.h:29
constexpr bool is_iterator
Definition: iterator_traits.h:55
std::enable_if_t< is_iterator< T >, int > requires_iterator
Definition: iterator_traits.h:58
constexpr bool are_iterators
Definition: iterator_traits.h:61
Definition: iterator_traits.h:41