5 #ifndef VCCC_RANGES_CDATA_HPP_
6 #define VCCC_RANGES_CDATA_HPP_
23 struct cdata_niebloid {
24 template<
typename T, std::enable_if_t<disjunction<
25 std::is_lvalue_reference<T>,
26 enable_borrowed_range<std::remove_cv_t<T>>
28 constexpr std::remove_reference_t<range_const_reference_t<T>>* operator()(T&& t)
const {
45 using namespace niebloid;
constexpr VCCC_INLINE_OR_STATIC detail::cdata_niebloid cdata
Definition: cdata.hpp:40
constexpr VCCC_INLINE_OR_STATIC detail::data_niebloid data
obtains a pointer to the beginning of a contiguous range
Definition: data.hpp:103
constexpr auto & possibly_const_range(R &r) noexcept
Definition: possibly_const_range.hpp:35
constexpr auto as_const_pointer(const T *p) noexcept
Definition: as_const_pointer.hpp:15
#define VCCC_INLINE_OR_STATIC
Definition: inline_or_static.hpp:9
Definition: directory.h:12
constexpr VCCC_INLINE_OR_STATIC detail::element_niebloid< 1 > value
Definition: key_value.hpp:35