2019-10-09 09:30:59 -04:00
|
|
|
#define CATCH_CONFIG_MAIN
|
|
|
|
|
|
|
|
|
|
#include <cereal/archives/json.hpp>
|
2021-01-06 14:40:33 +01:00
|
|
|
#include <cereal/cereal.hpp>
|
2019-10-09 09:30:59 -04:00
|
|
|
#include <sstream>
|
2021-01-06 14:40:33 +01:00
|
|
|
#include <string>
|
2019-10-09 09:30:59 -04:00
|
|
|
|
2021-01-06 14:40:33 +01:00
|
|
|
struct player_data {
|
2019-10-09 09:30:59 -04:00
|
|
|
int id{-1};
|
|
|
|
|
std::string name{};
|
|
|
|
|
};
|
|
|
|
|
|
2021-01-06 14:40:33 +01:00
|
|
|
template <typename Archive> void serialize(Archive &archive, player_data const &data) {
|
|
|
|
|
archive(cereal::make_nvp("id", data.id), cereal::make_nvp("name", data.name));
|
2019-10-09 09:30:59 -04:00
|
|
|
}
|
|
|
|
|
|
2021-01-06 14:40:33 +01:00
|
|
|
int main(int argc, char const *argv[]) {
|
2019-10-09 09:30:59 -04:00
|
|
|
player_data player{3, "Gamer One"};
|
|
|
|
|
std::ostringstream oss;
|
|
|
|
|
cereal::JSONOutputArchive output(oss);
|
|
|
|
|
output(cereal::make_nvp("player_data", player));
|
|
|
|
|
|
|
|
|
|
std::cout << oss.str() << std::endl;
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
}
|