BAN: Add more traits
This commit is contained in:
parent
56d6b2af3d
commit
5127da9ecc
|
@ -10,6 +10,21 @@ namespace BAN
|
||||||
template<typename T>
|
template<typename T>
|
||||||
struct RemoveReference<T&&> { using type = T; };
|
struct RemoveReference<T&&> { using type = T; };
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
struct RemoveConst { using type = T; };
|
||||||
|
template<typename T>
|
||||||
|
struct RemoveConst<const T> { using type = T; };
|
||||||
|
|
||||||
|
template<bool B, typename T = void>
|
||||||
|
struct EnableIf {};
|
||||||
|
template<typename T>
|
||||||
|
struct EnableIf<true, T> { using type = T; };
|
||||||
|
|
||||||
|
template<typename T, typename S>
|
||||||
|
struct IsSame { static constexpr bool value = false; };
|
||||||
|
template<typename T>
|
||||||
|
struct IsSame<T, T> { static constexpr bool value = true; };
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
struct IsLValueReference { static constexpr bool value = false; };
|
struct IsLValueReference { static constexpr bool value = false; };
|
||||||
template<typename T>
|
template<typename T>
|
||||||
|
|
Loading…
Reference in New Issue