[Boost-bugs] [Boost C++ Libraries] #8519: Sync: Add a completion_latch class

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