Lines Matching refs:person
53 struct person
58 person() = default;
59 person(const age& a, name n, const country& c) : m_age(a), m_name(std::move(n)), m_country(c) {}
64 person m_person{};
67 contact(person p, address a) : m_person(std::move(p)), m_address(std::move(a)) {}
115 static void to_json(BasicJsonType& j, const person& p)
127 j = json{{"person", c.m_person}, {"address", c.m_address}};
151 static bool operator==(const person& lhs, const person& rhs)
201 static void from_json(const BasicJsonType& j, person& p)
215 c.m_person = j["person"].get<person>();
236 const udt::person sfinae_addict{a, n, c};
237 const udt::person senior_programmer{{42}, {"王芳"}, udt::country::china};
250 R"({"person" : {"age":23, "name":"theo", "country":"France"}, "address":"Paris"})"_json);
254 R"({"name":"C++", "contacts" : [{"person" : {"age":23, "name":"theo", "country":"France"}, "address":"Paris"}, {"person" : {"age":42, "country":"中华人民共和国", "name":"王芳"}, "address":"Paris"}]})"_json);
261 R"({"name":"C++", "contacts" : [{"person" : {"age":23, "name":"theo", "country":"France"}, "address":"Paris"}, {"person" : {"age":42, "country":"中华人民共和国", "name":"王芳"}, "address":"Paris"}]})"_json;
270 const auto person = contact_json["person"].get<udt::person>();
272 const auto age = contact_json["person"]["age"].get<udt::age>();
274 contact_json["person"]["country"].get<udt::country>();
275 const auto name = contact_json["person"]["name"].get<udt::name>();
281 CHECK(person == sfinae_addict);
290 udt::person person;
293 json person_json = big_json["contacts"][0]["person"];
294 CHECK(person_json.get_to(person) == sfinae_addict);
309 const udt::person person = contact_json["person"];
311 const udt::age age = contact_json["person"]["age"];
312 const udt::country country = contact_json["person"]["country"];
313 const udt::name name = contact_json["person"]["name"];
319 CHECK(person == sfinae_addict);
390 std::shared_ptr<udt::person> optPerson;
395 optPerson.reset(new udt::person{{42}, {"John Doe"}, udt::country::russia}); // NOLINT(cppcoreguidelines-owning-memory,modernize-make-shared)
399 CHECK(j.get<udt::person>() == *optPerson);
404 auto person = udt::person{{42}, {"John Doe"}, udt::country::russia};
405 json j = person;
407 auto optPerson = j.get<std::shared_ptr<udt::person>>();
409 CHECK(*optPerson == person);
412 optPerson = j.get<std::shared_ptr<udt::person>>();
503 std::unique_ptr<udt::person> optPerson;
508 optPerson.reset(new udt::person{{42}, {"John Doe"}, udt::country::russia}); // NOLINT(cppcoreguidelines-owning-memory,modernize-make-unique)
512 CHECK(j.get<udt::person>() == *optPerson);
517 auto person = udt::person{{42}, {"John Doe"}, udt::country::russia};
518 json j = person;
520 auto optPerson = j.get<std::unique_ptr<udt::person>>();
522 CHECK(*optPerson == person);
525 optPerson = j.get<std::unique_ptr<udt::person>>();
682 auto me = udt::person{{23}, {"theo"}, udt::country::france};
689 CHECK(me == j.get<udt::person>());
690 CHECK(me == cj.get<udt::person>());