void LasHeader::put(OLeStream& out, Uuid uuid) { char buf[uuid.size]; uuid.pack(buf); out.put(buf, uuid.size); }
void LasHeader::put(OLeStream& out, boost::uuids::uuid uuid) { union { char buf[16]; struct { uint32_t uidPart1; uint16_t uidPart2; uint16_t uidPart3; char uidPart4[8]; }; } u; memcpy(u.buf, uuid.data, sizeof(u.buf)); out << u.uidPart1 << u.uidPart2 << u.uidPart3; out.put(u.uidPart4, sizeof(u.uidPart4)); }