Removed Mixin::MetaTypeAndQList.

This commit is contained in:
Mathew Sutcliffe
2015-05-31 17:22:24 +01:00
parent 47cac09e81
commit 62418931b0
6 changed files with 26 additions and 48 deletions

View File

@@ -26,7 +26,7 @@ namespace BlackMisc
*/ */
class BLACKMISC_EXPORT CAltitude : class BLACKMISC_EXPORT CAltitude :
public PhysicalQuantities::CLength, public PhysicalQuantities::CLength,
public Mixin::MetaTypeAndQList<CAltitude>, public Mixin::MetaType<CAltitude>,
public Mixin::EqualsByTuple<CAltitude>, public Mixin::EqualsByTuple<CAltitude>,
public Mixin::CompareByTuple<CAltitude>, public Mixin::CompareByTuple<CAltitude>,
public Mixin::HashByTuple<CAltitude>, public Mixin::HashByTuple<CAltitude>,
@@ -40,7 +40,7 @@ namespace BlackMisc
//! Base type //! Base type
using base_type = PhysicalQuantities::CLength; using base_type = PhysicalQuantities::CLength;
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CAltitude) BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAltitude)
BLACKMISC_DECLARE_USING_MIXIN_STRING(CAltitude) BLACKMISC_DECLARE_USING_MIXIN_STRING(CAltitude)
BLACKMISC_DECLARE_USING_MIXIN_DBUS(CAltitude) BLACKMISC_DECLARE_USING_MIXIN_DBUS(CAltitude)
BLACKMISC_DECLARE_USING_MIXIN_JSON(CAltitude) BLACKMISC_DECLARE_USING_MIXIN_JSON(CAltitude)

View File

@@ -26,7 +26,7 @@ namespace BlackMisc
*/ */
class BLACKMISC_EXPORT CHeading : class BLACKMISC_EXPORT CHeading :
public PhysicalQuantities::CAngle, public PhysicalQuantities::CAngle,
public Mixin::MetaTypeAndQList<CHeading>, public Mixin::MetaType<CHeading>,
public Mixin::EqualsByTuple<CHeading>, public Mixin::EqualsByTuple<CHeading>,
public Mixin::CompareByTuple<CHeading>, public Mixin::CompareByTuple<CHeading>,
public Mixin::HashByTuple<CHeading>, public Mixin::HashByTuple<CHeading>,
@@ -39,7 +39,7 @@ namespace BlackMisc
//! Base type //! Base type
using base_type = PhysicalQuantities::CAngle; using base_type = PhysicalQuantities::CAngle;
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CHeading) BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CHeading)
BLACKMISC_DECLARE_USING_MIXIN_STRING(CHeading) BLACKMISC_DECLARE_USING_MIXIN_STRING(CHeading)
BLACKMISC_DECLARE_USING_MIXIN_DBUS(CHeading) BLACKMISC_DECLARE_USING_MIXIN_DBUS(CHeading)
BLACKMISC_DECLARE_USING_MIXIN_JSON(CHeading) BLACKMISC_DECLARE_USING_MIXIN_JSON(CHeading)

View File

@@ -27,7 +27,7 @@ namespace BlackMisc
*/ */
class BLACKMISC_EXPORT CTrack : class BLACKMISC_EXPORT CTrack :
public PhysicalQuantities::CAngle, public PhysicalQuantities::CAngle,
public Mixin::MetaTypeAndQList<CTrack>, public Mixin::MetaType<CTrack>,
public Mixin::EqualsByTuple<CTrack>, public Mixin::EqualsByTuple<CTrack>,
public Mixin::CompareByTuple<CTrack>, public Mixin::CompareByTuple<CTrack>,
public Mixin::HashByTuple<CTrack>, public Mixin::HashByTuple<CTrack>,
@@ -40,7 +40,7 @@ namespace BlackMisc
//! Base type //! Base type
using base_type = PhysicalQuantities::CAngle; using base_type = PhysicalQuantities::CAngle;
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CTrack) BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CTrack)
BLACKMISC_DECLARE_USING_MIXIN_STRING(CTrack) BLACKMISC_DECLARE_USING_MIXIN_STRING(CTrack)
BLACKMISC_DECLARE_USING_MIXIN_DBUS(CTrack) BLACKMISC_DECLARE_USING_MIXIN_DBUS(CTrack)
BLACKMISC_DECLARE_USING_MIXIN_JSON(CTrack) BLACKMISC_DECLARE_USING_MIXIN_JSON(CTrack)

View File

