VCCC  2024.05
VisualCamp Common C++ library
has_operator_arrow.hpp
Go to the documentation of this file.
1 //
2 // Created by yonggyulee on 1/24/24.
3 //
4 
5 #ifndef VCCC_TYPE_TRAITS_HAS_OPERATOR_ARROW_HPP
6 #define VCCC_TYPE_TRAITS_HAS_OPERATOR_ARROW_HPP
7 
8 #include <type_traits>
9 
11 
12 namespace vccc {
13 
16 
17 template<typename T, typename = void>
18 struct has_operator_arrow : std::false_type {};
19 
20 template<typename T>
21 struct has_operator_arrow<T, void_t<decltype(std::declval<T>().operator->())>> : std::true_type {};
22 
24 
25 } // namespace vccc
26 
27 #endif // VCCC_TYPE_TRAITS_HAS_OPERATOR_ARROW_HPP
void void_t
Definition: void_t.hpp:19
Definition: matrix.hpp:495
Definition: directory.h:12
Definition: has_operator_arrow.hpp:18