summaryrefslogtreecommitdiff
path: root/src/common/concepts.h
AgeCommit message (Collapse)Author
2023-01-29Move to Clang Format 15Levi Behunin
Depends on https://github.com/yuzu-emu/build-environments/pull/69 clang-15 primary run
2022-10-26concepts: Use the std::contiguous_iterator conceptMorph
This also covers std::span, which does not have a const iterator. Also renames IsSTLContainer to IsContiguousContainer to explicitly convey its semantics.
2022-10-18fixed_point: Use variable templates and concepts where applicableLioncash
Makes a few things a little less noisy and removes the need for SFINAE in quite a few functions.
2022-04-23general: Convert source file copyright comments over to SPDXMorph
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2020-12-29k_priority_queue: Fix concepts usecomex
- For `std::same_as`, add missing include of `<concepts>`. - For `std::convertible_to`, create a replacement in `common/concepts.h` and use that instead. This would also be found in `<concepts>`, but unlike `std::same_as`, `std::convertible_to` is not yet implemented in libc++, LLVM's STL implementation - not even in master. (In fact, `std::same_as` is the *only* concept currently implemented. For some reason.)
2020-08-18common/concepts: Move <type_traits> include out of the Common namespaceLioncash
This is a compiler/linker error waiting to happen.
2020-08-07common/concepts: Rename IsBaseOf to DerivedFromLioncash
This makes it more inline with its currently unavailable standardized analogue std::derived_from. While we're at it, we can also make the template match the requirements of the standardized variant as well.
2020-08-03ipc: Allow all trivially copyable objects to be passed directly into ↵David
WriteBuffer (#4465) * ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer With the support of C++20, we can use concepts to deduce if a type is an STL container or not. * More agressive concept for stl containers * Add -fconcepts * Move to common namespace * Add Common::IsBaseOf