/
githubmirror
/
PowerToys
Обзор
Документация
Войти
/
githubmirror
/
PowerToys
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/common/utils/serialized.h
30 строк
482 B
Andrey Nekrasov
[New PowerToy] Add Screen Ruler module for measuring screen contents (#19701)
27 авг 2022, 02:17
Не верифицирован
27 авг 2022, 02:17
78d65a8
Код
Авторство
О чём код?
#pragma once #include <functional> #include <shared_mutex> template<typename StateT> class Serialized { mutable std::shared_mutex m; StateT s; public: void Read(std::function<void(const StateT&)> fn) const { std::shared_lock lock{ m }; fn(s); } void Access(std::function<void(StateT&)> fn) { std::unique_lock lock{ m }; fn(s); } void Reset() { std::unique_lock lock{ m }; s = {}; } };