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
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
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_
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.