1 #ifndef __MARNAV__NMEA__PGRMM__HPP__
2 #define __MARNAV__NMEA__PGRMM__HPP__
4 #include <marnav/nmea/sentence.hpp>
5 #include <marnav/utils/optional.hpp>
11 MARNAV_NMEA_DECLARE_SENTENCE_PARSE_FUNC(pgrmm
)
13 /// @brief PGRMM - Garmin Map Datum
18 /// $PGRMM,c--c*hh<CR><LF>
23 /// 1. Map datum, variable length
25 /// Example: <tt>$PGRMM,WGS 84*06</tt>
27 class pgrmm
: public sentence
29 MARNAV_NMEA_SENTENCE_FRIENDS(pgrmm
)
32 constexpr static const sentence_id ID
= sentence_id::PGRMM
;
33 constexpr static const char * TAG
= "PGRMM";
36 pgrmm(const pgrmm
&) = default;
37 pgrmm
& operator=(const pgrmm
&) = default;
38 pgrmm(pgrmm
&&) = default;
39 pgrmm
& operator=(pgrmm
&&) = default;
42 pgrmm(talker talk
, fields::const_iterator first
, fields::const_iterator last
);
43 virtual std::vector
<std::string
> get_data() const override
;
46 std::string map_datum
;
49 decltype(map_datum
) get_map_datum() const { return map_datum
; }
51 void set_map_datum(const std::string
& t
) noexcept
;