FTXUI 7.0.3
C++ functional terminal UI.
Loading...
Searching...
No Matches
task_internal.hpp
Go to the documentation of this file.
1// Copyright 2024 Arthur Sonzogni. All rights reserved.
2// Use of this source code is governed by the MIT license that can be found in
3// the LICENSE file.
4#ifndef TASK_HPP
5#define TASK_HPP
6
7#include <chrono>
8#include <functional>
9#include <optional>
10
11namespace ftxui::task {
12
13/// Une tâche représente une unité de travail.
14using Task = std::function<void()>;
15
16/// Une PendingTask représente une tâche qui doit être exécutée à un
17/// moment précis, ou dès que possible.
19 // Tâche immédiate :
20 PendingTask(Task t) : task(std::move(t)) {} // NOLINT
21
22 // Tâche retardée avec une durée
23 PendingTask(Task t, std::chrono::steady_clock::duration duration)
24 : task(std::move(t)), time(std::chrono::steady_clock::now() + duration) {}
25
26 /// La tâche à exécuter.
28
29 /// L'heure à laquelle la tâche doit être exécutée. Si l'heure est vide, la tâche
30 /// doit être exécutée dès que possible. std::optional<std::chrono::steady_clock::time_point> time;
31 std::optional<std::chrono::steady_clock::time_point> time;
32
33 /// Compare deux PendingTasks par leur heure.
34 /// Si les deux tâches n'ont pas d'heure, elles sont considérées comme égales. bool operator<(const PendingTask& other) const;
35 bool operator<(const PendingTask& other) const;
36};
37
38} // namespace ftxui::task
39
40#endif // TASK_HPP_
std::function< void()> Task
Une tâche représente une unité de travail.
PendingTask(Task t, std::chrono::steady_clock::duration duration)
Task task
La tâche à exécuter.
std::optional< std::chrono::steady_clock::time_point > time
bool operator<(const PendingTask &other) const
Definition task.cpp:7