AuROXTL/Include/auROXTL/Utility/auIsSame.hpp

27 lines
534 B
C++

/***
Copyright (C) 2022-2024 Jamie Reece Wilson (a/k/a "Reece"). All rights reserved.
File: auIsSame.hpp
File: auTemplateMeta.hpp
Date: 2024-11-30
Date: 2022-04-01
Author: Reece
***/
#pragma once
template <class T, class U>
struct AuIsSame : AuFalseType
{ };
template <class T>
struct AuIsSame<T, T> : AuTrueType
{ };
#if defined(AU_LANG_CPP_14_)
template <class T, class Z>
AUROXTL_CONSTEXPR_17 bool AuIsSame_v = AuIsSame<T, Z>::kValue;
#endif
#define AuIsSame_mv(T, Z) (AuIsSame<T, Z>::kValue)