12 #include <type_traits>
16 inline namespace _V1 {
33 std::is_const<std::remove_pointer_t<iterator_pointer_t<T>>>;
39 std::void_t<iterator_category_t<T>,
40 decltype(*std::declval<T>() =
44 static constexpr
bool value =
false;
49 static constexpr
bool value =
true;
typename std::iterator_traits< T >::value_type iterator_value_type_t
std::is_const< std::remove_pointer_t< iterator_pointer_t< T > >> iterator_to_const_type_t
typename std::iterator_traits< T >::iterator_category iterator_category_t
std::void_t< iterator_category_t< T >, decltype(*std::declval< T >()=std::declval< iterator_value_type_t< T > >())> output_iterator_requirements
typename std::iterator_traits< T >::pointer iterator_pointer_t
std::conditional_t< is_decorated, decorated_type *, std::add_pointer_t< value_type > > pointer
static constexpr bool value