#include #include using namespace mcc::impl; static auto kv_desc = std::make_tuple( mcc_simple_kv_record_t{"bb", MccAngle{11.5_degs}, MccAngle{11.5_degs}, mcc_serialization_params_t{}}, mcc_simple_kv_record_t{"aaa", std::string("AAA"), std::string("AAA"), mcc_serialization_params_t{}}, mcc_simple_kv_record_t{"cc", MccCelestialCoordEpoch{}, MccCelestialCoordEpoch{}, mcc_serialization_params_t{}}, mcc_simple_kv_record_t{ "ddd", MccAngle{11.5_degs}, MccAngle{11.5_degs}, mcc_serialization_params_t{.angle_format = mcc::MccSerializedAngleFormat::MCC_SERIALIZED_FORMAT_SXGM_HOURS}}, mcc_make_simple_kv_record("eee", 1.5)); static std::string STR = R"--( aaa = dewl_ewkj23+23998 # # this is angle bb=1.24534 cc= 2026-05-15T05:53:20.921723918 # date UTC )--"; static std::string STR1 = R"--( aaa = dewl_ewkj23+23998 # # this is obs date cc= 2026-05-15T05:53:20.921723918 # date UTC ddd = 01:02:33.434 # HA in hours:mins:secs )--"; int main() { std::error_code err; std::string buff; MccKeyValueHolder kv(kv_desc); err = kv.toCharRange(buff); if (err) { std::println("ERR = {}", err); return 1; } std::println("DEFAULT VALUES:"); std::println("--(\n{})--", buff); std::println("\n\n"); err = kv.setValue("eee", 15.1515); if (err) { std::println("ERR = {}", err); // return 1; } // auto err = kv.fromCharRange(STR); err = kv.fromCharRange(STR1); if (err) { std::println("ERR = {}", err); return 1; } std::println("{} = {}", "bb", kv.getValue(std::string{"bb"}).value().sexagesimal()); std::println("{} = {}", "cc", kv.getValue("cc").value().UTC()); err = kv.setValue("cc", std::chrono::system_clock::now()); if (err) { std::println("ERR = {}", err); // return 1; } err = kv.setValue("aaa", "OK"); if (err) { std::println("ERR = {}", err); // return 1; } err = kv.setValue("ddd", 37.5_degs); if (err) { std::println("ERR = {}", err); // return 1; } std::println("------------------------------------"); buff.clear(); err = kv.toCharRange(buff); // err = kv.toCharRange(buff); if (err) { std::println("ERR = {}", err); return 1; } std::println("--(\n{}\n)--", buff); std::print("KEYS: "); for (auto const& k : kv.keys()) { std::print("{} ", k); } std::println(""); return 0; }