FTXUI 6.1.9
C++ functional terminal UI.
Loading...
Searching...
No Matches
task_internal.hpp
Go to the documentation of this file.
1// Copyright 2024 Arthur Sonzogni. Todos los derechos reservados.
2// El uso de este código fuente se rige por la licencia MIT que se puede encontrar en
3// el archivo 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/// Una tarea representa una unidad de trabajo.
14using Task = std::function<void()>;
15
16/// Una PendingTask representa una tarea programada para ser ejecutada en un
17/// momento específico, o tan pronto como sea posible.
19 // Tarea inmediata:
20 PendingTask(Task t) : task(std::move(t)) {} // NOLINT
21
22 // Tarea retrasada con una duración
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 tarea a ejecutar.
28
29 /// El momento en que la tarea debe ser ejecutada. Si el momento está vacío, la tarea
30 /// debe ser ejecutada tan pronto como sea posible.
31 std::optional<std::chrono::steady_clock::time_point> time;
32
33 /// Compara dos PendingTask por su tiempo.
34 /// Si ambas tareas no tienen tiempo, se consideran iguales.
35 bool operator<(const PendingTask& other) const;
36};
37
38} // namespace ftxui::task
39
40#endif // TASK_HPP_
std::function< void()> Task
Una tarea representa una unidad de trabajo.
PendingTask(Task t, std::chrono::steady_clock::duration duration)
Task task
La tarea a ejecutar.
std::optional< std::chrono::steady_clock::time_point > time
bool operator<(const PendingTask &other) const
Definition task.cpp:7