Wrath of Zeus
Made by Torchlight Games for CSE 125 SP24
Loading...
Searching...
No Matches
serialize.hpp
Go to the documentation of this file.
1#pragma once
2#include <string>
3#include <sstream>
4
5#include <glm/glm.hpp>
6
7#include <boost/archive/text_iarchive.hpp>
8#include <boost/archive/text_oarchive.hpp>
9
18template<class Type>
19std::string serialize(const Type& obj) {
20 std::ostringstream archive_stream;
21 {
22 boost::archive::text_oarchive archive(archive_stream);
23 archive << obj;
24 }
25 return archive_stream.str();
26}
27
34template <class Type>
35Type deserialize(std::string data) {
36 Type parsed_info;
37 {
38 std::istringstream stream(data);
39 boost::archive::text_iarchive archive(stream);
40 archive >> parsed_info;
41 }
42 return parsed_info; // cppcheck-suppress uninitStructMember
43}
44
45namespace boost {
46 namespace serialization {
50 template<class Archive>
51 void serialize(Archive & ar, glm::vec3& vec, const unsigned int version)
52 {
53 ar & vec.x & vec.y & vec.z;
54 }
55 }
56}
GLboolean * data
Definition: glad.h:1600
GLuint GLuint stream
Definition: glad.h:2794
void serialize(Archive &ar, glm::vec3 &vec, const unsigned int version)
Definition: serialize.hpp:51
Definition: serialize.hpp:45
std::string serialize(const Type &obj)
Definition: serialize.hpp:19
Type deserialize(std::string data)
Definition: serialize.hpp:35