/
githubmirror
/
omim
Обзор
Документация
Войти
/
githubmirror
/
omim
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
storage/storage_tests/task_runner.hpp
32 строки
686 B
tatiana-yan
[std] Remove std/queue.hpp
10 апр 2019, 12:51
10 апр 2019, 12:51
026bb12
Код
Авторство
О чём код?
#pragma once #include "base/thread_checker.hpp" #include <functional> #include <queue> namespace storage { // This class can be used in tests to mimic asynchronious calls. For // example, when task A invokes task B and passes a callback C as an // argument to B, it's silly for B to call C directly if B is an // asynchronious task. So, the solution is to post C on the same // message loop where B is run. // // *NOTE*, this class is not thread-safe. class TaskRunner { public: using TTask = std::function<void()>; ~TaskRunner(); void Run(); void PostTask(TTask const & task); private: std::queue<TTask> m_tasks; ThreadChecker m_checker; }; } // namespace storage