我需要保存boost::chrono::steady_clock::time_point
类型的变量
到文件中,然后从文件中检索它。
时间格式化并不重要,我希望将其保存为double。
这可能吗?
答案 0 :(得分:1)
稳定时钟将持续时间定义为nanoseconds
(here)
这种情况使用至少64位作为其表示。
typedef duration<boost::int_least64_t, nano> nanoseconds;
所以你可以序列化持续时间的表示。在反序列化时,你必须将其转换回时钟的时间点类型。
在元级别上,当反序列化时,时间点将不会“匹配”当前稳定的时钟源(因为它可能在不同的进程中,在重新启动后,即使在不同的计算机上)。所以你可以考虑一下
答案 1 :(得分:1)
您可以使用time_point::time_since_epoch()成员函数获取内部值以进行保存。 您可以使用time_point(duration)构造函数加载时间。