18 [[nodiscard]]
virtual const std::string&
get_name()
const = 0;
25 using Fn = std::function<void()>;
40 [[nodiscard]]
const std::string&
get_name()
const override
46 template <
typename... Ts>
49 return std::make_shared<BasicTaskAction>(std::forward<Ts>(ts)...);
57 public std::enable_shared_from_this<OrderedTasks>
61 std::unique_ptr<PImpl>
pimpl =
nullptr;
77 Private force_private_constructor,
79 const std::string& name);
82 static std::shared_ptr<OrderedTasks>
create(
83 JobBoard& job_board_,
const std::string& name_ =
"[Ordered]");
86 const std::string&
get_name()
const override;
Definition job_board.h:15
Definition ordered_tasks.h:58
void enqueue_on_board()
Definition ordered_tasks.cpp:34
ccf::tasks::Resumable pause() override
Definition ordered_tasks.cpp:57
std::unique_ptr< PImpl > pimpl
Definition ordered_tasks.h:61
void get_queue_summary(size_t &num_pending, bool &is_active)
Definition ordered_tasks.cpp:77
void do_task_implementation() override
Definition ordered_tasks.cpp:48
const std::string & get_name() const override
Definition ordered_tasks.cpp:64
static std::shared_ptr< OrderedTasks > create(JobBoard &job_board_, const std::string &name_="[Ordered]")
Definition ordered_tasks.cpp:82
void add_action(TaskAction &&action)
Definition ordered_tasks.cpp:69
Definition basic_task.h:8
std::shared_ptr< ITaskAction > TaskAction
Definition ordered_tasks.h:21
TaskAction make_basic_action(Ts &&... ts)
Definition ordered_tasks.h:47
std::unique_ptr< IResumable > Resumable
Definition resumable.h:24
Definition ordered_tasks.h:24
const std::string name
Definition ordered_tasks.h:28
Fn fn
Definition ordered_tasks.h:27
std::function< void()> Fn
Definition ordered_tasks.h:25
const std::string & get_name() const override
Definition ordered_tasks.h:40
void do_action() override
Definition ordered_tasks.h:35
BasicTaskAction(Fn fn_, std::string name_="[Anon]")
Definition ordered_tasks.h:30
Definition ordered_tasks.h:13
virtual ~ITaskAction()=default
virtual const std::string & get_name() const =0
virtual void do_action()=0
Definition ordered_tasks.cpp:11
Definition ordered_tasks.h:71
Definition ordered_tasks.cpp:18