void LasHeader::get(ILeStream& in, Uuid& uuid) { char buf[uuid.size]; in.get(buf, uuid.size); uuid.unpack(buf); }
void LasHeader::get(ILeStream& in, boost::uuids::uuid& uuid) { union { char buf[16]; struct { uint32_t uidPart1; uint16_t uidPart2; uint16_t uidPart3; char uidPart4[8]; }; } u; in >> u.uidPart1 >> u.uidPart2 >> u.uidPart3; in.get(u.uidPart4, sizeof(u.uidPart4)); memcpy(uuid.data, u.buf, sizeof(u.buf)); }