4#ifndef _Stroika_Foundation_Execution_SpinLock_h_
5#define _Stroika_Foundation_Execution_SpinLock_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
11#include "Stroika/Foundation/Common/Common.h"
75#if defined(_GLIBCXX_RELEASE)
77#elif defined(_LIBCPP_VERSION) and qStroika_Platform_MacOS
79#elif defined(_LIBCPP_VERSION)
81#elif defined(_MSVC_STL_VERSION)
155 nonvirtual
bool try_lock ();
160 nonvirtual
void lock ();
165 nonvirtual
void unlock ();
175 static_assert (not movable<SpinLock> and not copyable<SpinLock>);
184#include "SpinLock.inl"
Logically the C++ standard BasicLockable named requirement, but that was not included in std c++ libr...
Logically the C++ standard Lockable named requirement, but that was not included in std c++ library.
constexpr bool kSpinLock_IsFasterThan_mutex