ReXGlue SDK
Loading...
Searching...
No Matches
sync.h File Reference

Wait objects and wait functions. More...

#include <chrono>
#include <cstddef>
#include <memory>
#include <utility>
#include <vector>
#include <rex/platform.h>
#include <rex/types.h>

Go to the source code of this file.

Classes

class  rex::platform::Fence
class  rex::platform::WaitHandle
class  rex::platform::Event
class  rex::platform::Semaphore
class  rex::platform::Mutant

Namespaces

namespace  rex
namespace  rex::platform

Enumerations

enum class  rex::platform::WaitResult : u8 {
  rex::platform::kSuccess , rex::platform::kUserCallback , rex::platform::kTimeout , rex::platform::kAbandoned ,
  kFailed
}

Functions

WaitResult rex::platform::Wait (WaitHandle *wait_handle, bool is_alertable, std::chrono::milliseconds timeout=std::chrono::milliseconds::max())
WaitResult rex::platform::SignalAndWait (WaitHandle *wait_handle_to_signal, WaitHandle *wait_handle_to_wait_on, bool is_alertable, std::chrono::milliseconds timeout=std::chrono::milliseconds::max())
std::pair< WaitResult, size_t > rex::platform::WaitMultiple (WaitHandle *wait_handles[], size_t wait_handle_count, bool wait_all, bool is_alertable, std::chrono::milliseconds timeout=std::chrono::milliseconds::max())
WaitResult rex::platform::WaitAll (WaitHandle *wait_handles[], size_t wait_handle_count, bool is_alertable, std::chrono::milliseconds timeout=std::chrono::milliseconds::max())
WaitResult rex::platform::WaitAll (std::vector< WaitHandle * > wait_handles, bool is_alertable, std::chrono::milliseconds timeout=std::chrono::milliseconds::max())
std::pair< WaitResult, size_t > rex::platform::WaitAny (WaitHandle *wait_handles[], size_t wait_handle_count, bool is_alertable, std::chrono::milliseconds timeout=std::chrono::milliseconds::max())
std::pair< WaitResult, size_t > rex::platform::WaitAny (std::vector< WaitHandle * > wait_handles, bool is_alertable, std::chrono::milliseconds timeout=std::chrono::milliseconds::max())

Detailed Description

Wait objects and wait functions.

License
BSD 3-Clause License See LICENSE file in the project root for full license text.
Remarks
Derived from Xenia's xenia/base/threading.h (Ben Vanik, 2020).