based

Opinionated utility library
git clone git://git.dimitrijedobrota.com/based.git
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING

member_pointer.hpp (521B)


0 #pragma once
2 #include "based/trait/integral_constant.hpp"
3 #include "based/trait/remove/cv.hpp"
5 namespace based
6 {
8 namespace detail
9 {
11 template<class T>
12 struct is_member_pointer_helper : false_type
13 {
14 };
16 template<class T, class U>
17 struct is_member_pointer_helper<T U::*> : true_type
18 {
19 };
21 } // namespace detail
23 template<class T>
24 struct is_member_pointer : detail::is_member_pointer_helper<remove_cv_t<T>>
25 {
26 };
28 template<class T>
29 constexpr bool is_member_pointer_v = is_member_pointer<T>::value;
31 } // namespace based