MCPcopy Create free account
hub / github.com/danielaparker/jsoncons / tuple_example

Function tuple_example

examples/src/json_traits_tuple_examples.cpp:23–66  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

21using qualifying_results_type = std::tuple<std::size_t,std::string,std::string,std::string,std::chrono::milliseconds>;
22
23void tuple_example()
24{
25 std::vector<qualifying_results_type> results = {
26 {1,"Lewis Hamilton","Mercedes","1'24.303",std::chrono::milliseconds(0)},
27 {2,"Valtteri Bottas","Mercedes","1'24.616",std::chrono::milliseconds(313)},
28 {3,"Max Verstappen","Red Bull","1'25.325",std::chrono::milliseconds(1022)}
29 };
30
31 std::string json_data;
32 encode_json_pretty(results, json_data);
33 std::cout << json_data << "\n\n";
34 auto results1 = decode_json<std::vector<qualifying_results_type>>(json_data);
35 assert(results1 == results);
36
37 auto csv_options = csv::csv_options{}
38 .column_names("Pos,Driver,Entrant,Time,Gap")
39 .mapping_kind(csv::csv_mapping_kind::n_rows)
40 .header_lines(1);
41 std::string csv_data;
42 csv::encode_csv(results, csv_data, csv_options);
43 std::cout << csv_data << "\n\n";
44 auto results2 = csv::decode_csv<std::vector<qualifying_results_type>>(csv_data, csv_options);
45 assert(results2 == results);
46
47 std::vector<uint8_t> bson_data;
48 bson::encode_bson(results, bson_data);
49 auto results3 = bson::decode_bson<std::vector<qualifying_results_type>>(bson_data);
50 assert(results3 == results);
51
52 std::vector<uint8_t> cbor_data;
53 cbor::encode_cbor(results, cbor_data);
54 auto results4 = cbor::decode_cbor<std::vector<qualifying_results_type>>(cbor_data);
55 assert(results4 == results);
56
57 std::vector<uint8_t> msgpack_data;
58 msgpack::encode_msgpack(results, msgpack_data);
59 auto results5 = msgpack::decode_msgpack<std::vector<qualifying_results_type>>(msgpack_data);
60 assert(results5 == results);
61
62 std::vector<uint8_t> ubjson_data;
63 ubjson::encode_ubjson(results, ubjson_data);
64 auto results6 = ubjson::decode_ubjson<std::vector<qualifying_results_type>>(ubjson_data);
65 assert(results6 == results);
66}
67
68int main()
69{

Callers 1

mainFunction · 0.85

Calls 8

encode_json_prettyFunction · 0.85
encode_csvFunction · 0.85
encode_bsonFunction · 0.85
encode_cborFunction · 0.85
encode_msgpackFunction · 0.85
encode_ubjsonFunction · 0.85
header_linesMethod · 0.80
mapping_kindMethod · 0.80

Tested by

no test coverage detected