75inline std::vector<StateVector>
parse(std::string_view text) {
76 const std::string buf{text};
77 SiderustOemState *raw_ptr =
nullptr;
78 unsigned long count = 0;
80 check_status(siderust_oem_parse_str(buf.c_str(), &raw_ptr, &count),
"oem::parse");
86 std::vector<StateVector> result;
87 result.reserve(
static_cast<std::size_t
>(count));
88 for (
unsigned long i = 0; i < count; ++i) {
89 const auto &s = raw_ptr[i];
90 result.push_back({s.epoch_jd,
91 {s.pos_km[0], s.pos_km[1], s.pos_km[2]},
92 {s.vel_kms[0], s.vel_kms[1], s.vel_kms[2]}});