VCCC  2024.05
VisualCamp Common C++ library
crend.hpp
Go to the documentation of this file.
1 //
2 // Created by YongGyu Lee on 3/27/24.
3 //
4 
5 #ifndef VCCC_RANGES_CREND_HPP_
6 #define VCCC_RANGES_CREND_HPP_
7 
8 #include <type_traits>
9 
14 #include "vccc/__ranges/rend.hpp"
16 
17 namespace vccc {
18 namespace ranges {
19 namespace detail {
20 
21 struct crend_niebloid {
22  template<typename T, std::enable_if_t<disjunction<
23  std::is_lvalue_reference<T>,
24  enable_borrowed_range<std::remove_cv_t<T>>
25  >::value, int> = 0>
26  constexpr auto operator()(T&& t) const {
28  }
29 };
30 
31 } // namespace detail
32 
33 namespace niebloid {
34 
37 
38 VCCC_INLINE_OR_STATIC constexpr detail::crend_niebloid crend{};
39 
41 
42 } // namespace niebloid
43 using namespace niebloid;
44 
45 } // namespace ranges
46 } // namespace vccc
47 
48 #endif // VCCC_RANGES_CREND_HPP_
std::enable_if_t< semiregular< S >::value, std::conditional_t< input_iterator< S >::value, const_iterator< S >, S > > const_sentinel
Definition: basic_const_iterator.hpp:386
constexpr VCCC_INLINE_OR_STATIC detail::rend_niebloid rend
Definition: rend.hpp:98
constexpr auto & possibly_const_range(R &r) noexcept
Definition: possibly_const_range.hpp:35
constexpr VCCC_INLINE_OR_STATIC detail::crend_niebloid crend
Definition: crend.hpp:38
#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