FTXUI
6.1.9
C++ functional terminal UI.
Chargement...
Recherche...
Aucune correspondance
task_internal.hpp
Aller à la documentation de ce fichier.
1
// Copyright 2024 Arthur Sonzogni. Tous droits réservés.
2
// L'utilisation de ce code source est régie par la licence MIT qui peut être trouvée dans
3
// le fichier LICENSE.
4
#ifndef TASK_HPP
5
#define TASK_HPP
6
7
#include <chrono>
8
#include <functional>
9
#include <optional>
10
11
namespace
ftxui::task
{
12
13
/// Une tâche représente une unité de travail.
14
using
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.
18
struct
PendingTask
{
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.
27
Task
task
;
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
32
/// Compare deux PendingTasks par leur heure.
33
/// Si les deux tâches n'ont pas d'heure, elles sont considérées comme égales. bool operator<(const PendingTask& other) const;
34
};
35
36
}
// namespace ftxui::task
37
38
#endif
// TASK_HPP_
ftxui::task
Definition
screen_interactive.hpp:27
ftxui::task::Task
std::function< void()> Task
Une tâche représente une unité de travail.
Definition
task_internal.hpp:14
ftxui::task::PendingTask
Definition
task_internal.hpp:18
ftxui::task::PendingTask::PendingTask
PendingTask(Task t, std::chrono::steady_clock::duration duration)
Definition
task_internal.hpp:23
ftxui::task::PendingTask::task
Task task
La tâche à exécuter.
Definition
task_internal.hpp:27
ftxui::task::PendingTask::PendingTask
PendingTask(Task t)
Definition
task_internal.hpp:20