VCCC  2024.05
VisualCamp Common C++ library
iter_reference_t.hpp
Go to the documentation of this file.
1 //
2 // Created by cosge on 2023-12-02.
3 //
4 
5 #ifndef VCCC_ITERATOR_ITER_REFERENCE_T_HPP_
6 #define VCCC_ITERATOR_ITER_REFERENCE_T_HPP_
7 
9 
10 namespace vccc {
11 namespace detail {
12 
14 struct iter_reference_impl {};
15 
16 template<typename T>
17 struct iter_reference_impl<T, true> {
18  using type = decltype(*std::declval<T&>());
19 };
20 
21 } // namespace detail
22 
25 
26 template<typename T>
27 struct iter_reference : detail::iter_reference_impl<T> {};
28 
29 template<typename T>
31 
33 
34 } // namespace vccc
35 
36 #endif // VCCC_ITERATOR_ITER_REFERENCE_T_HPP_
typename iter_reference< T >::type iter_reference_t
Definition: iter_reference_t.hpp:30
Definition: directory.h:12
constexpr VCCC_INLINE_OR_STATIC detail::element_niebloid< 1 > value
Definition: key_value.hpp:35
Definition: iter_reference_t.hpp:27