mirror of
https://github.com/cpm-cmake/CPM.cmake.git
synced 2025-11-17 14:47:30 -05:00
* apply clang-format and cmake-format and add style check workflow * add declare package definition * add additional public methods and rename internals * change development verison tag to 1.0.0 * rename internal method * rename public method * rename test var * update copyright and fix comment * typo * run fix-format * fix test function names
27 lines
615 B
C++
27 lines
615 B
C++
#define CATCH_CONFIG_MAIN
|
|
|
|
#include <cereal/archives/json.hpp>
|
|
#include <cereal/cereal.hpp>
|
|
#include <sstream>
|
|
#include <string>
|
|
|
|
struct player_data {
|
|
int id{-1};
|
|
std::string name{};
|
|
};
|
|
|
|
template <typename Archive> void serialize(Archive &archive, player_data const &data) {
|
|
archive(cereal::make_nvp("id", data.id), cereal::make_nvp("name", data.name));
|
|
}
|
|
|
|
int main(int argc, char const *argv[]) {
|
|
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;
|
|
}
|