18 VLW(std::string talkerId,
19 double totalWaterDistanceNm,
20 double waterDistanceSinceResetNm,
21 std::optional<double> totalGroundDistanceNm = std::nullopt,
22 std::optional<double> groundDistanceSinceResetNm = std::nullopt);
27 VLW& operator=(
VLW&&) noexcept = default;
29 ~
VLW() override = default;
45 bool operator==(const
VLW& other) const noexcept;
48 double totalWaterDistanceNm_{};
49 char totalWaterDistanceUnit_{};
50 double waterDistanceSinceResetNm_{};
51 char waterDistanceSinceResetUnit_{};
52 bool hasGroundDistanceData_{};
53 double totalGroundDistanceNm_{};
54 char totalGroundDistanceUnit_{};
55 double groundDistanceSinceResetNm_{};
56 char groundDistanceSinceResetUnit_{};
60 VLW(Message0183 baseMessage,
61 double totalWaterDistanceNm,
62 char totalWaterDistanceUnit,
63 double waterDistanceSinceResetNm,
64 char waterDistanceSinceResetUnit,
66 double totalGroundDistanceNm,
67 char totalGroundDistanceUnit,
68 double groundDistanceSinceResetNm,
69 char groundDistanceSinceResetUnit)
noexcept;
71 static std::unique_ptr<VLW> create(std::unique_ptr<Message0183> baseMessage);
72 static std::string composeRaw(
const std::string& talkerId,
73 double totalWaterDistanceNm,
74 double waterDistanceSinceResetNm,
75 std::optional<double> totalGroundDistanceNm,
76 std::optional<double> groundDistanceSinceResetNm);
VLW(std::string talkerId, double totalWaterDistanceNm, double waterDistanceSinceResetNm, std::optional< double > totalGroundDistanceNm=std::nullopt, std::optional< double > groundDistanceSinceResetNm=std::nullopt)