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
// SPDX-FileCopyrightText: Copyright (C) 2019 Tobias Hienzsch
3
4
#
ifndef
TETL_TYPE_TRAITS_IS_MEMBER_OBJECT_POINTER_HPP
5
#
define
TETL_TYPE_TRAITS_IS_MEMBER_OBJECT_POINTER_HPP
6
7
#
include
<
etl
/
_config
/
all
.
hpp
>
8
9
#
include
<
etl
/
_type_traits
/
bool_constant
.
hpp
>
10
#
include
<
etl
/
_type_traits
/
is_member_function_pointer
.
hpp
>
11
#
include
<
etl
/
_type_traits
/
is_member_pointer
.
hpp
>
12
13
namespace
etl
{
14
15
#
if
defined
(
TETL_COMPILER_CLANG
)
16
17
template
<
typename
T>
18
inline
constexpr
bool
is_member_object_pointer_v =
__is_member_object_pointer
(T);
19
20
template
<
typename
T>
21
struct
is_member_object_pointer : bool_constant<
__is_member_object_pointer
(T)> { };
22
23
#
else
24
25
/// \brief Checks whether T is a non-static member object pointer. Provides the
26
/// member constant value which is equal to true, if T is a non-static member
27
/// object pointer type. Otherwise, value is equal to false.
28
template
<
typename
T
>
29
struct
is_member_object_pointer
:
bool_constant
<
is_member_pointer_v
<
T
>
and
not
is_member_function_pointer_v
<
T
> > { };
30
31
template
<
typename
T
>
32
inline
constexpr
bool
is_member_object_pointer_v
=
is_member_object_pointer
<
T
>::
value
;
33
34
#
endif
35
36
}
// namespace etl
37
38
#
endif
// TETL_TYPE_TRAITS_IS_MEMBER_OBJECT_POINTER_HPP
etl
Definition
adjacent_find.hpp:9
include
etl
_type_traits
is_member_object_pointer.hpp
Generated on Sun Sep 7 2025 19:15:17 for tetl by
1.9.8