Мне нужно сохранить переменную типа boost::chrono::steady_clock::time_point
в файл, а затем извлечь ее из файла. Форматирование времени не важно, я хочу сохранить его как двойное. Возможно ли это?Сохранение и загрузка boost :: chrono :: stable_clock :: time_point в двоичном файле
2
A
ответ
1
Вы можете получить внутреннее значение с помощью функции-члена time_point::time_since_epoch() для сохранения. И вы можете загрузить время с помощью конструктора time_point(duration).
1
Стабильные часы определяет его продолжительностью, как nanoseconds
(here)
этом в случае, если используется, по крайней мере 64 бит, как его представление.
typedef duration<boost::int_least64_t, nano> nanoseconds;
Таким образом, вы можете просто сериализовать представление продолжительности. При десериализации вы должны будете вернуть его к типу timepoint вашего времени.
На метауровне, при десериализации, момент времени не будет «соответствовать» текущему источнику постоянного синхронизма (поскольку он может быть в другом процессе после перезагрузки даже на другой машине). Таким образом, вы могли бы подумать
- определения собственных часов специального назначения (например: archive_clock)
- просто хранить значение наносекунд, где документация описывает свою актуальность и (отсутствует) отношение ко времени на стену часов и т.д.
Смежные вопросы
- 1. Сохранение и загрузка std :: chrono :: time_point в файл
- 2. boost :: serialize и std :: chrono :: system_clock :: time_point
- 3. Получить double from boost :: chrono :: stable_clock :: now()
- 4. Загрузка и сохранение класса в двоичном файле
- 5. std :: chrono :: time_point недопустимое значение
- 6. Преобразование stable_clock :: time_point to time_t
- 7. Как получить наносекунды из boost :: chrono :: hight_resolution_clock :: time_point?
- 8. Вывод boost :: chrono :: system_clock :: time_point как местное время относительно UTC
- 9. boost :: chrono nanoseconde windows7
- 10. Взаимодействие между boost :: date_time и std :: chrono
- 11. chrono stable_clock не дает правильного результата?
- 12. Как преобразовать std :: chrono :: time_point в uint64_t?
- 13. Преобразование времени ISO в std :: chrono :: time_point
- 14. Является ли chrono :: stable_clock блокировкой потоков?
- 15. Как преобразовать std :: chrono :: time_point в строку
- 16. C++ Как преобразовать std :: chrono :: time_point в long и back
- 17. C++: std :: chrono or boost :: chrono
- 18. boost: chrono readable duration
- 19. Получить текущее количество часов и минут с помощью chrono :: time_point
- 20. Как установить эпоху для std :: chrono :: stable_clock в C++?
- 21. GCC + C: Сохранение функций в двоичном файле
- 22. Сохранение данных 'struct' в двоичном файле
- 23. Таймер (с использованием boost chrono stable_clock) истекает после того, как компьютерное время установлено на Ubuntu 64-bit
- 24. Сохранение нескольких объектов в двоичном файле
- 25. Сохранение массива numpy в двоичном файле
- 26. Есть ли стандартный способ преобразования std :: string в std :: chrono :: time_point без использования Boost?
- 27. C++ 11 std :: chrono :: stable_clock issue на Android
- 28. Должен ли std :: chrono :: stable_clock :: теперь быть не лишним?
- 29. Как std :: chrono :: stable_clock :: теперь сообщают об ошибках?
- 30. Преобразование C# DateTime в C++ std :: chrono :: system_clock :: time_point