tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
is_member_function_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_FUNCTION_POINTER_HPP
5#define TETL_TYPE_TRAITS_IS_MEMBER_FUNCTION_POINTER_HPP
6
7#include <etl/_config/all.hpp>
8
9#include <etl/_type_traits/bool_constant.hpp>
10#include <etl/_type_traits/is_function.hpp>
11#include <etl/_type_traits/remove_cv.hpp>
12
13namespace etl {
14
15#if defined(TETL_COMPILER_CLANG)
16
17template <typename T>
18inline constexpr bool is_member_function_pointer_v = __is_member_function_pointer(T);
19
20template <typename T>
21struct is_member_function_pointer : bool_constant<__is_member_function_pointer(T)> { };
22
23#else
24
25namespace detail {
26template <typename T>
28
29template <typename T, typename U>
31
32} // namespace detail
33
34/// \brief Checks whether T is a non-static member function pointer. Provides
35/// the member constant value which is equal to true, if T is a non-static
36/// member function pointer type. Otherwise, value is equal to false.
37template <typename T>
39
40template <typename T>
42
43#endif
44
45} // namespace etl
46
47#endif // TETL_TYPE_TRAITS_IS_MEMBER_FUNCTION_POINTER_HPP
Definition adjacent_find.hpp:9