mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 21:47:46 +00:00
AK: Add a Decay helper for Concepts
This commit is contained in:
parent
b7d19476f2
commit
dfe2cf3a40
1 changed files with 16 additions and 0 deletions
|
@ -557,6 +557,22 @@ inline constexpr bool IsSpecializationOf = false;
|
|||
template<template<typename...> typename U, typename... Us>
|
||||
inline constexpr bool IsSpecializationOf<U<Us...>, U> = true;
|
||||
|
||||
template<typename T>
|
||||
struct __decay {
|
||||
typedef Detail::RemoveCVReference<T> type;
|
||||
};
|
||||
template<typename T>
|
||||
struct __decay<T[]> {
|
||||
typedef T* type;
|
||||
};
|
||||
template<typename T, decltype(sizeof(T)) N>
|
||||
struct __decay<T[N]> {
|
||||
typedef T* type;
|
||||
};
|
||||
// FIXME: Function decay
|
||||
template<typename T>
|
||||
using Decay = typename __decay<T>::type;
|
||||
|
||||
}
|
||||
using AK::Detail::AddConst;
|
||||
using AK::Detail::AddLvalueReference;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue