10#ifndef THREAD_FIBER_H_
11#define THREAD_FIBER_H_
17#include "absl/functional/any_invocable.h"
18#include "absl/status/status.h"
26 using Work = absl::AnyInvocable<void() &&>;
31 requires(std::is_invocable_r_v<void, std::decay_t<F>> &&
32 !std::is_same_v<std::decay_t<F>,
Work>)
explicit Fiber(F&& work)
Fiber(const Fiber &)=delete
Case OnCancel() const
Definition fiber.cc:285
bool Cancelled() const noexcept
Definition fiber.cc:281
bool Finished() const noexcept
Definition fiber.h:101
static Fiber * Current() noexcept
Definition fiber.cc:270
Fiber(F &&work)
Definition fiber.h:32
absl::AnyInvocable< void() && > Work
Definition fiber.h:84
absl::Status Join()
Definition fiber.cc:73
Fiber & operator=(Fiber &&)=delete
Fiber & operator=(const Fiber &)=delete
Definition exception_count.cc:8
A Case represents a selectable case in a Select statement.
Definition cases.h:55