tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
is_member_object_pointer.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: BSL-1.0
2
3#ifndef TETL_TYPE_TRAITS_IS_MEMBER_OBJECT_POINTER_HPP
4#define TETL_TYPE_TRAITS_IS_MEMBER_OBJECT_POINTER_HPP
5
6#include <etl/_config/all.hpp>
7
11
12namespace etl {
13
14#if defined(TETL_COMPILER_CLANG)
15
16template <typename T>
17inline constexpr bool is_member_object_pointer_v = __is_member_object_pointer(T);
18
19template <typename T>
20struct is_member_object_pointer : bool_constant<__is_member_object_pointer(T)> { };
21
22#else
23
27template <typename T>
28struct is_member_object_pointer : bool_constant<is_member_pointer_v<T> and not is_member_function_pointer_v<T> > { };
29
30template <typename T>
32
33#endif
34
35} // namespace etl
36
37#endif // TETL_TYPE_TRAITS_IS_MEMBER_OBJECT_POINTER_HPP
Definition adjacent_find.hpp:8
constexpr bool is_member_object_pointer_v
Definition is_member_object_pointer.hpp:31
integral_constant< bool, B > bool_constant
Definition bool_constant.hpp:11
static constexpr bool value
Definition integral_constant.hpp:10
Checks whether T is a non-static member object pointer. Provides the member constant value which is e...
Definition is_member_object_pointer.hpp:28