Use nested namespaces (C++17 feature)

This commit is contained in:
Mat Sutcliffe
2021-09-15 21:44:54 +01:00
parent 3f2e5b0b69
commit 57d32da826
1345 changed files with 146075 additions and 150376 deletions

View File

@@ -20,71 +20,68 @@
#include <QString>
#include <tuple>
namespace BlackMisc
namespace BlackMisc::Aviation
{
namespace Aviation
//! Value object encapsulating information of airport ICAO data.
class BLACKMISC_EXPORT CAirportIcaoCode : public CValueObject<CAirportIcaoCode>
{
//! Value object encapsulating information of airport ICAO data.
class BLACKMISC_EXPORT CAirportIcaoCode : public CValueObject<CAirportIcaoCode>
{
public:
//! Default constructor.
CAirportIcaoCode() {}
public:
//! Default constructor.
CAirportIcaoCode() {}
//! Constructor
CAirportIcaoCode(const QString &icaoCode) : m_icaoCode(CAirportIcaoCode::unifyAirportCode(icaoCode)) {}
//! Constructor
CAirportIcaoCode(const QString &icaoCode) : m_icaoCode(CAirportIcaoCode::unifyAirportCode(icaoCode)) {}
//! Constructor, needed to disambiguate implicit conversion from string literal.
CAirportIcaoCode(const char *icaoCode) : m_icaoCode(CAirportIcaoCode::unifyAirportCode(icaoCode)) {}
//! Constructor, needed to disambiguate implicit conversion from string literal.
CAirportIcaoCode(const char *icaoCode) : m_icaoCode(CAirportIcaoCode::unifyAirportCode(icaoCode)) {}
//! Is empty?
bool isEmpty() const { return this->m_icaoCode.isEmpty(); }
//! Is empty?
bool isEmpty() const { return this->m_icaoCode.isEmpty(); }
//! Has valid code?
bool hasValidIcaoCode(bool strict) const;
//! Has valid code?
bool hasValidIcaoCode(bool strict) const;
//! Get code.
const QString &asString() const { return this->m_icaoCode; }
//! Get code.
const QString &asString() const { return this->m_icaoCode; }
//! Get ICAO code
QString getIcaoCode() const { return m_icaoCode; }
//! Get ICAO code
QString getIcaoCode() const { return m_icaoCode; }
//! Equals callsign string?
bool equalsString(const QString &icaoCode) const;
//! Equals callsign string?
bool equalsString(const QString &icaoCode) const;
//! Unify code
static QString unifyAirportCode(const QString &icaoCode);
//! Unify code
static QString unifyAirportCode(const QString &icaoCode);
//! Valid ICAO designator
static bool isValidIcaoDesignator(const QString &icaoCode, bool strict);
//! Valid ICAO designator
static bool isValidIcaoDesignator(const QString &icaoCode, bool strict);
//! Containing numbers (normally indicator for small airfield/strip)
static bool containsNumbers(const QString &icaoCode);
//! Containing numbers (normally indicator for small airfield/strip)
static bool containsNumbers(const QString &icaoCode);
//! \copydoc BlackMisc::Mixin::String::toQString()
QString convertToQString(bool i18n = false) const;
//! \copydoc BlackMisc::Mixin::String::toQString()
QString convertToQString(bool i18n = false) const;
//! \copydoc BlackMisc::Mixin::Index::propertyByIndex
QVariant propertyByIndex(CPropertyIndexRef index) const;
//! \copydoc BlackMisc::Mixin::Index::propertyByIndex
QVariant propertyByIndex(CPropertyIndexRef index) const;
//! \copydoc BlackMisc::Mixin::Index::setPropertyByIndex
void setPropertyByIndex(CPropertyIndexRef index, const QVariant &variant);
//! \copydoc BlackMisc::Mixin::Index::setPropertyByIndex
void setPropertyByIndex(CPropertyIndexRef index, const QVariant &variant);
//! \copydoc BlackMisc::Mixin::Index::comparePropertyByIndex
int comparePropertyByIndex(CPropertyIndexRef index, const CAirportIcaoCode &compareValue) const;
//! \copydoc BlackMisc::Mixin::Index::comparePropertyByIndex
int comparePropertyByIndex(CPropertyIndexRef index, const CAirportIcaoCode &compareValue) const;
//! Valid code lenght
static bool validCodeLength(int l, bool strict);
//! Valid code lenght
static bool validCodeLength(int l, bool strict);
private:
QString m_icaoCode;
private:
QString m_icaoCode;
BLACK_METACLASS(
CAirportIcaoCode,
BLACK_METAMEMBER(icaoCode, 0, CaseInsensitiveComparison)
);
};
} // namespace
BLACK_METACLASS(
CAirportIcaoCode,
BLACK_METAMEMBER(icaoCode, 0, CaseInsensitiveComparison)
);
};
} // namespace
Q_DECLARE_METATYPE(BlackMisc::Aviation::CAirportIcaoCode)