18#include <fmt/format.h>
20#include <nlohmann/json.hpp>
21using json = nlohmann::json;
32 GPS = 0x0000'0000'0000'00FF,
33 GAL = 0x0000'0000'0000'FF00,
34 GLO = 0x0000'0000'00FF'0000,
35 BDS = 0x0000'0000'FF00'0000,
36 QZSS = 0x0000'00FF'0000'0000,
38 SBAS = 0x00FF'0000'0000'0000,
104 constexpr explicit operator bool() =
delete;
108 constexpr explicit operator uint64_t()
const {
return uint64_t(value); }
112 explicit operator std::string()
const;
116 explicit operator char()
const;
151 [[nodiscard]] std::vector<SatelliteSystem>
toVector()
const;
154 static std::vector<SatelliteSystem>
GetAll();
378struct hash<NAV::SatelliteSystem_>
420#ifndef DOXYGEN_IGNORE
424struct fmt::formatter<NAV::
SatelliteSystem> : fmt::formatter<std::string>
430 template<
typename FormatContext>
433 return fmt::formatter<std::string>::format(std::string(satSys), ctx);
Code operator|(const Code::Enum &lhs, const Code::Enum &rhs)
Allows combining flags of the Code enum.
Code operator&(const Code::Enum &lhs, const Code::Enum &rhs)
Allows combining flags of the Code enum.
std::ostream & operator<<(std::ostream &os, const NAV::CycleSlipDetector::Result &obj)
Stream insertion operator overload.
nlohmann::json json
json namespace
Definition FlowManager.hpp:21
constexpr Frequency_ operator~(Frequency_ rhs)
Allows negating flags of the Frequency enum.
Definition Frequency.hpp:362
constexpr Frequency_ & operator&=(Frequency_ &lhs, const Frequency_ &rhs)
Allows combining flags of the Frequency enum.
Definition Frequency.hpp:326
constexpr Frequency_ & operator|=(Frequency_ &lhs, const Frequency_ &rhs)
Allows combining flags of the Frequency enum.
Definition Frequency.hpp:256
SatelliteSystem_
Satellite System enumeration.
Definition SatelliteSystem.hpp:30
@ GPS
Global Positioning System.
Definition SatelliteSystem.hpp:32
@ QZSS
Quasi-Zenith Satellite System.
Definition SatelliteSystem.hpp:36
@ GLO
Globalnaja nawigazionnaja sputnikowaja sistema (GLONASS)
Definition SatelliteSystem.hpp:34
@ GAL
Galileo.
Definition SatelliteSystem.hpp:33
@ SBAS
Satellite Based Augmentation System.
Definition SatelliteSystem.hpp:38
@ BDS
Beidou.
Definition SatelliteSystem.hpp:35
@ SatSys_None
No Satellite system.
Definition SatelliteSystem.hpp:31
@ IRNSS
Indian Regional Navigation Satellite System.
Definition SatelliteSystem.hpp:37
constexpr SatelliteSystem_ SatSys_All
All Systems.
Definition SatelliteSystem.hpp:370
Time System defintions.
Definition TimeSystem.hpp:39
bool operator==(const ImVec4 &lhs, const ImVec4 &rhs)
Equal comparison operator.
bool operator!=(const ImVec4 &lhs, const ImVec4 &rhs)
Unequal comparison operator.
Satellite System type.
Definition SatelliteSystem.hpp:43
static char ToChar(SatelliteSystem satSys)
Get char representation of the specified Satellite System.
TimeSystem getTimeSystem() const
Get the Time System of this Satellite System.
char toChar() const
Returns the char representation of the object.
Enum toEnumeration() const
Returns a continuous enumeration of the object.
constexpr bool operator<(const SatelliteSystem &rhs) const
Less than comparison (needed for map)
Definition SatelliteSystem.hpp:99
static SatelliteSystem fromChar(char typeChar)
Construct new object from char.
static std::vector< SatelliteSystem > ToVector(SatelliteSystem satSys)
Get a vector representation of the specified Satellite Systems.
constexpr SatelliteSystem & operator=(SatelliteSystem_ v)
Assignment operator from Value type.
Definition SatelliteSystem.hpp:88
constexpr SatelliteSystem()=default
Default Constructor.
static std::vector< uint16_t > GetSatellitesForSatelliteSystem(SatelliteSystem satSys)
Get a list of satellites in the constellation.
SatelliteSystem(Enum enumeration)
Implicit Constructor from Enum type.
Definition SatelliteSystem.hpp:69
static std::vector< SatelliteSystem > GetAll()
Returns a list with all possible satellite systems.
static Enum ToEnumeration(SatelliteSystem satSys)
Get the continuous enumeration of the specified Satellite System.
static TimeSystem GetTimeSystemForSatelliteSystem(SatelliteSystem satSys)
Get the Time System of the specified Satellite System.
friend constexpr bool operator==(const SatelliteSystem &lhs, const SatelliteSystem &rhs)
Equal compares values.
Definition SatelliteSystem.hpp:335
static SatelliteSystem fromEnum(Enum enumeration)
Constructs a new object from continuous enumeration.
static SatelliteSystem fromString(const std::string &typeString)
Construct new object from std::string.
Enum
Satellite System enumeration with continuous range. Not usable as a mask.
Definition SatelliteSystem.hpp:46
@ Enum_GPS
Global Positioning System.
Definition SatelliteSystem.hpp:47
@ Enum_None
No Satellite system.
Definition SatelliteSystem.hpp:55
@ Enum_GLO
Globalnaja nawigazionnaja sputnikowaja sistema (GLONASS)
Definition SatelliteSystem.hpp:49
@ Enum_GAL
Galileo.
Definition SatelliteSystem.hpp:48
@ Enum_IRNSS
Indian Regional Navigation Satellite System.
Definition SatelliteSystem.hpp:52
@ Enum_BDS
Beidou.
Definition SatelliteSystem.hpp:50
@ Enum_QZSS
Quasi-Zenith Satellite System.
Definition SatelliteSystem.hpp:51
@ Enum_SBAS
Satellite Based Augmentation System.
Definition SatelliteSystem.hpp:53
@ Enum_COUNT
Count variable.
Definition SatelliteSystem.hpp:54
constexpr SatelliteSystem(SatelliteSystem_ type)
Implicit Constructor from Value type.
Definition SatelliteSystem.hpp:63
std::vector< SatelliteSystem > toVector() const
Get a vector representation of the specified Satellite Systems.
std::vector< uint16_t > getSatellites() const
Get a list of satellites in the constellation.
std::size_t operator()(const NAV::SatelliteSystem &satSys) const
Hash function for SatelliteSystem.
Definition SatelliteSystem.hpp:413
std::size_t operator()(const NAV::SatelliteSystem_ &satSys) const
Hash function for SatelliteSystem.
Definition SatelliteSystem.hpp:382