15#ifndef FASTRTPS_SEMAPHORE_H_
16#define FASTRTPS_SEMAPHORE_H_
18#include <condition_variable>
39 std::condition_variable cv_;
46 std::lock_guard<std::mutex> lock(mutex_);
55 std::lock_guard<std::mutex> lock(mutex_);
59 for (
int i = 0; i < n; ++i)
67 std::lock_guard<std::mutex> lock(mutex_);
77 std::lock_guard<std::mutex> lock(mutex_);
86 std::unique_lock<std::mutex> lock(mutex_);
90 if (disable_)
return true;
Definition Semaphore.h:24
Semaphore(size_t count=0)
Definition Semaphore.h:43
void enable()
Definition Semaphore.h:76
Semaphore & operator=(const Semaphore &)=delete
void disable()
Definition Semaphore.h:66
void wait()
Definition Semaphore.h:85
void post()
Definition Semaphore.h:45
Semaphore(const Semaphore &)=delete
eProsima namespace.
Definition LibrarySettingsAttributes.h:23