1
0
mirror of https://github.com/Rogiel/PacketBuffer synced 2025-12-06 00:13:04 +00:00

Fix a bug that caused serialized dates to not be cross platform

This commit is contained in:
2018-09-12 14:56:03 -03:00
parent 2016876820
commit 6558733d34

View File

@@ -71,14 +71,17 @@ namespace PacketBuffer {
public:
template<typename Packer>
static inline void pack(Packer& packer, const std::chrono::time_point<Clock, Duration>& point) {
packer(point.time_since_epoch());
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(
point.time_since_epoch());
packer(duration);
}
template<typename Unpacker>
static inline void unpack(Unpacker& unpacker, std::chrono::time_point<Clock, Duration>& point) {
Duration d;
unpacker(d);
point = std::chrono::time_point<Clock, Duration>(d);
std::chrono::milliseconds duration;
unpacker(duration);
point = std::chrono::time_point<Clock, Duration>(
std::chrono::duration_cast<Duration>(duration));
}
};