Standard library header  (C++20) (original) (raw)

This header is part of the thread support library.

Classes

[edit] Synopsis

namespace std { template<class CompletionFunction = /* see description */> class barrier; }

[edit] Class template std::barrier

namespace std { template<class CompletionFunction = /* see description /> class barrier { public: using arrival_token = / see description */;   static constexpr ptrdiff_t max() noexcept;   constexpr explicit barrier(ptrdiff_t expected, CompletionFunction f = CompletionFunction()); ~barrier();   barrier(const barrier&) = delete; barrier& operator=(const barrier&) = delete;   arrival_token arrive(ptrdiff_t update = 1); void wait(arrival_token&& arrival) const;   void arrive_and_wait(); void arrive_and_drop();   private: CompletionFunction completion; // exposition only }; }