AK: Add IsOneOfIgnoringCVReference to StdLibExtraDetails.h

Much like `IsOneOfIgnoringCV`, some functions want to ignore both
cv-qualifiers _and_ references. Add a template and concept for it.
This commit is contained in:
Jonne Ransijn 2025-04-22 21:38:42 +02:00 committed by Andrew Kaster
commit 063be28e90
Notes: github-actions[bot] 2025-04-23 03:21:41 +00:00
2 changed files with 12 additions and 0 deletions

View file

@ -45,6 +45,9 @@ concept OneOf = IsOneOf<U, Ts...>;
template<typename U, typename... Ts>
concept OneOfIgnoringCV = IsOneOfIgnoringCV<U, Ts...>;
template<typename U, typename... Ts>
concept OneOfIgnoringCVReference = IsOneOfIgnoringCVReference<U, Ts...>;
template<typename T, template<typename...> typename S>
concept SpecializationOf = IsSpecializationOf<T, S>;
@ -185,6 +188,7 @@ using AK::Concepts::IteratorFunction;
using AK::Concepts::IteratorPairWith;
using AK::Concepts::OneOf;
using AK::Concepts::OneOfIgnoringCV;
using AK::Concepts::OneOfIgnoringCVReference;
using AK::Concepts::SameAs;
using AK::Concepts::Signed;
using AK::Concepts::SpecializationOf;