std::experi...flex_barrier(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

πŸŽ€ std::experimental::flex_barrier::flex_barrier πŸŽ€

okay so this page is from the C++ Standard Libary manual (yep, that spelling is literally in the source, bestie πŸ’€), and it's the constructor page for std::experimental::flex_barrier. All the overloads are tagged (concurrency TS), and they're giving constructor realness with a completion phase. Slay. ✨

πŸ’– NAME πŸ’–

std::experimental::flex_barrier::flex_barrier β€” std::experimental::flex_barrier::flex_barrier (yes, the name is the name twice; iconic πŸŽ€).

πŸ”₯ Synopsis πŸ”₯

          explicit flex_barrier( std::ptrdiff_t num_threads );      (1)
       (concurrency TS)
          template< class F >                                       (2)
       (concurrency TS)
          flex_barrier( std::ptrdiff_t num_threads, F completion );
          flex_barrier( const flex_barrier & ) = delete;            (3)
       (concurrency TS)

okay so overload-by-overload, because we love a numbered list:

  1. Has the same effect as flex_barrier(num_threads, c), where c is a Callable object whose invocation returns -1 and has no side effects. Lowkey the chill default vibe. 🫢
  2. Constructs a flex_barrier for num_threads participating threads, using completion for the completion phase. The set of participating threads is the first num_threads threads to arrive at the synchronization point. Main character energy for the completion phase, fr fr. πŸ”₯
  3. Copy constructor is deleted; flex_barrier is not copyable. No copies, no cap, periodt. πŸ’…

🌸 Parameters 🌸

  • num_threads β€” the number of participating threads for the flex_barrier; must be non-negative. ✨
  • completion β€” a function object controlling the completion phase; must be Callable with no arguments and return type std::ptrdiff_t, and when invoked, must return a value no less than -1 and must not throw an exception. πŸŽ€

🧚 Type requirements 🧚

  • F must meet the requirements of CopyConstructible. That's the whole vibe check. πŸ¦‹

πŸ’… Notes πŸ’…

If num_threads is zero, the set of participating threads is empty, and flex_barrier can only be destroyed. Like, it's giving decorative object at that point, bestie πŸ₯².


source/version: http://cppreference.com Β· date: 2024.06.10 Β· page: std::experi...flex_barrier(3) β€” mwah, bye bestie πŸ’‹πŸŒˆ

πŸ“¦ where this page comes from