diff options
| author | 2020-08-07 22:59:01 +1000 | |
|---|---|---|
| committer | 2020-08-07 22:59:01 +1000 | |
| commit | 53e94c7be89341ad3d4fac033c6495bedcbdec49 (patch) | |
| tree | 8c22b7d574b92de9077dc9c0e1d05fa2947b34b5 /src/common/concepts.h | |
| parent | Merge pull request #4483 from lioncash/constexpr-hex (diff) | |
| parent | common/concepts: Rename IsBaseOf to DerivedFrom (diff) | |
| download | yuzu-53e94c7be89341ad3d4fac033c6495bedcbdec49.tar.gz yuzu-53e94c7be89341ad3d4fac033c6495bedcbdec49.tar.xz yuzu-53e94c7be89341ad3d4fac033c6495bedcbdec49.zip | |
Merge pull request #4501 from lioncash/is_base_of
common/concepts: Rename IsBaseOf to DerivedFrom
Diffstat (limited to '')
| -rw-r--r-- | src/common/concepts.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/common/concepts.h b/src/common/concepts.h index db5fb373d..54252e778 100644 --- a/src/common/concepts.h +++ b/src/common/concepts.h | |||
| @@ -23,10 +23,12 @@ concept IsSTLContainer = requires(T t) { | |||
| 23 | t.size(); | 23 | t.size(); |
| 24 | }; | 24 | }; |
| 25 | 25 | ||
| 26 | // Check if type T is derived from T2 | 26 | // TODO: Replace with std::derived_from when the <concepts> header |
| 27 | template <typename T, typename T2> | 27 | // is available on all supported platforms. |
| 28 | concept IsBaseOf = requires { | 28 | template <typename Derived, typename Base> |
| 29 | std::is_base_of_v<T, T2>; | 29 | concept DerivedFrom = requires { |
| 30 | std::is_base_of_v<Base, Derived>; | ||
| 31 | std::is_convertible_v<const volatile Derived*, const volatile Base*>; | ||
| 30 | }; | 32 | }; |
| 31 | 33 | ||
| 32 | } // namespace Common | 34 | } // namespace Common |