5 #ifndef VCCC_RANGES_CONTIGUOUS_RANGE_HPP
6 #define VCCC_RANGES_CONTIGUOUS_RANGE_HPP
28 contiguous_iterator< iterator_t<T> >,
32 struct contiguous_range_impl_2
34 decltype( ranges::data(std::declval<T&>()) ),
35 std::add_pointer_t<range_reference_t<T>>
38 struct contiguous_range_impl_2<T, false> : std::false_type {};
44 random_access_range<T>,
45 has_typename_type< iterator<T> >,
46 has_typename_type< range_reference<T> >
49 struct contiguous_range_impl_1 : contiguous_range_impl_2<T> {};
51 struct contiguous_range_impl_1<T, false> : std::false_type {};
constexpr VCCC_INLINE_OR_STATIC detail::data_niebloid data
obtains a pointer to the beginning of a contiguous range
Definition: data.hpp:103
Definition: directory.h:12
constexpr VCCC_INLINE_OR_STATIC detail::element_niebloid< 1 > value
Definition: key_value.hpp:35
specifies a range whose iterator type satisfies contiguous_iterator
Definition: contiguous_range.hpp:69