24 #include <type_traits> 50 template <
template <
typename>
class Atom = std::atomic>
51 using Futex = Atom<std::uint32_t>;
58 template <
typename Futex>
75 class Duration =
typename Clock::duration>
79 std::chrono::time_point<Clock, Duration>
const& deadline,
91 template <
typename Futex>
100 template <
typename T>
104 : std::atomic<T>(
init) {}
constexpr EmulatedFutexAtomic(T init) noexcept
Atom< std::uint32_t > Futex
—— Concurrent Priority Queue Implementation ——
requires E e noexcept(noexcept(s.error(std::move(e))))
FutexResult futexWait(const Futex *futex, uint32_t expected, uint32_t waitMask)
FOLLY_PUSH_WARNING RHS rhs
void init(int *argc, char ***argv, bool removeFlags)
std::chrono::milliseconds Duration
FutexResult futexWaitUntil(const Futex *futex, uint32_t expected, std::chrono::time_point< Clock, Duration > const &deadline, uint32_t waitMask)
int futexWake(const Futex *futex, int count, uint32_t wakeMask)