Switch atmosphere's build target to C++20. (#952)
* ams: update to build with gcc10/c++20 * remove mno-outline-atomics * ams: take care of most TODO C++20s * fusee/sept: update for gcc10 * whoosh, your code now uses pre-compiled headers * make: dependency fixes
This commit is contained in:
@@ -18,18 +18,13 @@
|
||||
|
||||
namespace ams::kern {
|
||||
|
||||
/*
|
||||
TODO: C++20
|
||||
template<typename T>
|
||||
concept KLockable = !std::is_reference<T>::value && requires (T &t) {
|
||||
{ t.Lock() } -> std::same_as<void>;
|
||||
{ t.Unlock() } -> std::same_as<void>;
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
concept KLockable = !std::is_reference<T>::value && requires (T &t) {
|
||||
{ t.Lock() } -> std::same_as<void>;
|
||||
{ t.Unlock() } -> std::same_as<void>;
|
||||
};
|
||||
|
||||
*/
|
||||
|
||||
template<typename T> /* TODO C++20: requires KLockable<T> */
|
||||
template<typename T> requires KLockable<T>
|
||||
class KScopedLock {
|
||||
NON_COPYABLE(KScopedLock);
|
||||
NON_MOVEABLE(KScopedLock);
|
||||
|
||||
Reference in New Issue
Block a user