diff --git a/src/entt/core/type_traits.hpp b/src/entt/core/type_traits.hpp index 3ca4292b5..8acbaa474 100644 --- a/src/entt/core/type_traits.hpp +++ b/src/entt/core/type_traits.hpp @@ -675,17 +675,22 @@ inline constexpr bool is_complete_v = is_complete::value; template struct is_iterator: std::false_type {}; -/*! @copydoc is_iterator */ +/*! @cond TURN_OFF_DOXYGEN */ +namespace internal { + +template +struct has_iterator_category: std::false_type {}; + template -struct is_iterator: is_iterator {}; +struct has_iterator_category::iterator_category>>: std::true_type {}; -/*! @copydoc is_iterator */ -template<> -struct is_iterator: std::false_type {}; +} // namespace internal +/*! @endcond */ /*! @copydoc is_iterator */ template -struct is_iterator::iterator_category>>: std::true_type {}; +struct is_iterator>>>> + : internal::has_iterator_category {}; /** * @brief Helper variable template.