diff options
| author | lizzie <lizzie@eden-emu.dev> | 2025-11-07 17:03:01 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2025-11-07 17:03:01 +0100 |
| commit | 45a2008aa6c7c43da6182cb3d6c96b7ab86902ac (patch) | |
| tree | adb2e15dd17fc800d88e8fcc087b2a6a2f760b63 /src/common/concepts.h | |
| parent | 8f6e0aa2cb9ef2a3e85c5e51a699f98092d30884 (diff) | |
[common] replace Common::(DerivedFrom, IsArithmetic, Size, ConvertibleTo, IsIntegral) with libstdc++ equivalents (#290)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/290
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src/common/concepts.h')
| -rw-r--r-- | src/common/concepts.h | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/src/common/concepts.h b/src/common/concepts.h index 61df1d32a2..4c07443bac 100644 --- a/src/common/concepts.h +++ b/src/common/concepts.h @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + // SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later @@ -12,24 +15,4 @@ namespace Common { template <typename T> concept IsContiguousContainer = std::contiguous_iterator<typename T::iterator>; -// TODO: Replace with std::derived_from when the <concepts> header -// is available on all supported platforms. -template <typename Derived, typename Base> -concept DerivedFrom = requires { - std::is_base_of_v<Base, Derived>; - std::is_convertible_v<const volatile Derived*, const volatile Base*>; - }; - -// TODO: Replace with std::convertible_to when libc++ implements it. -template <typename From, typename To> -concept ConvertibleTo = std::is_convertible_v<From, To>; - -// No equivalents in the stdlib - -template <typename T> -concept IsArithmetic = std::is_arithmetic_v<T>; - -template <typename T> -concept IsIntegral = std::is_integral_v<T>; - } // namespace Common |
