aboutsummaryrefslogtreecommitdiff
path: root/core/src/Utils/IO/UuidIntegration.hpp
blob: 202e0216ec2692999dd1936e325ccfed0997e1b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once

#include "Utils/IO/DataStream.hpp"

#include <uuid/uuid.h>
#include <cstddef>
#include <cstdint>
#include <iterator>

void ReadFromDataStream(DataStream& s, uuids::uuid& uuid)
{
	uint8_t buffer[16];
	s.ReadBytes(16, buffer);

	uuid = uuids::uuid(gsl::span<uint8_t, 16>{ buffer });
}

void WriteToDataStream(DataStream& s, const uuids::uuid& uuid)
{
	auto gslSpan = uuid.as_bytes();
	s.WriteBytes(gslSpan.size(), gslSpan.data());
}