Subject: [Boost-bugs] [Boost C++ Libraries] #8519: Sync: Add a completion_latch class
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-04-28 21:13:40
#8519: Sync: Add a completion_latch class
------------------------------+---------------------------------------------
Reporter: viboes | Owner: anthonyw
Type: Feature Requests | Status: new
Milestone: To Be Determined | Component: thread
Version: Boost 1.54.0 | Severity: Problem
Keywords: |
------------------------------+---------------------------------------------
Based on the ideas in N3600- C++ Latches and Barriers http://www.open-
std.org/jtc1/sc22/wg21/docs/papers/2013/n3600.html
implement a completion_latch class that could have the following interface
{{{
class completion_latch
{
public:
typedef 'implementation defined' completion_function;
completion_latch(completion_latch const&) = delete;
completion_latch& operator=(completion_latch const&) = delete;
completion_latch(std::size_t count);
template <typename F>
completion_latch(std::size_t count, F&& funct);
~completion_latch();
void wait();
bool try_wait();
template <class Rep, class Period>
cv_status wait_for(const chrono::duration<Rep, Period>& rel_time);
template <class lock_type, class Clock, class Duration>
cv_status wait_until(const chrono::time_point<Clock, Duration>&
abs_time);
void count_down();
void count_down_and_wait();
void reset(std::size_t count);
template <typename F>
completion_function then(F&& funct);
};
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/8519> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:12 UTC