AuROXTL/Include/auROXTL/Utility/auIsMemberPointer.hpp

33 lines
844 B
C++

/***
Copyright (C) 2024 Jamie Reece Wilson (a/k/a "Reece"). All rights reserved.
File: auIsMemberPointer.hpp
File: auTemplateMeta.hpp
Date: 2024-11-30
Date: 2024-03-01
Author: Reece
***/
#pragma once
#if defined(AU_LANG_CPP_14_)
#if defined(AURORA_COMPILER_CLANG)
template <class T>
AUROXTL_CONSTEXPR bool AuIsMemberFunctionPointer_v = __is_member_function_pointer(T);
template <class T>
AUROXTL_CONSTEXPR bool AuIsMemberPointer_v = __is_member_pointer(T);
#elif defined(AURORA_COMPILER_MSVC) || defined(AURORA_ROXTL_NO_NO_STD)
template <class T>
AUROXTL_CONSTEXPR bool AuIsMemberFunctionPointer_v = std::is_member_function_pointer_v<T>;
template <class T>
AUROXTL_CONSTEXPR bool AuIsMemberPointer_v = std::is_member_object_pointer_v<T> || AuIsMemberFunctionPointer_v<T>;
#endif
#else
#endif