20#ifndef FG_ADDONVERSION_HXX
21#define FG_ADDONVERSION_HXX
28#include <simgear/nasal/cppbind/NasalCallContext.hxx>
29#include <simgear/nasal/cppbind/NasalHash.hxx>
30#include <simgear/structure/SGReferenced.hxx>
57 int preReleaseNum = 0,
bool developmental =
false,
64 const std::tuple<AddonVersionSuffixPrereleaseType, int, bool, int>& t);
68 std::tuple<AddonVersionSuffixPrereleaseType, int, bool, int>
makeTuple()
const;
71 std::string
str()
const;
81 static std::tuple<AddonVersionSuffixPrereleaseType, std::string>
82 popPrereleaseTypeFromBeginning(
const std::string& s);
90 static std::tuple<AddonVersionSuffixPrereleaseType, int, bool, int>
91 suffixStringToTuple(
const std::string& suffix);
102 static std::tuple<bool, AddonVersionSuffixPrereleaseType, int, bool, int>
103 parseVersionSuffixString_noRegexp(
const std::string& suffix);
107 std::underlying_type<AddonVersionSuffixPrereleaseType>::type,
108 int, int,
int> genSortKey()
const;
146 explicit AddonVersion(
const std::tuple<int, int, int, AddonVersionSuffix>& t);
160 std::string
str()
const;
163 bool equal(
const nasal::CallContext& ctx)
const;
164 bool nonEqual(
const nasal::CallContext& ctx)
const;
165 bool lowerThan(
const nasal::CallContext& ctx)
const;
167 bool greaterThan(
const nasal::CallContext& ctx)
const;
170 static void setupGhost(nasal::Hash& addonsModule);
174 std::tuple<int, int, int, AddonVersionSuffix> makeTuple()
const;
176 static std::tuple<int, int, int, AddonVersionSuffix>
177 versionStringToTuple(
const std::string& versionStr);
188 static std::tuple<bool, int, int, int, AddonVersionSuffix>
189 parseVersionString_noRegexp(
const std::string& versionStr);
friend bool operator<(const AddonVersionSuffix &lhs, const AddonVersionSuffix &rhs)
AddonVersionSuffix(AddonVersionSuffixPrereleaseType _preReleaseType=AddonVersionSuffixPrereleaseType::none, int preReleaseNum=0, bool developmental=false, int devNum=0)
std::tuple< AddonVersionSuffixPrereleaseType, int, bool, int > makeTuple() const
friend bool operator==(const AddonVersionSuffix &lhs, const AddonVersionSuffix &rhs)
std::string suffixStr() const
bool lowerThan(const nasal::CallContext &ctx) const
bool nonEqual(const nasal::CallContext &ctx) const
friend bool operator==(const AddonVersion &lhs, const AddonVersion &rhs)
bool equal(const nasal::CallContext &ctx) const
bool lowerThanOrEqual(const nasal::CallContext &ctx) const
AddonVersionSuffix suffix() const
static void setupGhost(nasal::Hash &addonsModule)
bool greaterThan(const nasal::CallContext &ctx) const
bool greaterThanOrEqual(const nasal::CallContext &ctx) const
friend bool operator<(const AddonVersion &lhs, const AddonVersion &rhs)
AddonVersion(int major=0, int minor=0, int patchLevel=0, AddonVersionSuffix suffix=AddonVersionSuffix())
bool operator>(const AddonVersionSuffix &lhs, const AddonVersionSuffix &rhs)
bool operator<=(const AddonVersionSuffix &lhs, const AddonVersionSuffix &rhs)
bool operator>=(const AddonVersionSuffix &lhs, const AddonVersionSuffix &rhs)
std::ostream & operator<<(std::ostream &os, const Addon &addon)
AddonVersionSuffixPrereleaseType
bool operator!=(const AddonVersionSuffix &lhs, const AddonVersionSuffix &rhs)
FlightPlan.hxx - defines a full flight-plan object, including departure, cruise, arrival information ...