FIX 4.0 Demo 1.0
Loading...
Searching...
No Matches
moodycamel::LightweightSemaphore Class Reference

#include <lightweightsemaphore.h>

Collaboration diagram for moodycamel::LightweightSemaphore:
Collaboration graph

Public Types

typedef std::make_signed< std::size_t >::type ssize_t
 

Public Member Functions

 LightweightSemaphore (ssize_t initialCount=0, int maxSpins=10000)
 
bool tryWait ()
 
bool wait ()
 
bool wait (std::int64_t timeout_usecs)
 
ssize_t tryWaitMany (ssize_t max)
 
ssize_t waitMany (ssize_t max, std::int64_t timeout_usecs)
 
ssize_t waitMany (ssize_t max)
 
void signal (ssize_t count=1)
 
std::size_t availableApprox () const
 

Member Typedef Documentation

◆ ssize_t

typedef std::make_signed<std::size_t>::type moodycamel::LightweightSemaphore::ssize_t

Constructor & Destructor Documentation

◆ LightweightSemaphore()

moodycamel::LightweightSemaphore::LightweightSemaphore ( ssize_t  initialCount = 0,
int  maxSpins = 10000 
)
inline

Member Function Documentation

◆ availableApprox()

std::size_t moodycamel::LightweightSemaphore::availableApprox ( ) const
inline

◆ signal()

void moodycamel::LightweightSemaphore::signal ( ssize_t  count = 1)
inline

◆ tryWait()

bool moodycamel::LightweightSemaphore::tryWait ( )
inline
Here is the caller graph for this function:

◆ tryWaitMany()

ssize_t moodycamel::LightweightSemaphore::tryWaitMany ( ssize_t  max)
inline
Here is the caller graph for this function:

◆ wait() [1/2]

bool moodycamel::LightweightSemaphore::wait ( )
inline
Here is the call graph for this function:

◆ wait() [2/2]

bool moodycamel::LightweightSemaphore::wait ( std::int64_t  timeout_usecs)
inline
Here is the call graph for this function:

◆ waitMany() [1/2]

ssize_t moodycamel::LightweightSemaphore::waitMany ( ssize_t  max)
inline
Here is the call graph for this function:

◆ waitMany() [2/2]

ssize_t moodycamel::LightweightSemaphore::waitMany ( ssize_t  max,
std::int64_t  timeout_usecs 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following file: