7#if !defined(ASYNC_MQTT_UTIL_IS_ITERATOR_HPP)
8#define ASYNC_MQTT_UTIL_IS_ITERATOR_HPP
16template <
typename T,
typename =
void>
17struct is_input_iterator : std::false_type {
21struct is_input_iterator<
23 void_t<decltype(++std::declval<T&>()),
24 decltype(*std::declval<T&>()),
25 decltype(std::declval<T&>() == std::declval<T&>())>>