VCCC  2024.05
VisualCamp Common C++ library
range_rvalue_reference_t.hpp
Go to the documentation of this file.
1 //
2 // Created by yonggyulee on 2024/01/22.
3 //
4 
5 #ifndef VCCC_RANGES_RANGE_RVALUE_REFERENCE_T_HPP
6 #define VCCC_RANGES_RANGE_RVALUE_REFERENCE_T_HPP
7 
10 #include "vccc/__ranges/range.hpp"
11 
12 namespace vccc {
13 namespace ranges {
14 namespace detail {
15 
17 struct range_rvalue_reference_impl {};
18 
19 template<typename R>
20 struct range_rvalue_reference_impl<R, true> {
21  using type = iter_rvalue_reference_t<iterator_t<R>>;
22 };
23 
24 } // namespace detail
25 
28 
29 template<typename R>
30 struct range_rvalue_reference : detail::range_rvalue_reference_impl<R> {};
31 
37 template<typename R>
39 
41 
42 } // namespace vccc
43 } // namespace ranges
44 
45 #endif // VCCC_RANGES_RANGE_RVALUE_REFERENCE_T_HPP
typename range_rvalue_reference< R >::type range_rvalue_reference_t
Used to obtain the rvalue reference type of the iterator type of range type R.
Definition: range_rvalue_reference_t.hpp:38
Definition: directory.h:12
constexpr VCCC_INLINE_OR_STATIC detail::element_niebloid< 1 > value
Definition: key_value.hpp:35
Definition: range_rvalue_reference_t.hpp:30