0.2.0
Loading...
Searching...
No Matches
Code.hpp
Go to the documentation of this file.
1// This file is part of INSTINCT, the INS Toolkit for Integrated
2// Navigation Concepts and Training by the Institute of Navigation of
3// the University of Stuttgart, Germany.
4//
5// This Source Code Form is subject to the terms of the Mozilla Public
6// License, v. 2.0. If a copy of the MPL was not distributed with this
7// file, You can obtain one at https://mozilla.org/MPL/2.0/.
8
13
14#pragma once
15
16#include <bitset>
17#include <fmt/format.h>
18
21
22namespace NAV
23{
24
87class Code
88{
89 public:
210 enum
211 {
226
233
244
255
268
277
282
287
288 COUNT = S5X + 1
289 };
290
292 using Set = std::bitset<COUNT>;
293
295 constexpr Code() = default;
296
299 constexpr explicit Code(const Set& set) : value(set) {}
300
303 explicit Code(SatelliteSystem_ sys);
304
307 explicit Code(Frequency_ freq);
308
311 Code(Enum e) { value.set(e, true); } // NOLINT(hicpp-explicit-conversions, google-explicit-constructor)
312
314 explicit operator bool() const { return value.any(); }
315
318 constexpr explicit operator Set() const { return value; }
319
322 explicit operator std::string() const;
323
328 static Code fromFreqAttr(Frequency freq, char attribute);
329
332 static const char* GetCodeDescription(Code code);
333
335 [[nodiscard]] const char* getDescription() const;
336
340
342 [[nodiscard]] Frequency getFrequency() const;
343
347 static bool IsCodeCombined(Code first, Code second);
348
350 static std::vector<Code> GetAll();
351
355
357 [[nodiscard]] Enum getEnumValue() const;
358
359 // #####################################################################################################################################
360
365 friend Code operator|(const Code& lhs, const Code& rhs);
370 friend Code operator|(const Code& lhs, const Enum& rhs);
375 friend Code operator|(const Enum& lhs, const Code& rhs);
376
380 Code& operator|=(const Code& rhs);
384 Code& operator|=(const Enum& rhs);
385
390 friend Code operator&(const Code& lhs, const Code& rhs);
395 friend Code operator&(const Code& lhs, const Enum& rhs);
400 friend Code operator&(const Enum& lhs, const Code& rhs);
401
405 Code& operator&=(const Code& rhs);
409 Code& operator&=(const Enum& rhs);
410
413
414 // #####################################################################################################################################
415
420 friend bool operator==(const Code& lhs, const Code& rhs);
421
426 friend bool operator==(const Code& lhs, const Enum& rhs);
427
432 friend bool operator==(const Enum& lhs, const Code& rhs);
433
438 friend bool operator!=(const Code& lhs, const Code& rhs);
443 friend bool operator!=(const Code& lhs, const Enum& rhs);
448 friend bool operator!=(const Enum& lhs, const Code& rhs);
449
454 friend bool operator<(const Code& lhs, const Code& rhs);
455
460 friend bool operator<(const Code& lhs, const Enum& rhs);
461
466 friend bool operator<(const Enum& lhs, const Code& rhs);
467
468 // #####################################################################################################################################
469
498
527
528 // #####################################################################################################################################
529
534 friend Code operator&(Code lhs, Frequency_ rhs);
539 friend Code operator&(Frequency_ lhs, Code rhs);
548 friend Code operator&(Code lhs, Frequency rhs);
553 friend Code operator&(Frequency lhs, Code rhs);
558
563 friend Code operator|(Code lhs, Frequency_ rhs);
568 friend Code operator|(Frequency_ lhs, Code rhs);
577 friend Code operator|(Code lhs, Frequency rhs);
582 friend Code operator|(Frequency lhs, Code rhs);
587
588 // #####################################################################################################################################
589
590 private:
592 Set value{};
593};
594
595// #########################################################################################################################################
596
600void to_json(json& j, const Code& data);
604void from_json(const json& j, Code& data);
605
606// #########################################################################################################################################
607
612Code operator|(const Code::Enum& lhs, const Code::Enum& rhs);
617Code operator&(const Code::Enum& lhs, const Code::Enum& rhs);
618
622
628
632
640
646
649
651
652const Code Code_ALL = Code(Code::Set().set());
655 & ~Code(Code::G1Y) // GPS L1 - Y-code (with decryption)
656 & ~Code(Code::G1M) // GPS L1 - M-code
657 & ~Code(Code::G2Y) // GPS L2 - Y-code (with decryption)
658 & ~Code(Code::G2M); // GPS L2 - M-code
659
665bool ShowCodeSelector(const char* label, Code& code, const Frequency& filterFreq, bool singleSelect = false);
666
667} // namespace NAV
668
673std::ostream& operator<<(std::ostream& os, const NAV::Code& obj);
674
675namespace std
676{
677
679template<>
680struct hash<NAV::Code>
681{
685 std::size_t operator()(const NAV::Code& c) const
686 {
687 return static_cast<size_t>(c.getEnumValue());
688 }
689};
690} // namespace std
691
692#ifndef DOXYGEN_IGNORE
693
695template<>
696struct fmt::formatter<NAV::Code> : fmt::formatter<std::string>
697{
702 template<typename FormatContext>
703 auto format(const NAV::Code& code, FormatContext& ctx)
704 {
705 return fmt::formatter<std::string>::format(std::string(code), ctx);
706 }
707};
708
709#endif
const Code Code_G5I_G5Q_G5X
L5 (data, pilot, combined)
Definition Code.hpp:621
const Code Code_I5B_I5C_I5X
RS (data, pilot, combined)
Definition Code.hpp:647
const Code Code_E8I_E8Q_E8X
E5 AltBOC (data, pilot, combined)
Definition Code.hpp:627
const Code Code_J1S_J1L_J1X
L1C (data, pilot, combined)
Definition Code.hpp:641
const Code Code_B8D_B8P_B8X
B2 (B2a+B2b) (data, pilot, combined)
Definition Code.hpp:639
bool ShowCodeSelector(const char *label, Code &code, const Frequency &filterFreq, bool singleSelect=false)
Shows a ComboBox to select signal codes.
Code operator|(const Code::Enum &lhs, const Code::Enum &rhs)
Allows combining flags of the Code enum.
const Code Code_B7I_B7Q_B7X
B2I(OS), B2Q, combined.
Definition Code.hpp:637
Code operator&(const Code::Enum &lhs, const Code::Enum &rhs)
Allows combining flags of the Code enum.
const Code Code_ALL
Definition Code.hpp:652
const Code Code_B1D_B1P_B1X
B1 (data, pilot, combined)
Definition Code.hpp:633
const Code Code_B5D_B5P_B5X
B2a (data, pilot, combined)
Definition Code.hpp:635
const Code Code_E7I_E7Q_E7X
E5b (data, pilot, combined)
Definition Code.hpp:626
const Code Code_Default
Default selection for codes.
Definition Code.hpp:654
const Code Code_B2I_B2Q_B2X
B1I(OS), B1Q, combined.
Definition Code.hpp:634
const Code Code_E1B_E1C_E1X
OS (data, pilot, combined)
Definition Code.hpp:623
const Code Code_J5I_J5Q_J5X
L5 (data, pilot, combined)
Definition Code.hpp:643
const Code Code_R3I_R3Q_R3X
L3 (data, pilot, combined)
Definition Code.hpp:629
const Code Code_B7D_B7P_B7Z
B2b (data, pilot, combined)
Definition Code.hpp:638
const Code Code_R4A_R4B_R4X
G1a (data, pilot, combined)
Definition Code.hpp:630
std::ostream & operator<<(std::ostream &os, const NAV::Code &obj)
Stream insertion operator overload.
const Code Code_E5I_E5Q_E5X
E5a (data, pilot, combined)
Definition Code.hpp:624
const Code Code_J6S_J6L_J6X
LEX signal (short, long, combined)
Definition Code.hpp:645
const Code Code_S5I_S5Q_S5X
L5 (data, pilot, combined)
Definition Code.hpp:650
const Code Code_I9B_I9C_I9X
RS (data, pilot, combined)
Definition Code.hpp:648
const Code Code_E6B_E6C_E6X
E6 (data, pilot, combined)
Definition Code.hpp:625
const Code Code_B6I_B6Q_B6X
B3I, B3Q, combined.
Definition Code.hpp:636
const Code Code_J5D_J5P_J5Z
L5 (data, pilot, combined)
Definition Code.hpp:644
const Code Code_R6A_R6B_R6X
G2a (data, pilot, combined)
Definition Code.hpp:631
const Code Code_G2S_G2L_G2X
L2C-code (medium, long, combined)
Definition Code.hpp:620
const Code Code_J2S_J2L_J2X
L2C-code (medium, long, combined)
Definition Code.hpp:642
const Code Code_G1S_G1L_G1X
L1C (data, pilot, combined)
Definition Code.hpp:619
nlohmann::json json
json namespace
Definition FlowManager.hpp:21
Frequency definition for different satellite systems.
Frequency_
Enumerate for GNSS frequencies.
Definition Frequency.hpp:26
GNSS Satellite System.
SatelliteSystem_
Satellite System enumeration.
Definition SatelliteSystem.hpp:30
Enumerate for GNSS Codes.
Definition Code.hpp:88
friend Code operator|(const Code &lhs, const Enum &rhs)
Allows combining flags of the Code enum.
static const char * GetCodeDescription(Code code)
Returns a short description for the code.
Code & operator|=(const Code &rhs)
Allows combining flags of the Code enum.
friend Code operator|(Code lhs, SatelliteSystem rhs)
Allows filtering Code with SatelliteSystem.
Code & operator&=(const SatelliteSystem_ &rhs)
Allows filtering Code with SatelliteSystem.
friend Code operator|(const Enum &lhs, const Code &rhs)
Allows combining flags of the Code enum.
constexpr Code(const Set &set)
Constructor from a biset.
Definition Code.hpp:299
friend Code operator&(Frequency lhs, Code rhs)
Allows filtering Code with Frequency.
const char * getDescription() const
Returns a short description for the code.
friend Code operator&(Code lhs, Frequency rhs)
Allows filtering Code with Frequency.
friend Code operator&(Code lhs, SatelliteSystem_ rhs)
Allows filtering Code with SatelliteSystem.
friend Code operator|(Code lhs, SatelliteSystem_ rhs)
Allows filtering Code with SatelliteSystem.
std::bitset< COUNT > Set
Typedef for the bitset with size of COUNT.
Definition Code.hpp:292
static bool IsCodeCombined(Code first, Code second)
Checks if the codes are part of a combined code.
Code & operator&=(const SatelliteSystem &rhs)
Allows filtering Code with SatelliteSystem.
Frequency getFrequency() const
Returns the frequency for the code.
Code & operator&=(const Code &rhs)
Allows combining flags of the Code enum.
Code & operator|=(const Enum &rhs)
Allows combining flags of the Code enum.
friend Code operator|(Code lhs, Frequency rhs)
Allows filtering Code with Frequency.
friend bool operator!=(const Code &lhs, const Code &rhs)
Inequal compares values.
friend Code operator|(Code lhs, Frequency_ rhs)
Allows filtering Code with Frequency.
friend bool operator==(const Code &lhs, const Enum &rhs)
Equal compares values.
friend bool operator<(const Code &lhs, const Enum &rhs)
Less than comparison.
friend Code operator|(Frequency lhs, Code rhs)
Allows filtering Code with Frequency.
friend Code operator&(const Enum &lhs, const Code &rhs)
Allows combining flags of the Code enum.
static Enum GetCodeEnumValue(Code code)
Returns the enum value for the code (only one must be set)
friend Code operator&(SatelliteSystem_ lhs, Code rhs)
Allows filtering Code with SatelliteSystem.
friend bool operator<(const Enum &lhs, const Code &rhs)
Less than comparison.
friend Code operator&(const Code &lhs, const Code &rhs)
Allows combining flags of the Code enum.
Code & operator&=(const Frequency_ &rhs)
Allows filtering Code with Frequency.
friend Code operator|(const Code &lhs, const Code &rhs)
Allows combining flags of the Code enum.
friend bool operator!=(const Enum &lhs, const Code &rhs)
Inequal compares values.
Code & operator&=(const Frequency &rhs)
Allows filtering Code with Frequency.
Enum getEnumValue() const
Returns the enum value for the code (only one must be set)
friend Code operator&(const Code &lhs, const Enum &rhs)
Allows combining flags of the Code enum.
friend Code operator&(Frequency_ lhs, Code rhs)
Allows filtering Code with Frequency.
Code(Enum e)
Constructor from a single code value.
Definition Code.hpp:311
Code & operator|=(const Frequency_ &rhs)
Allows filtering Code with Frequency.
friend bool operator==(const Code &lhs, const Code &rhs)
Equal compares values.
friend Code operator|(SatelliteSystem_ lhs, Code rhs)
Allows filtering Code with SatelliteSystem.
Code operator~() const
Allows negating flags of the Code enum.
constexpr Code()=default
Default constructor for an empty code.
friend Code operator&(SatelliteSystem lhs, Code rhs)
Allows filtering Code with SatelliteSystem.
static std::vector< Code > GetAll()
Returns a list with all possible codes.
Code & operator&=(const Enum &rhs)
Allows combining flags of the Code enum.
friend Code operator&(Code lhs, Frequency_ rhs)
Allows filtering Code with Frequency.
static Code fromFreqAttr(Frequency freq, char attribute)
Generates a Code from frequency and attribute.
friend Code operator&(Code lhs, SatelliteSystem rhs)
Allows filtering Code with SatelliteSystem.
Code(SatelliteSystem_ sys)
Constructor from a satellite system.
friend Code operator|(Frequency_ lhs, Code rhs)
Allows filtering Code with Frequency.
static Frequency GetCodeFequency(Code code)
Returns the frequency for the code.
Code & operator|=(const SatelliteSystem_ &rhs)
Allows filtering Code with SatelliteSystem.
Code & operator|=(const SatelliteSystem &rhs)
Allows filtering Code with SatelliteSystem.
Code & operator|=(const Frequency &rhs)
Allows filtering Code with Frequency.
friend Code operator|(SatelliteSystem lhs, Code rhs)
Allows filtering Code with SatelliteSystem.
@ _S05_START
SBAS L start index in the Enum.
Definition Code.hpp:285
@ _GAL_START
GAL start index in the Enum.
Definition Code.hpp:214
@ _GPS_END
GPS end index in the Enum.
Definition Code.hpp:213
@ _J06_END
QZSS L6 end index in the Enum.
Definition Code.hpp:276
@ _GAL_END
GAL end index in the Enum.
Definition Code.hpp:215
@ _R04_END
GLO G1a end index in the Enum.
Definition Code.hpp:252
@ _R04_START
GLO G1a start index in the Enum.
Definition Code.hpp:251
@ _B06_END
BDS B3 end index in the Enum.
Definition Code.hpp:263
@ _I09_END
IRNSS S end index in the Enum.
Definition Code.hpp:281
@ _E01_START
GAL E1 start index in the Enum.
Definition Code.hpp:234
@ _E06_START
GAL E6 start index in the Enum.
Definition Code.hpp:238
@ _G05_START
GPS L5 start index in the Enum.
Definition Code.hpp:231
@ _B08_END
BDS B2 (B2a+B2b) end index in the Enum.
Definition Code.hpp:267
@ _R01_START
GLO L1 start index in the Enum.
Definition Code.hpp:245
@ _B05_START
BDS B2a start index in the Enum.
Definition Code.hpp:260
@ _B07_START
BDS B2b start index in the Enum.
Definition Code.hpp:264
@ _J05_START
QZSS L5 start index in the Enum.
Definition Code.hpp:273
@ _IRNSS_END
IRNSS end index in the Enum.
Definition Code.hpp:223
@ _S01_END
SBAS L end index in the Enum.
Definition Code.hpp:284
@ _J05_END
QZSS L5 end index in the Enum.
Definition Code.hpp:274
@ _J01_END
QZSS L1 end index in the Enum.
Definition Code.hpp:270
@ _E07_START
GAL E5b start index in the Enum.
Definition Code.hpp:240
@ _R03_END
GLO L3 end index in the Enum.
Definition Code.hpp:250
@ _R03_START
GLO L3 start index in the Enum.
Definition Code.hpp:249
@ _E01_END
GAL E1 end index in the Enum.
Definition Code.hpp:235
@ _B05_END
BDS B2a end index in the Enum.
Definition Code.hpp:261
@ _QZSS_END
QZSS end index in the Enum.
Definition Code.hpp:221
@ _E08_END
GAL E5(a+b) end index in the Enum.
Definition Code.hpp:243
@ _GLO_START
GLO start index in the Enum.
Definition Code.hpp:216
@ _G02_END
GPS L2 end index in the Enum.
Definition Code.hpp:230
@ _GPS_START
GPS start index in the Enum.
Definition Code.hpp:212
@ _IRNSS_START
IRNSS start index in the Enum.
Definition Code.hpp:222
@ _B01_START
BDS B1 start index in the Enum.
Definition Code.hpp:256
@ _J02_START
QZSS L2 start index in the Enum.
Definition Code.hpp:271
@ _B06_START
BDS B3 start index in the Enum.
Definition Code.hpp:262
@ _QZSS_START
QZSS start index in the Enum.
Definition Code.hpp:220
@ _S05_END
SBAS L end index in the Enum.
Definition Code.hpp:286
@ _R06_END
GLO G2a end index in the Enum.
Definition Code.hpp:254
@ _G05_END
GPS L5 end index in the Enum.
Definition Code.hpp:232
@ _BDS_END
BDS end index in the Enum.
Definition Code.hpp:219
@ _E07_END
GAL E5b end index in the Enum.
Definition Code.hpp:241
@ _E06_END
GAL E6 end index in the Enum.
Definition Code.hpp:239
@ _J01_START
QZSS L1 start index in the Enum.
Definition Code.hpp:269
@ _G02_START
GPS L2 start index in the Enum.
Definition Code.hpp:229
@ _S01_START
SBAS L start index in the Enum.
Definition Code.hpp:283
@ _SBAS_START
SBAS start index in the Enum.
Definition Code.hpp:224
@ _B02_START
BDS B1-2 start index in the Enum.
Definition Code.hpp:258
@ _I05_START
IRNSS L5 start index in the Enum.
Definition Code.hpp:278
@ _G01_START
GPS L1 start index in the Enum.
Definition Code.hpp:227
@ _BDS_START
BDS start index in the Enum.
Definition Code.hpp:218
@ _B01_END
BDS B1 end index in the Enum.
Definition Code.hpp:257
@ _R02_END
GLO L2 end index in the Enum.
Definition Code.hpp:248
@ _J06_START
QZSS L6 start index in the Enum.
Definition Code.hpp:275
@ _B08_START
BDS B2 (B2a+B2b) start index in the Enum.
Definition Code.hpp:266
@ _GLO_END
GLO end index in the Enum.
Definition Code.hpp:217
@ _G01_END
GPS L1 end index in the Enum.
Definition Code.hpp:228
@ _E05_END
GAL E5a end index in the Enum.
Definition Code.hpp:237
@ _R06_START
GLO G2a start index in the Enum.
Definition Code.hpp:253
@ _E08_START
GAL E5(a+b) start index in the Enum.
Definition Code.hpp:242
@ _SBAS_END
SBAS end index in the Enum.
Definition Code.hpp:225
@ _I09_START
IRNSS S start index in the Enum.
Definition Code.hpp:280
@ _R02_START
GLO L2 start index in the Enum.
Definition Code.hpp:247
@ _R01_END
GLO L1 end index in the Enum.
Definition Code.hpp:246
@ COUNT
Amount of Codes in the Enum.
Definition Code.hpp:288
@ _E05_START
GAL E5a start index in the Enum.
Definition Code.hpp:236
@ _I05_END
IRNSS L5 end index in the Enum.
Definition Code.hpp:279
@ _B07_END
BDS B2b end index in the Enum.
Definition Code.hpp:265
@ _B02_END
BDS B1-2 end index in the Enum.
Definition Code.hpp:259
@ _J02_END
QZSS L2 end index in the Enum.
Definition Code.hpp:272
Enum
Enumeration of all Codes.
Definition Code.hpp:92
@ E6B
GAL E6 - Data.
Definition Code.hpp:127
@ G2P
GPS L2 - P-code (unencrypted)
Definition Code.hpp:109
@ G2C
GPS L2 - C/A-code.
Definition Code.hpp:104
@ R3X
GLO L3 - Combined.
Definition Code.hpp:144
@ B7I
BeiDou B2b (BDS-2) - B2I(OS)
Definition Code.hpp:165
@ R1C
GLO L1 - C/A-code.
Definition Code.hpp:138
@ R6A
GLO G2a - L2CSI (data)
Definition Code.hpp:148
@ J2L
QZSS L2 - L2C-code (long)
Definition Code.hpp:181
@ G1L
GPS L1 - L1C-P (pilot)
Definition Code.hpp:97
@ G2D
GPS L2 - Semi-codeless P(Y) tracking (L1 C/A + (P2-P1))
Definition Code.hpp:105
@ B6Q
BeiDou B3 - B3Q.
Definition Code.hpp:162
@ I5X
IRNSS L5 - RS (combined)
Definition Code.hpp:198
@ J6L
QZSS L6 - L6P LEX signal (long)
Definition Code.hpp:190
@ E7I
GAL E5b - Data.
Definition Code.hpp:131
@ E5Q
GAL E5a - Pilot.
Definition Code.hpp:124
@ B5P
BeiDou B2a - Pilot(P)
Definition Code.hpp:159
@ B7D
BeiDou B2b (BDS-3) - Data (D)
Definition Code.hpp:168
@ B5X
BeiDou B2a - D+P.
Definition Code.hpp:160
@ S1C
SBAS L1 - C/A-code.
Definition Code.hpp:204
@ S5Q
SBAS L5 - Pilot.
Definition Code.hpp:206
@ G1Y
GPS L1 - Y-code (with decryption)
Definition Code.hpp:101
@ G1X
GPS L1 - L1C-(D+P) (combined)
Definition Code.hpp:98
@ E1B
GAL E1 - OS (data)
Definition Code.hpp:119
@ G1M
GPS L1 - M-code.
Definition Code.hpp:102
@ J5I
QZSS L5 - Data.
Definition Code.hpp:183
@ J1Z
QZSS L1 - L1-SAIF signal.
Definition Code.hpp:179
@ J5P
QZSS L5S - Q.
Definition Code.hpp:187
@ G1N
GPS L1 - codeless.
Definition Code.hpp:103
@ G2X
GPS L2 - L2C(M+L) (combined)
Definition Code.hpp:108
@ J6X
QZSS L6 - L6(D+P) LEX signal (combined)
Definition Code.hpp:191
@ J5D
QZSS L5S - I.
Definition Code.hpp:186
@ E6X
GAL E6 - Combined (B+C)
Definition Code.hpp:129
@ J1L
QZSS L1 - L1C (pilot)
Definition Code.hpp:177
@ J1S
QZSS L1 - L1C (data)
Definition Code.hpp:176
@ I5C
IRNSS L5 - RS (pilot)
Definition Code.hpp:197
@ J5Z
QZSS L5S - I+Q.
Definition Code.hpp:188
@ I5B
IRNSS L5 - RS (data)
Definition Code.hpp:196
@ J1X
QZSS L1 - L1C (combined)
Definition Code.hpp:178
@ J6E
QZSS L6 - L6E.
Definition Code.hpp:192
@ E8X
GAL E5(a+b) - AltBOC (combined)
Definition Code.hpp:136
@ R2C
GLO L2 - C/A-code.
Definition Code.hpp:140
@ B6A
BeiDou B3 - B3A.
Definition Code.hpp:164
@ G2Y
GPS L2 - Y-code (with decryption)
Definition Code.hpp:111
@ G5X
GPS L5 - Combined.
Definition Code.hpp:116
@ E5I
GAL E5a - Data.
Definition Code.hpp:123
@ E1Z
GAL E1 - PRS + OS (data + pilot)
Definition Code.hpp:122
@ R3Q
GLO L3 - Pilot.
Definition Code.hpp:143
@ J1C
QZSS L1 - C/A-code.
Definition Code.hpp:175
@ J5Q
QZSS L5 - Pilot.
Definition Code.hpp:184
@ E6Z
GAL E6 - PRS + OS (A+B+C)
Definition Code.hpp:130
@ R3I
GLO L3 - Data.
Definition Code.hpp:142
@ None
None.
Definition Code.hpp:93
@ G1P
GPS L1 - P-code (unencrypted)
Definition Code.hpp:99
@ B1P
BeiDou B1 - Pilot(P)
Definition Code.hpp:153
@ J2X
QZSS L2 - L2C-code (combined)
Definition Code.hpp:182
@ G1C
GPS L1 - C/A-code.
Definition Code.hpp:95
@ B1D
BeiDou B1 - Data (D)
Definition Code.hpp:152
@ G1W
GPS L1 - Semicodeless P(Y) tracking (Z-tracking)
Definition Code.hpp:100
@ G2L
GPS L2 - L2C(L) (long)
Definition Code.hpp:107
@ I5A
IRNSS L5 - SPS Signal.
Definition Code.hpp:195
@ R1P
GLO L1 - P-code.
Definition Code.hpp:139
@ R6B
GLO G2a - L2OCp (pilot)
Definition Code.hpp:149
@ I9X
IRNSS S - RS (combined)
Definition Code.hpp:202
@ E7X
GAL E5b - Combined.
Definition Code.hpp:133
@ B8X
BeiDou B2 (B2a+B2b) - D+P.
Definition Code.hpp:173
@ B2Q
BeiDou B1-2 - B1Q.
Definition Code.hpp:156
@ R4X
GLO G1a - L1OCd+L1OCp (combined)
Definition Code.hpp:147
@ J5X
QZSS L5 - Combined.
Definition Code.hpp:185
@ B8D
BeiDou B2 (B2a+B2b) - Data (D)
Definition Code.hpp:171
@ E8I
GAL E5(a+b) - AltBOC (data)
Definition Code.hpp:134
@ G5Q
GPS L5 - Pilot.
Definition Code.hpp:115
@ B7P
BeiDou B2b (BDS-3) - Pilot(P)
Definition Code.hpp:169
@ G2W
GPS L2 - Semicodeless P(Y) tracking (Z-tracking)
Definition Code.hpp:110
@ G2M
GPS L2 - M-code.
Definition Code.hpp:112
@ R2P
GLO L2 - P-code.
Definition Code.hpp:141
@ G2N
GPS L2 - codeless.
Definition Code.hpp:113
@ E1A
GAL E1 - PRS signal.
Definition Code.hpp:118
@ S5X
SBAS L5 - Combined.
Definition Code.hpp:207
@ E8Q
GAL E5(a+b) - AltBOC (pilot)
Definition Code.hpp:135
@ B5D
BeiDou B2a - Data (D)
Definition Code.hpp:158
@ J6S
QZSS L6 - L6D LEX signal (short)
Definition Code.hpp:189
@ R4B
GLO G1a - L1OCp (pilot)
Definition Code.hpp:146
@ G5I
GPS L5 - Data.
Definition Code.hpp:114
@ S5I
SBAS L5 - Data.
Definition Code.hpp:205
@ I9A
IRNSS S - SPS signal.
Definition Code.hpp:199
@ B6X
BeiDou B3 - B3I, B3Q, combined.
Definition Code.hpp:163
@ B7X
BeiDou B2b (BDS-2) - B2I(OS), B2Q, combined.
Definition Code.hpp:167
@ E1X
GAL E1 - OS(B+C) (combined)
Definition Code.hpp:121
@ E6A
GAL E6 - PRS signal.
Definition Code.hpp:126
@ B2I
BeiDou B1-2 - B1I(OS)
Definition Code.hpp:155
@ E6C
GAL E6 - Pilot.
Definition Code.hpp:128
@ B7Q
BeiDou B2b (BDS-2) - B2Q.
Definition Code.hpp:166
@ J6Z
QZSS L6 - L6(D+E)
Definition Code.hpp:193
@ R6X
GLO G2a - L2CSI+L2OCp (combined)
Definition Code.hpp:150
@ G1S
GPS L1 - L1C-D (data)
Definition Code.hpp:96
@ I9C
IRNSS S - RS (pilot)
Definition Code.hpp:201
@ B2X
BeiDou B1-2 - B1I(OS), B1Q, combined.
Definition Code.hpp:157
@ B7Z
BeiDou B2b (BDS-3) - D+P.
Definition Code.hpp:170
@ E7Q
GAL E5b - Pilot.
Definition Code.hpp:132
@ B8P
BeiDou B2 (B2a+B2b) - Pilot(P)
Definition Code.hpp:172
@ B6I
BeiDou B3 - B3I.
Definition Code.hpp:161
@ B1X
BeiDou B1 - D+P.
Definition Code.hpp:154
@ E1C
GAL E1 - OS (pilot)
Definition Code.hpp:120
@ G2S
GPS L2 - L2C(M) (medium)
Definition Code.hpp:106
@ I9B
IRNSS S - RS (data)
Definition Code.hpp:200
@ E5X
GAL E5a - Combined.
Definition Code.hpp:125
@ J2S
QZSS L2 - L2C-code (medium)
Definition Code.hpp:180
@ R4A
GLO G1a - L1OCd (data)
Definition Code.hpp:145
friend bool operator<(const Code &lhs, const Code &rhs)
Less than comparison.
friend bool operator!=(const Code &lhs, const Enum &rhs)
Inequal compares values.
friend bool operator==(const Enum &lhs, const Code &rhs)
Equal compares values.
Code(Frequency_ freq)
Constructor from a frequency.
Frequency definition for different satellite systems.
Definition Frequency.hpp:59
Satellite System type.
Definition SatelliteSystem.hpp:43
std::size_t operator()(const NAV::Code &c) const
Hash function for signal code.
Definition Code.hpp:685