Use C++17 nested namespaces

This commit is contained in:
Lars Toenning
2022-04-29 22:31:49 +02:00
parent d1f41daba2
commit f5d3d59a86
6 changed files with 154 additions and 173 deletions

View File

@@ -23,75 +23,71 @@
class QStringList; class QStringList;
BLACK_DECLARE_VALUEOBJECT_MIXINS(BlackMisc::Aviation, CSelcal) BLACK_DECLARE_VALUEOBJECT_MIXINS(BlackMisc::Aviation, CSelcal)
namespace BlackMisc::PhysicalQuantities { class CFrequency; }
namespace BlackMisc namespace BlackMisc::Aviation
{ {
namespace PhysicalQuantities { class CFrequency; } /*!
namespace Aviation * Value object for SELCAL.
* \see http://en.wikipedia.org/wiki/SELCAL
* \see http://www.asri.aero/our-services/selcal/ User Guide
*/
class BLACKMISC_EXPORT CSelcal : public CValueObject<CSelcal>
{ {
/*! public:
* Value object for SELCAL. //! Default constructor.
* \see http://en.wikipedia.org/wiki/SELCAL CSelcal() = default;
* \see http://www.asri.aero/our-services/selcal/ User Guide
*/
class BLACKMISC_EXPORT CSelcal : public CValueObject<CSelcal>
{
public:
//! Default constructor.
CSelcal() = default;
//! Constructor. //! Constructor.
CSelcal(const QString &code) : m_code(unifyCode(code)) {} CSelcal(const QString &code) : m_code(unifyCode(code)) {}
//! Constructor needed to disambiguate implicit conversion from string literal. //! Constructor needed to disambiguate implicit conversion from string literal.
CSelcal(const char *code) : m_code(unifyCode(code)) {} CSelcal(const char *code) : m_code(unifyCode(code)) {}
//! Is valid? //! Is valid?
bool isValid() const { return isValidCode(m_code); } bool isValid() const { return isValidCode(m_code); }
//! Get SELCAL code //! Get SELCAL code
const QString &getCode() const { return m_code; } const QString &getCode() const { return m_code; }
//! List of 4 frequencies, if list is empty SELCAL code is not valid //! List of 4 frequencies, if list is empty SELCAL code is not valid
//! \return either 4 frequencies, or empty list //! \return either 4 frequencies, or empty list
QList<PhysicalQuantities::CFrequency> getFrequencies() const; QList<PhysicalQuantities::CFrequency> getFrequencies() const;
//! Equals given string //! Equals given string
bool equalsString(const QString &code) const; bool equalsString(const QString &code) const;
//! \copydoc BlackMisc::Mixin::String::toQString //! \copydoc BlackMisc::Mixin::String::toQString
QString convertToQString(bool i18n = false) const; QString convertToQString(bool i18n = false) const;
//! Valid SELCAL characters //! Valid SELCAL characters
static const QString &validCharacters(); static const QString &validCharacters();
//! Is given character a valid SELCAL characer? //! Is given character a valid SELCAL characer?
static bool isValidCharacter(QChar c); static bool isValidCharacter(QChar c);
//! Valid SELCAL code? //! Valid SELCAL code?
static bool isValidCode(const QString &code); static bool isValidCode(const QString &code);
//! All valid code pairs: AB, AC, AD ... //! All valid code pairs: AB, AC, AD ...
static const QStringList &codePairs(); static const QStringList &codePairs();
//! Unify SELCAL code by removing illegal characters //! Unify SELCAL code by removing illegal characters
static QString unifyCode(const QString &selcalCandidate); static QString unifyCode(const QString &selcalCandidate);
private: private:
//! Audio frequency for character //! Audio frequency for character
static const PhysicalQuantities::CFrequency &audioFrequencyEquivalent(QChar c); static const PhysicalQuantities::CFrequency &audioFrequencyEquivalent(QChar c);
//! All audio frequencies //! All audio frequencies
static const QList<PhysicalQuantities::CFrequency> &audioFrequencyEquivalents(); static const QList<PhysicalQuantities::CFrequency> &audioFrequencyEquivalents();
QString m_code; QString m_code;
BLACK_METACLASS( BLACK_METACLASS(
CSelcal, CSelcal,
BLACK_METAMEMBER(code) BLACK_METAMEMBER(code)
); );
}; };
} // namespace
} // namespace } // namespace
Q_DECLARE_METATYPE(BlackMisc::Aviation::CSelcal) Q_DECLARE_METATYPE(BlackMisc::Aviation::CSelcal)

View File

@@ -9,7 +9,6 @@
#include "blackmisc/db/registermetadatadb.h" #include "blackmisc/db/registermetadatadb.h"
#include "blackmisc/variant.h" #include "blackmisc/variant.h"
namespace BlackMisc
// DB headers // DB headers
#include "blackmisc/db/dbinfolist.h" #include "blackmisc/db/dbinfolist.h"
#include "blackmisc/db/dbinfo.h" #include "blackmisc/db/dbinfo.h"
@@ -20,20 +19,18 @@ namespace BlackMisc
#include "blackmisc/db/artifactlist.h" #include "blackmisc/db/artifactlist.h"
#include "blackmisc/db/updateinfo.h" #include "blackmisc/db/updateinfo.h"
namespace BlackMisc::Db
{ {
namespace Db void registerMetadata()
{ {
void registerMetadata() CDbFlags::registerMetadata();
{ CDbInfo::registerMetadata();
CDbFlags::registerMetadata(); CDbInfoList::registerMetadata();
CDbInfo::registerMetadata(); CArtifact::registerMetadata();
CDbInfoList::registerMetadata(); CArtifactList::registerMetadata();
CArtifact::registerMetadata(); CDistribution::registerMetadata();
CArtifactList::registerMetadata(); CDistributionList::registerMetadata();
CDistribution::registerMetadata(); CUpdateInfo::registerMetadata();
CDistributionList::registerMetadata();
CUpdateInfo::registerMetadata();
}
} }
} // ns } // ns

View File

@@ -8,7 +8,6 @@
#include "blackmisc/geo/registermetadatageo.h" #include "blackmisc/geo/registermetadatageo.h"
namespace BlackMisc
// Geo headers // Geo headers
#include "blackmisc/geo/latitude.h" #include "blackmisc/geo/latitude.h"
#include "blackmisc/geo/longitude.h" #include "blackmisc/geo/longitude.h"
@@ -16,17 +15,15 @@ namespace BlackMisc
#include "blackmisc/geo/coordinategeodeticlist.h" #include "blackmisc/geo/coordinategeodeticlist.h"
#include "blackmisc/geo/elevationplane.h" #include "blackmisc/geo/elevationplane.h"
namespace BlackMisc::Geo
{ {
namespace Geo void registerMetadata()
{ {
void registerMetadata() CCoordinateGeodetic::registerMetadata();
{ CCoordinateGeodeticList::registerMetadata();
CCoordinateGeodetic::registerMetadata(); CLatitude::registerMetadata();
CCoordinateGeodeticList::registerMetadata(); CLongitude::registerMetadata();
CLatitude::registerMetadata(); CElevationPlane::registerMetadata();
CLongitude::registerMetadata();
CElevationPlane::registerMetadata();
}
} }
} // ns } // ns

View File

@@ -16,22 +16,19 @@
#include <QDBusMetaType> #include <QDBusMetaType>
namespace BlackMisc namespace BlackMisc::Input
{ {
namespace Input void registerMetadata()
{ {
void registerMetadata() CActionHotkey::registerMetadata();
{ CActionHotkeyList::registerMetadata();
CActionHotkey::registerMetadata(); CHotkeyCombination::registerMetadata();
CActionHotkeyList::registerMetadata(); CJoystickButton::registerMetadata();
CHotkeyCombination::registerMetadata(); CJoystickButtonList::registerMetadata();
CJoystickButton::registerMetadata(); CKeyboardKey::registerMetadata();
CJoystickButtonList::registerMetadata(); CKeyboardKeyList::registerMetadata();
CKeyboardKey::registerMetadata(); qDBusRegisterMetaType<KeyCode>();
CKeyboardKeyList::registerMetadata(); qRegisterMetaTypeStreamOperators<KeyCode>();
qDBusRegisterMetaType<KeyCode>();
qRegisterMetaTypeStreamOperators<KeyCode>();
}
} }
} // ns } // ns

View File

@@ -40,74 +40,71 @@ using namespace BlackMisc::Simulation::Fsx;
using namespace BlackMisc::Simulation::FsCommon; using namespace BlackMisc::Simulation::FsCommon;
using namespace BlackMisc::Simulation::Settings; using namespace BlackMisc::Simulation::Settings;
namespace BlackMisc namespace BlackMisc::Simulation
{ {
namespace Simulation void registerMetadata()
{ {
void registerMetadata() CAircraftCfgEntries::registerMetadata();
{ CAircraftCfgEntriesList::registerMetadata();
CAircraftCfgEntries::registerMetadata(); CAircraftModel::registerMetadata();
CAircraftCfgEntriesList::registerMetadata(); CAircraftModelList::registerMetadata();
CAircraftModel::registerMetadata(); CAirspaceAircraftSnapshot::registerMetadata();
CAircraftModelList::registerMetadata(); CDistributor::registerMetadata();
CAirspaceAircraftSnapshot::registerMetadata(); CDistributorList::registerMetadata();
CDistributor::registerMetadata(); CDistributorListPreferences::registerMetadata();
CDistributorList::registerMetadata(); CInterpolationAndRenderingSetupPerCallsign::registerMetadata();
CDistributorListPreferences::registerMetadata(); CInterpolationAndRenderingSetupGlobal::registerMetadata();
CInterpolationAndRenderingSetupPerCallsign::registerMetadata(); CInterpolationSetupList::registerMetadata();
CInterpolationAndRenderingSetupGlobal::registerMetadata(); CMatchingStatisticsEntry::registerMetadata();
CInterpolationSetupList::registerMetadata(); CMatchingStatistics::registerMetadata();
CMatchingStatisticsEntry::registerMetadata(); CModelSettings::registerMetadata();
CMatchingStatistics::registerMetadata(); CSimConnectUtilities::registerMetadata();
CModelSettings::registerMetadata(); CSimulatedAircraft::registerMetadata();
CSimConnectUtilities::registerMetadata(); CSimulatedAircraftList::registerMetadata();
CSimulatedAircraft::registerMetadata(); CSimulatorInfo::registerMetadata();
CSimulatedAircraftList::registerMetadata(); CSimulatorInfoList::registerMetadata();
CSimulatorInfo::registerMetadata(); CSimulatorInternals::registerMetadata();
CSimulatorInfoList::registerMetadata(); CSimulatorMessagesSettings::registerMetadata();
CSimulatorInternals::registerMetadata(); CSimulatorPluginInfo::registerMetadata();
CSimulatorMessagesSettings::registerMetadata(); CSimulatorPluginInfoList::registerMetadata();
CSimulatorPluginInfo::registerMetadata(); CSimulatorSettings::registerMetadata();
CSimulatorPluginInfoList::registerMetadata(); CFsxP3DSettings::registerMetadata();
CSimulatorSettings::registerMetadata(); CSwiftPluginSettings::registerMetadata();
CFsxP3DSettings::registerMetadata(); CVPilotModelRule::registerMetadata();
CSwiftPluginSettings::registerMetadata(); CVPilotModelRuleSet::registerMetadata();
CVPilotModelRule::registerMetadata(); CAircraftMatcherSetup::registerMetadata();
CVPilotModelRuleSet::registerMetadata(); CXSwiftBusSettings::registerMetadata();
CAircraftMatcherSetup::registerMetadata();
CXSwiftBusSettings::registerMetadata();
qRegisterMetaType<CSimulatorSettings::CGSource>(); qRegisterMetaType<CSimulatorSettings::CGSource>();
qRegisterMetaType<CAircraftMatcherSetup::MatchingAlgorithm>(); qRegisterMetaType<CAircraftMatcherSetup::MatchingAlgorithm>();
qRegisterMetaType<CAircraftMatcherSetup::MatchingMode>(); qRegisterMetaType<CAircraftMatcherSetup::MatchingMode>();
qRegisterMetaType<CAircraftMatcherSetup::MatchingModeFlag>(); qRegisterMetaType<CAircraftMatcherSetup::MatchingModeFlag>();
qRegisterMetaType<CAircraftMatcherSetup::PickSimilarStrategy>(); qRegisterMetaType<CAircraftMatcherSetup::PickSimilarStrategy>();
qRegisterMetaType<MatchingLog>(); qRegisterMetaType<MatchingLog>();
qRegisterMetaType<MatchingLogFlag>(); qRegisterMetaType<MatchingLogFlag>();
qRegisterMetaType<ReverseLookupLoggingFlag>(); qRegisterMetaType<ReverseLookupLoggingFlag>();
qRegisterMetaType<ReverseLookupLogging>(); qRegisterMetaType<ReverseLookupLogging>();
// the ones generate with Q_DECLARE_FLAGS and no streamin operator fail here // the ones generate with Q_DECLARE_FLAGS and no streamin operator fail here
qDBusRegisterMetaType<CSimulatorSettings::CGSource>(); qDBusRegisterMetaType<CSimulatorSettings::CGSource>();
qDBusRegisterMetaType<CInterpolationAndRenderingSetupBase::InterpolatorMode>(); qDBusRegisterMetaType<CInterpolationAndRenderingSetupBase::InterpolatorMode>();
qDBusRegisterMetaType<CAircraftMatcherSetup::MatchingAlgorithm>(); qDBusRegisterMetaType<CAircraftMatcherSetup::MatchingAlgorithm>();
qDBusRegisterMetaType<CAircraftMatcherSetup::MatchingModeFlag>(); qDBusRegisterMetaType<CAircraftMatcherSetup::MatchingModeFlag>();
qDBusRegisterMetaType<CAircraftMatcherSetup::PickSimilarStrategy>(); qDBusRegisterMetaType<CAircraftMatcherSetup::PickSimilarStrategy>();
qDBusRegisterMetaType<MatchingLogFlag>(); qDBusRegisterMetaType<MatchingLogFlag>();
qDBusRegisterMetaType<MatchingLog>(); qDBusRegisterMetaType<MatchingLog>();
qDBusRegisterMetaType<ReverseLookupLoggingFlag>(); qDBusRegisterMetaType<ReverseLookupLoggingFlag>();
qDBusRegisterMetaType<ReverseLookupLogging>(); qDBusRegisterMetaType<ReverseLookupLogging>();
qRegisterMetaTypeStreamOperators<CSimulatorSettings::CGSource>(); qRegisterMetaTypeStreamOperators<CSimulatorSettings::CGSource>();
qRegisterMetaTypeStreamOperators<CInterpolationAndRenderingSetupBase::InterpolatorMode>(); qRegisterMetaTypeStreamOperators<CInterpolationAndRenderingSetupBase::InterpolatorMode>();
qRegisterMetaTypeStreamOperators<CAircraftMatcherSetup::MatchingAlgorithm>(); qRegisterMetaTypeStreamOperators<CAircraftMatcherSetup::MatchingAlgorithm>();
qRegisterMetaTypeStreamOperators<CAircraftMatcherSetup::MatchingModeFlag>(); qRegisterMetaTypeStreamOperators<CAircraftMatcherSetup::MatchingModeFlag>();
qRegisterMetaTypeStreamOperators<MatchingLogFlag>(); qRegisterMetaTypeStreamOperators<MatchingLogFlag>();
qRegisterMetaTypeStreamOperators<MatchingLog>(); qRegisterMetaTypeStreamOperators<MatchingLog>();
qRegisterMetaTypeStreamOperators<CAircraftMatcherSetup::PickSimilarStrategy>(); qRegisterMetaTypeStreamOperators<CAircraftMatcherSetup::PickSimilarStrategy>();
qRegisterMetaTypeStreamOperators<ReverseLookupLoggingFlag>(); qRegisterMetaTypeStreamOperators<ReverseLookupLoggingFlag>();
qRegisterMetaTypeStreamOperators<ReverseLookupLogging>(); qRegisterMetaTypeStreamOperators<ReverseLookupLogging>();
}
} }
} // ns } // ns

View File

@@ -10,7 +10,6 @@
#include "blackmisc/valueobject.h" #include "blackmisc/valueobject.h"
#include "blackmisc/variant.h" #include "blackmisc/variant.h"
namespace BlackMisc
// Weather headers // Weather headers
#include "blackmisc/weather/cloudlayer.h" #include "blackmisc/weather/cloudlayer.h"
#include "blackmisc/weather/cloudlayerlist.h" #include "blackmisc/weather/cloudlayerlist.h"
@@ -30,29 +29,27 @@ namespace BlackMisc
#include "blackmisc/weather/windlayer.h" #include "blackmisc/weather/windlayer.h"
#include "blackmisc/weather/windlayerlist.h" #include "blackmisc/weather/windlayerlist.h"
namespace BlackMisc::Weather
{ {
namespace Weather void registerMetadata()
{ {
void registerMetadata() CCloudLayer::registerMetadata();
{ CCloudLayerList::registerMetadata();
CCloudLayer::registerMetadata(); CGridPoint::registerMetadata();
CCloudLayerList::registerMetadata(); CMetar::registerMetadata();
CGridPoint::registerMetadata(); CMetarList::registerMetadata();
CMetar::registerMetadata(); CPresentWeather::registerMetadata();
CMetarList::registerMetadata(); CPresentWeatherList::registerMetadata();
CPresentWeather::registerMetadata(); CTemperatureLayer::registerMetadata();
CPresentWeatherList::registerMetadata(); CTemperatureLayerList::registerMetadata();
CTemperatureLayer::registerMetadata(); CVisibilityLayer::registerMetadata();
CTemperatureLayerList::registerMetadata(); CVisibilityLayerList::registerMetadata();
CVisibilityLayer::registerMetadata(); CWeatherDataPluginInfo::registerMetadata();
CVisibilityLayerList::registerMetadata(); CWeatherDataPluginInfoList::registerMetadata();
CWeatherDataPluginInfo::registerMetadata(); CWeatherGrid::registerMetadata();
CWeatherDataPluginInfoList::registerMetadata(); CWeatherScenario::registerMetadata();
CWeatherGrid::registerMetadata(); CWindLayer::registerMetadata();
CWeatherScenario::registerMetadata(); CWindLayerList::registerMetadata();
CWindLayer::registerMetadata();
CWindLayerList::registerMetadata();
}
} }
} // ns } // ns