19export namespace nmea {
21using time_t = std::chrono::hh_mm_ss<std::chrono::duration<long long, std::ratio<1, 1000>>>;
53 static float coord(
const unsigned int degrees_chars,
const std::string_view& sv);
55 static void time(
const std::string_view& sv,
time_t& t);
56 static void date(
const std::string_view& sv, std::chrono::year_month_day& d);
57 static bool valid(
const std::string_view& sv);
69 constexpr explicit operator bool() const noexcept {
return result.success; }
133 std::chrono::year_month_day
d;
static quality qual(const std::string_view &sv)
static talker_id system(const std::string_view &sv)
static direction dir(const std::string_view &sv)
static void time(const std::string_view &sv, time_t &t)
static float coord(const unsigned int degrees_chars, const std::string_view &sv)
static talker_id talker(const std::string_view &sv)
static void date(const std::string_view &sv, std::chrono::year_month_day &d)
std::array< unsigned int, 12 > gsa_sat_array
std::array< gsv_sat, 4 > gsv_sat_array
std::chrono::hh_mm_ss< std::chrono::duration< long long, std::ratio< 1, 1000 > > > time_t
static gga_result from_data(const std::string &data)
nmea_result< gga > gga_result
nmea_result< gll > gll_result
static gll_result from_data(const std::string &data)
nmea_result< gsa > gsa_result
static gsa_result from_data(const std::string &data)
nmea_result< gsv > gsv_result
static gsv_result from_data(const std::string &data)
std::chrono::year_month_day d
static rmc_result from_data(const std::string &data)
nmea_result< rmc > rmc_result