@@ -46,7 +46,7 @@ namespace BlackMisc
public Mixin::DBusOperators<CPhysicalQuantity<MU, PQ>>, public Mixin::DBusOperators<CPhysicalQuantity<MU, PQ>>,
public Mixin::JsonOperators<CPhysicalQuantity<MU, PQ>>, public Mixin::JsonOperators<CPhysicalQuantity<MU, PQ>>,
public Mixin::Index<PQ>, public Mixin::Index<PQ>,
public Mixin::MetaTypeAndQList<PQ>, public Mixin::MetaType<PQ>,
public Mixin::String<PQ>, public Mixin::String<PQ>,
public Mixin::Icon<CPhysicalQuantity<MU, PQ>> public Mixin::Icon<CPhysicalQuantity<MU, PQ>>
{ {

View File

@@ -37,7 +37,7 @@ namespace BlackMisc
//! Specialized class for distance units (meter, foot, nautical miles). //! Specialized class for distance units (meter, foot, nautical miles).
class BLACKMISC_EXPORT CLengthUnit : class BLACKMISC_EXPORT CLengthUnit :
public CMeasurementUnit, public CMeasurementUnit,
public Mixin::MetaTypeAndQList<CLengthUnit>, public Mixin::MetaType<CLengthUnit>,
public Mixin::DBusOperators<CLengthUnit>, public Mixin::DBusOperators<CLengthUnit>,
public Mixin::Index<CLengthUnit> public Mixin::Index<CLengthUnit>
{ {
@@ -62,7 +62,7 @@ namespace BlackMisc
//! Base type //! Base type
using base_type = CMeasurementUnit; using base_type = CMeasurementUnit;
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CLengthUnit) BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CLengthUnit)
//! Default constructor, required for Qt Metasystem //! Default constructor, required for Qt Metasystem
CLengthUnit() : CMeasurementUnit(defaultUnit()) {} CLengthUnit() : CMeasurementUnit(defaultUnit()) {}
@@ -156,7 +156,7 @@ namespace BlackMisc
//! Specialized class for angles (degrees, radian). //! Specialized class for angles (degrees, radian).
class BLACKMISC_EXPORT CAngleUnit : class BLACKMISC_EXPORT CAngleUnit :
public CMeasurementUnit, public CMeasurementUnit,
public Mixin::MetaTypeAndQList<CAngleUnit>, public Mixin::MetaType<CAngleUnit>,
public Mixin::DBusOperators<CAngleUnit>, public Mixin::DBusOperators<CAngleUnit>,
public Mixin::Index<CAngleUnit> public Mixin::Index<CAngleUnit>
{ {
@@ -177,7 +177,7 @@ namespace BlackMisc
//! Base type //! Base type
using base_type = CMeasurementUnit; using base_type = CMeasurementUnit;
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CAngleUnit) BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAngleUnit)
//! Default constructor, required for Qt Metasystem //! Default constructor, required for Qt Metasystem
CAngleUnit() : CMeasurementUnit(defaultUnit()) {} CAngleUnit() : CMeasurementUnit(defaultUnit()) {}
@@ -255,7 +255,7 @@ namespace BlackMisc
//! Specialized class for frequency (hertz, mega hertz, kilo hertz). //! Specialized class for frequency (hertz, mega hertz, kilo hertz).
class BLACKMISC_EXPORT CFrequencyUnit : class BLACKMISC_EXPORT CFrequencyUnit :
public CMeasurementUnit, public CMeasurementUnit,
public Mixin::MetaTypeAndQList<CFrequencyUnit>, public Mixin::MetaType<CFrequencyUnit>,
public Mixin::DBusOperators<CFrequencyUnit>, public Mixin::DBusOperators<CFrequencyUnit>,
public Mixin::Index<CFrequencyUnit> public Mixin::Index<CFrequencyUnit>
{ {
@@ -275,7 +275,7 @@ namespace BlackMisc
//! Base type //! Base type
using base_type = CMeasurementUnit; using base_type = CMeasurementUnit;
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CFrequencyUnit) BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CFrequencyUnit)
//! Default constructor, required for Qt Metasystem //! Default constructor, required for Qt Metasystem
CFrequencyUnit() : CMeasurementUnit(defaultUnit()) {} CFrequencyUnit() : CMeasurementUnit(defaultUnit()) {}
@@ -345,7 +345,7 @@ namespace BlackMisc
//! Specialized class for mass units (kg, lbs). //! Specialized class for mass units (kg, lbs).
class BLACKMISC_EXPORT CMassUnit : class BLACKMISC_EXPORT CMassUnit :
public CMeasurementUnit, public CMeasurementUnit,
public Mixin::MetaTypeAndQList<CMassUnit>, public Mixin::MetaType<CMassUnit>,
public Mixin::DBusOperators<CMassUnit>, public Mixin::DBusOperators<CMassUnit>,
public Mixin::Index<CMassUnit> public Mixin::Index<CMassUnit>
{ {
@@ -366,7 +366,7 @@ namespace BlackMisc
//! Base type //! Base type
using base_type = CMeasurementUnit; using base_type = CMeasurementUnit;
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CMassUnit) BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CMassUnit)
//! Default constructor, required for Qt Metasystem //! Default constructor, required for Qt Metasystem
CMassUnit() : CMeasurementUnit(defaultUnit()) {} CMassUnit() : CMeasurementUnit(defaultUnit()) {}
@@ -444,7 +444,7 @@ namespace BlackMisc
//! Specialized class for pressure (psi, hPa, bar). //! Specialized class for pressure (psi, hPa, bar).
class BLACKMISC_EXPORT CPressureUnit : class BLACKMISC_EXPORT CPressureUnit :
public CMeasurementUnit, public CMeasurementUnit,
public Mixin::MetaTypeAndQList<CPressureUnit>, public Mixin::MetaType<CPressureUnit>,
public Mixin::DBusOperators<CPressureUnit>, public Mixin::DBusOperators<CPressureUnit>,
public Mixin::Index<CPressureUnit> public Mixin::Index<CPressureUnit>
{ {
@@ -467,7 +467,7 @@ namespace BlackMisc
//! Base type //! Base type
using base_type = CMeasurementUnit; using base_type = CMeasurementUnit;
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CPressureUnit) BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CPressureUnit)
//! Default constructor, required for Qt Metasystem //! Default constructor, required for Qt Metasystem
CPressureUnit() : CMeasurementUnit(defaultUnit()) {} CPressureUnit() : CMeasurementUnit(defaultUnit()) {}
@@ -560,7 +560,7 @@ namespace BlackMisc
//! Specialized class for temperatur units (kelvin, centidegree). //! Specialized class for temperatur units (kelvin, centidegree).
class BLACKMISC_EXPORT CTemperatureUnit : class BLACKMISC_EXPORT CTemperatureUnit :
public CMeasurementUnit, public CMeasurementUnit,
public Mixin::MetaTypeAndQList<CTemperatureUnit>, public Mixin::MetaType<CTemperatureUnit>,
public Mixin::DBusOperators<CTemperatureUnit>, public Mixin::DBusOperators<CTemperatureUnit>,
public Mixin::Index<CTemperatureUnit> public Mixin::Index<CTemperatureUnit>
{ {
@@ -589,7 +589,7 @@ namespace BlackMisc
//! Base type //! Base type
using base_type = CMeasurementUnit; using base_type = CMeasurementUnit;
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CTemperatureUnit) BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CTemperatureUnit)
//! Default constructor, required for Qt Metasystem //! Default constructor, required for Qt Metasystem
CTemperatureUnit() : CMeasurementUnit(defaultUnit()) {} CTemperatureUnit() : CMeasurementUnit(defaultUnit()) {}
@@ -651,7 +651,7 @@ namespace BlackMisc
//! Specialized class for speed units (m/s, ft/s, NM/h). //! Specialized class for speed units (m/s, ft/s, NM/h).
class BLACKMISC_EXPORT CSpeedUnit : class BLACKMISC_EXPORT CSpeedUnit :
public CMeasurementUnit, public CMeasurementUnit,
public Mixin::MetaTypeAndQList<CSpeedUnit>, public Mixin::MetaType<CSpeedUnit>,
public Mixin::DBusOperators<CSpeedUnit>, public Mixin::DBusOperators<CSpeedUnit>,
public Mixin::Index<CSpeedUnit> public Mixin::Index<CSpeedUnit>
{ {
@@ -674,7 +674,7 @@ namespace BlackMisc
//! Base type //! Base type
using base_type = CMeasurementUnit; using base_type = CMeasurementUnit;
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CSpeedUnit) BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CSpeedUnit)
//! Default constructor, required for Qt Metasystem //! Default constructor, required for Qt Metasystem
CSpeedUnit() : CMeasurementUnit(defaultUnit()) {} CSpeedUnit() : CMeasurementUnit(defaultUnit()) {}
@@ -760,7 +760,7 @@ namespace BlackMisc
//! Specialized class for time units (ms, hour, min). //! Specialized class for time units (ms, hour, min).
class BLACKMISC_EXPORT CTimeUnit : class BLACKMISC_EXPORT CTimeUnit :
public CMeasurementUnit, public CMeasurementUnit,
public Mixin::MetaTypeAndQList<CTimeUnit>, public Mixin::MetaType<CTimeUnit>,
public Mixin::DBusOperators<CTimeUnit>, public Mixin::DBusOperators<CTimeUnit>,
public Mixin::Index<CTimeUnit> public Mixin::Index<CTimeUnit>
{ {
@@ -783,7 +783,7 @@ namespace BlackMisc
//! Base type //! Base type
using base_type = CMeasurementUnit; using base_type = CMeasurementUnit;
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CTimeUnit) BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CTimeUnit)
//! Default constructor, required for Qt Metasystem //! Default constructor, required for Qt Metasystem
CTimeUnit() : CMeasurementUnit(defaultUnit()) {} CTimeUnit() : CMeasurementUnit(defaultUnit()) {}
@@ -893,7 +893,7 @@ namespace BlackMisc
//! Specialized class for acceleration units (m/s2, ft/s2). //! Specialized class for acceleration units (m/s2, ft/s2).
class BLACKMISC_EXPORT CAccelerationUnit : class BLACKMISC_EXPORT CAccelerationUnit :
public CMeasurementUnit, public CMeasurementUnit,
public Mixin::MetaTypeAndQList<CAccelerationUnit>, public Mixin::MetaType<CAccelerationUnit>,
public Mixin::DBusOperators<CAccelerationUnit>, public Mixin::DBusOperators<CAccelerationUnit>,
public Mixin::Index<CAccelerationUnit> public Mixin::Index<CAccelerationUnit>
{ {
@@ -913,7 +913,7 @@ namespace BlackMisc
//! Base type //! Base type
using base_type = CMeasurementUnit; using base_type = CMeasurementUnit;
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CAccelerationUnit) BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAccelerationUnit)
//! Default constructor, required for Qt Metasystem //! Default constructor, required for Qt Metasystem
CAccelerationUnit() : CMeasurementUnit(defaultUnit()) {} CAccelerationUnit() : CMeasurementUnit(defaultUnit()) {}

View File

@@ -40,7 +40,7 @@ namespace BlackMisc
* *
* \see BLACKMISC_DECLARE_USING_MIXIN_METATYPE * \see BLACKMISC_DECLARE_USING_MIXIN_METATYPE
*/ */
template <class Derived, class... AdditionalTypes> template <class Derived>
class MetaType class MetaType
{ {
public: public:
@@ -48,8 +48,6 @@ namespace BlackMisc
static void registerMetadata() static void registerMetadata()
{ {
Private::MetaTypeHelper<Derived>::maybeRegisterMetaType(); Private::MetaTypeHelper<Derived>::maybeRegisterMetaType();
// Details: https://dev.vatsim-germany.org/issues/413#note-6
[](...){}((qRegisterMetaType<AdditionalTypes>(), qDBusRegisterMetaType<AdditionalTypes>(), 0)...);
} }
//! Returns the Qt meta type ID of this object. //! Returns the Qt meta type ID of this object.
@@ -74,15 +72,6 @@ namespace BlackMisc
static bool baseIsA(const void *, int) { return false; } static bool baseIsA(const void *, int) { return false; }
}; };
/*!
* Variant of MetaType mixin which also registers QList<Derived> with the type system.
*
* \see BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST
*/
template <class Derived>
class MetaTypeAndQList : public MetaType<Derived, QList<Derived>>
{};
/*! /*!
* When a derived class and a base class both inherit from Mixin::MetaType, * When a derived class and a base class both inherit from Mixin::MetaType,
* the derived class uses this macro to disambiguate the inherited members. * the derived class uses this macro to disambiguate the inherited members.
@@ -92,17 +81,6 @@ namespace BlackMisc
using ::BlackMisc::Mixin::MetaType<DERIVED>::getMetaTypeId; \ using ::BlackMisc::Mixin::MetaType<DERIVED>::getMetaTypeId; \
using ::BlackMisc::Mixin::MetaType<DERIVED>::isA; using ::BlackMisc::Mixin::MetaType<DERIVED>::isA;
/*!
* When a derived class and a base class both inherit from Mixin::MetaType,
* the derived class uses this macro to disambiguate the inherited members.
*/
# define BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(DERIVED) \
using ::BlackMisc::Mixin::MetaTypeAndQList<DERIVED>::registerMetadata; \
using ::BlackMisc::Mixin::MetaTypeAndQList<DERIVED>::getMetaTypeId; \
using ::BlackMisc::Mixin::MetaTypeAndQList<DERIVED>::isA; \
using ::BlackMisc::Mixin::MetaTypeAndQList<DERIVED>::toQVariant; \
using ::BlackMisc::Mixin::MetaTypeAndQList<DERIVED>::convertFromQVariant;
} // Mixin } // Mixin
/*! /*!