5 #ifndef VCCC_ITERATOR_INDIRECTLY_READABLE_TRAITS_HPP_
6 #define VCCC_ITERATOR_INDIRECTLY_READABLE_TRAITS_HPP_
29 struct indirectly_readable_traits_impl {};
32 struct indirectly_readable_traits_impl<T, true, false>
34 std::is_object<typename T::value_type>::value,
35 value_typer<std::remove_cv_t<typename T::value_type>>,
40 struct indirectly_readable_traits_impl<T, false, true>
42 std::is_object<typename T::element_type>::value,
43 value_typer<std::remove_cv_t<typename T::element_type>>,
48 struct indirectly_readable_traits_impl<T, true, true>
51 std::is_object<typename T::value_type>, std::is_object<typename T::element_type>,
52 std::is_same<std::remove_cv_t<typename T::value_type>, std::remove_cv_t<typename T::element_type>>
54 value_typer<std::remove_cv_t<typename T::value_type>>,
72 detail::value_typer<remove_cvref_t<T>>,
Definition: directory.h:12
constexpr VCCC_INLINE_OR_STATIC detail::element_niebloid< 1 > value
Definition: key_value.hpp:35
Definition: indirectly_readable_traits.hpp:64