Код: Выделить всё
typedef std::chrono::time_point time_point_t;
time_point_t tp = std::chrono::high_resolution_clock::now();
serializer.write(tp);
.
.
.
time_point_t another_tp;
serializer.read(another_tp);
Возможное решение, предложенное Альфом, следующее:
Код: Выделить всё
std::chrono::high_resolution_clock::time_point t0 = std::chrono::high_resolution_clock::now();
//Generate POD to write to disk
unsigned long long ns0 = t0.time_since_epoch().count();
//Read POD from disk and attempt to instantiate time_point
std::chrono::high_resolution_clock::duration d(ns0)
std::chrono::high_resolution_clock::time_point t1(d);
unsigned long long ns1 = t1.time_since_epoch().count();
if ((t0 != t1) || (ns0 != ns1))
{
std::cout
В случае старого стиля time_t обычно просто записывают весь объект на диск в зависимости от его размера, а затем считывают его обратно тем же способом - Короче говоря, что будет эквивалентом новых типов std::chrono?
Подробнее здесь: [url]https://stackoverflow.com/questions/22291506/persisting-stdchrono-time-point-instances[/url]
Мобильная версия