mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-23 15:25:35 +08:00
refs #413 Macros to ease the task of disambiguating inherited members when using mixins in an inheritance hierarchy.
This commit is contained in:
@@ -31,13 +31,7 @@ namespace BlackMisc
|
||||
//! Base type
|
||||
using base_type = CModulator<CAdfSystem>;
|
||||
|
||||
using Mixin::MetaType<CAdfSystem>::registerMetadata;
|
||||
using Mixin::MetaType<CAdfSystem>::getMetaTypeId;
|
||||
using Mixin::MetaType<CAdfSystem>::isA;
|
||||
using Mixin::MetaType<CAdfSystem>::toCVariant;
|
||||
using Mixin::MetaType<CAdfSystem>::toQVariant;
|
||||
using Mixin::MetaType<CAdfSystem>::convertFromCVariant;
|
||||
using Mixin::MetaType<CAdfSystem>::convertFromQVariant;
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAdfSystem)
|
||||
|
||||
//! Default constructor
|
||||
CAdfSystem() = default;
|
||||
|
||||
@@ -39,23 +39,11 @@ namespace BlackMisc
|
||||
//! Base type
|
||||
using base_type = PhysicalQuantities::CLength;
|
||||
|
||||
using Mixin::MetaTypeAndQList<CAltitude>::registerMetadata;
|
||||
using Mixin::MetaTypeAndQList<CAltitude>::getMetaTypeId;
|
||||
using Mixin::MetaTypeAndQList<CAltitude>::isA;
|
||||
using Mixin::MetaTypeAndQList<CAltitude>::toCVariant;
|
||||
using Mixin::MetaTypeAndQList<CAltitude>::toQVariant;
|
||||
using Mixin::MetaTypeAndQList<CAltitude>::convertFromCVariant;
|
||||
using Mixin::MetaTypeAndQList<CAltitude>::convertFromQVariant;
|
||||
using Mixin::String<CAltitude>::toQString;
|
||||
using Mixin::String<CAltitude>::toFormattedQString;
|
||||
using Mixin::String<CAltitude>::toStdString;
|
||||
using Mixin::String<CAltitude>::stringForStreaming;
|
||||
using Mixin::DBusByTuple<CAltitude>::marshallToDbus;
|
||||
using Mixin::DBusByTuple<CAltitude>::unmarshallFromDbus;
|
||||
using Mixin::JsonByTuple<CAltitude>::toJson;
|
||||
using Mixin::JsonByTuple<CAltitude>::convertFromJson;
|
||||
using Mixin::Icon<CAltitude>::toIcon;
|
||||
using Mixin::Icon<CAltitude>::toPixmap;
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CAltitude)
|
||||
BLACKMISC_DECLARE_USING_MIXIN_STRING(CAltitude)
|
||||
BLACKMISC_DECLARE_USING_MIXIN_DBUS(CAltitude)
|
||||
BLACKMISC_DECLARE_USING_MIXIN_JSON(CAltitude)
|
||||
BLACKMISC_DECLARE_USING_MIXIN_ICON(CAltitude)
|
||||
|
||||
/*!
|
||||
* Enum type to distinguish between MSL and AGL
|
||||
|
||||
@@ -30,13 +30,7 @@ namespace BlackMisc
|
||||
//! Base type
|
||||
using base_type = CModulator<CComSystem>;
|
||||
|
||||
using Mixin::MetaType<CComSystem>::registerMetadata;
|
||||
using Mixin::MetaType<CComSystem>::getMetaTypeId;
|
||||
using Mixin::MetaType<CComSystem>::isA;
|
||||
using Mixin::MetaType<CComSystem>::toCVariant;
|
||||
using Mixin::MetaType<CComSystem>::toQVariant;
|
||||
using Mixin::MetaType<CComSystem>::convertFromCVariant;
|
||||
using Mixin::MetaType<CComSystem>::convertFromQVariant;
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CComSystem)
|
||||
|
||||
//! Channel spacing frequency
|
||||
enum ChannelSpacing
|
||||
|
||||
@@ -38,21 +38,10 @@ namespace BlackMisc
|
||||
//! Base type
|
||||
using base_type = PhysicalQuantities::CAngle;
|
||||
|
||||
using Mixin::MetaTypeAndQList<CHeading>::registerMetadata;
|
||||
using Mixin::MetaTypeAndQList<CHeading>::getMetaTypeId;
|
||||
using Mixin::MetaTypeAndQList<CHeading>::isA;
|
||||
using Mixin::MetaTypeAndQList<CHeading>::toCVariant;
|
||||
using Mixin::MetaTypeAndQList<CHeading>::toQVariant;
|
||||
using Mixin::MetaTypeAndQList<CHeading>::convertFromCVariant;
|
||||
using Mixin::MetaTypeAndQList<CHeading>::convertFromQVariant;
|
||||
using Mixin::String<CHeading>::toQString;
|
||||
using Mixin::String<CHeading>::toFormattedQString;
|
||||
using Mixin::String<CHeading>::toStdString;
|
||||
using Mixin::String<CHeading>::stringForStreaming;
|
||||
using Mixin::DBusByTuple<CHeading>::marshallToDbus;
|
||||
using Mixin::DBusByTuple<CHeading>::unmarshallFromDbus;
|
||||
using Mixin::JsonByTuple<CHeading>::toJson;
|
||||
using Mixin::JsonByTuple<CHeading>::convertFromJson;
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CHeading)
|
||||
BLACKMISC_DECLARE_USING_MIXIN_STRING(CHeading)
|
||||
BLACKMISC_DECLARE_USING_MIXIN_DBUS(CHeading)
|
||||
BLACKMISC_DECLARE_USING_MIXIN_JSON(CHeading)
|
||||
|
||||
//! Enum type to distinguish between true north and magnetic north
|
||||
enum ReferenceNorth
|
||||
|
||||
@@ -30,13 +30,7 @@ namespace BlackMisc
|
||||
//! Base type
|
||||
using base_type = CModulator<CNavSystem>;
|
||||
|
||||
using Mixin::MetaType<CNavSystem>::registerMetadata;
|
||||
using Mixin::MetaType<CNavSystem>::getMetaTypeId;
|
||||
using Mixin::MetaType<CNavSystem>::isA;
|
||||
using Mixin::MetaType<CNavSystem>::toCVariant;
|
||||
using Mixin::MetaType<CNavSystem>::toQVariant;
|
||||
using Mixin::MetaType<CNavSystem>::convertFromCVariant;
|
||||
using Mixin::MetaType<CNavSystem>::convertFromQVariant;
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CNavSystem)
|
||||
|
||||
//! Default constructor
|
||||
CNavSystem() = default;
|
||||
|
||||
@@ -39,21 +39,10 @@ namespace BlackMisc
|
||||
//! Base type
|
||||
using base_type = PhysicalQuantities::CAngle;
|
||||
|
||||
using Mixin::MetaTypeAndQList<CTrack>::registerMetadata;
|
||||
using Mixin::MetaTypeAndQList<CTrack>::getMetaTypeId;
|
||||
using Mixin::MetaTypeAndQList<CTrack>::isA;
|
||||
using Mixin::MetaTypeAndQList<CTrack>::toCVariant;
|
||||
using Mixin::MetaTypeAndQList<CTrack>::toQVariant;
|
||||
using Mixin::MetaTypeAndQList<CTrack>::convertFromCVariant;
|
||||
using Mixin::MetaTypeAndQList<CTrack>::convertFromQVariant;
|
||||
using Mixin::String<CTrack>::toQString;
|
||||
using Mixin::String<CTrack>::toFormattedQString;
|
||||
using Mixin::String<CTrack>::toStdString;
|
||||
using Mixin::String<CTrack>::stringForStreaming;
|
||||
using Mixin::DBusByTuple<CTrack>::marshallToDbus;
|
||||
using Mixin::DBusByTuple<CTrack>::unmarshallFromDbus;
|
||||
using Mixin::JsonByTuple<CTrack>::toJson;
|
||||
using Mixin::JsonByTuple<CTrack>::convertFromJson;
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CTrack)
|
||||
BLACKMISC_DECLARE_USING_MIXIN_STRING(CTrack)
|
||||
BLACKMISC_DECLARE_USING_MIXIN_DBUS(CTrack)
|
||||
BLACKMISC_DECLARE_USING_MIXIN_JSON(CTrack)
|
||||
|
||||
/*!
|
||||
* Enum type to distinguish between true north and magnetic north
|
||||
|
||||
@@ -32,17 +32,8 @@ namespace BlackMisc
|
||||
//! Base type
|
||||
using base_type = CEarthAngle<CLatitude>;
|
||||
|
||||
using Mixin::MetaType<CLatitude>::registerMetadata;
|
||||
using Mixin::MetaType<CLatitude>::getMetaTypeId;
|
||||
using Mixin::MetaType<CLatitude>::isA;
|
||||
using Mixin::MetaType<CLatitude>::toCVariant;
|
||||
using Mixin::MetaType<CLatitude>::toQVariant;
|
||||
using Mixin::MetaType<CLatitude>::convertFromCVariant;
|
||||
using Mixin::MetaType<CLatitude>::convertFromQVariant;
|
||||
using Mixin::String<CLatitude>::toQString;
|
||||
using Mixin::String<CLatitude>::toFormattedQString;
|
||||
using Mixin::String<CLatitude>::toStdString;
|
||||
using Mixin::String<CLatitude>::stringForStreaming;
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CLatitude)
|
||||
BLACKMISC_DECLARE_USING_MIXIN_STRING(CLatitude)
|
||||
|
||||
//! \copydoc CValueObject::convertToQString
|
||||
QString convertToQString(bool i18n = false) const
|
||||
|
||||
@@ -31,17 +31,8 @@ namespace BlackMisc
|
||||
//! Base type
|
||||
using base_type = CEarthAngle<CLongitude>;
|
||||
|
||||
using Mixin::MetaType<CLongitude>::registerMetadata;
|
||||
using Mixin::MetaType<CLongitude>::getMetaTypeId;
|
||||
using Mixin::MetaType<CLongitude>::isA;
|
||||
using Mixin::MetaType<CLongitude>::toCVariant;
|
||||
using Mixin::MetaType<CLongitude>::toQVariant;
|
||||
using Mixin::MetaType<CLongitude>::convertFromCVariant;
|
||||
using Mixin::MetaType<CLongitude>::convertFromQVariant;
|
||||
using Mixin::String<CLongitude>::toQString;
|
||||
using Mixin::String<CLongitude>::toFormattedQString;
|
||||
using Mixin::String<CLongitude>::toStdString;
|
||||
using Mixin::String<CLongitude>::stringForStreaming;
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CLongitude)
|
||||
BLACKMISC_DECLARE_USING_MIXIN_STRING(CLongitude)
|
||||
|
||||
//! \copydoc CValueObject::convertToQString
|
||||
QString convertToQString(bool i18n = false) const
|
||||
|
||||
@@ -62,13 +62,7 @@ namespace BlackMisc
|
||||
//! Base type
|
||||
using base_type = CMeasurementUnit;
|
||||
|
||||
using Mixin::MetaTypeAndQList<CLengthUnit>::registerMetadata;
|
||||
using Mixin::MetaTypeAndQList<CLengthUnit>::getMetaTypeId;
|
||||
using Mixin::MetaTypeAndQList<CLengthUnit>::isA;
|
||||
using Mixin::MetaTypeAndQList<CLengthUnit>::toCVariant;
|
||||
using Mixin::MetaTypeAndQList<CLengthUnit>::toQVariant;
|
||||
using Mixin::MetaTypeAndQList<CLengthUnit>::convertFromCVariant;
|
||||
using Mixin::MetaTypeAndQList<CLengthUnit>::convertFromQVariant;
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CLengthUnit)
|
||||
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CLengthUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
@@ -183,13 +177,7 @@ namespace BlackMisc
|
||||
//! Base type
|
||||
using base_type = CMeasurementUnit;
|
||||
|
||||
using Mixin::MetaTypeAndQList<CAngleUnit>::registerMetadata;
|
||||
using Mixin::MetaTypeAndQList<CAngleUnit>::getMetaTypeId;
|
||||
using Mixin::MetaTypeAndQList<CAngleUnit>::isA;
|
||||
using Mixin::MetaTypeAndQList<CAngleUnit>::toCVariant;
|
||||
using Mixin::MetaTypeAndQList<CAngleUnit>::toQVariant;
|
||||
using Mixin::MetaTypeAndQList<CAngleUnit>::convertFromCVariant;
|
||||
using Mixin::MetaTypeAndQList<CAngleUnit>::convertFromQVariant;
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CAngleUnit)
|
||||
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CAngleUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
@@ -287,13 +275,7 @@ namespace BlackMisc
|
||||
//! Base type
|
||||
using base_type = CMeasurementUnit;
|
||||
|
||||
using Mixin::MetaTypeAndQList<CFrequencyUnit>::registerMetadata;
|
||||
using Mixin::MetaTypeAndQList<CFrequencyUnit>::getMetaTypeId;
|
||||
using Mixin::MetaTypeAndQList<CFrequencyUnit>::isA;
|
||||
using Mixin::MetaTypeAndQList<CFrequencyUnit>::toCVariant;
|
||||
using Mixin::MetaTypeAndQList<CFrequencyUnit>::toQVariant;
|
||||
using Mixin::MetaTypeAndQList<CFrequencyUnit>::convertFromCVariant;
|
||||
using Mixin::MetaTypeAndQList<CFrequencyUnit>::convertFromQVariant;
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CFrequencyUnit)
|
||||
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CFrequencyUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
@@ -384,13 +366,7 @@ namespace BlackMisc
|
||||
//! Base type
|
||||
using base_type = CMeasurementUnit;
|
||||
|
||||
using Mixin::MetaTypeAndQList<CMassUnit>::registerMetadata;
|
||||
using Mixin::MetaTypeAndQList<CMassUnit>::getMetaTypeId;
|
||||
using Mixin::MetaTypeAndQList<CMassUnit>::isA;
|
||||
using Mixin::MetaTypeAndQList<CMassUnit>::toCVariant;
|
||||
using Mixin::MetaTypeAndQList<CMassUnit>::toQVariant;
|
||||
using Mixin::MetaTypeAndQList<CMassUnit>::convertFromCVariant;
|
||||
using Mixin::MetaTypeAndQList<CMassUnit>::convertFromQVariant;
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CMassUnit)
|
||||
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CMassUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
@@ -491,13 +467,7 @@ namespace BlackMisc
|
||||
//! Base type
|
||||
using base_type = CMeasurementUnit;
|
||||
|
||||
using Mixin::MetaTypeAndQList<CPressureUnit>::registerMetadata;
|
||||
using Mixin::MetaTypeAndQList<CPressureUnit>::getMetaTypeId;
|
||||
using Mixin::MetaTypeAndQList<CPressureUnit>::isA;
|
||||
using Mixin::MetaTypeAndQList<CPressureUnit>::toCVariant;
|
||||
using Mixin::MetaTypeAndQList<CPressureUnit>::toQVariant;
|
||||
using Mixin::MetaTypeAndQList<CPressureUnit>::convertFromCVariant;
|
||||
using Mixin::MetaTypeAndQList<CPressureUnit>::convertFromQVariant;
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CPressureUnit)
|
||||
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CPressureUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
@@ -619,13 +589,7 @@ namespace BlackMisc
|
||||
//! Base type
|
||||
using base_type = CMeasurementUnit;
|
||||
|
||||
using Mixin::MetaTypeAndQList<CTemperatureUnit>::registerMetadata;
|
||||
using Mixin::MetaTypeAndQList<CTemperatureUnit>::getMetaTypeId;
|
||||
using Mixin::MetaTypeAndQList<CTemperatureUnit>::isA;
|
||||
using Mixin::MetaTypeAndQList<CTemperatureUnit>::toCVariant;
|
||||
using Mixin::MetaTypeAndQList<CTemperatureUnit>::toQVariant;
|
||||
using Mixin::MetaTypeAndQList<CTemperatureUnit>::convertFromCVariant;
|
||||
using Mixin::MetaTypeAndQList<CTemperatureUnit>::convertFromQVariant;
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CTemperatureUnit)
|
||||
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CTemperatureUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
@@ -710,13 +674,7 @@ namespace BlackMisc
|
||||
//! Base type
|
||||
using base_type = CMeasurementUnit;
|
||||
|
||||
using Mixin::MetaTypeAndQList<CSpeedUnit>::registerMetadata;
|
||||
using Mixin::MetaTypeAndQList<CSpeedUnit>::getMetaTypeId;
|
||||
using Mixin::MetaTypeAndQList<CSpeedUnit>::isA;
|
||||
using Mixin::MetaTypeAndQList<CSpeedUnit>::toCVariant;
|
||||
using Mixin::MetaTypeAndQList<CSpeedUnit>::toQVariant;
|
||||
using Mixin::MetaTypeAndQList<CSpeedUnit>::convertFromCVariant;
|
||||
using Mixin::MetaTypeAndQList<CSpeedUnit>::convertFromQVariant;
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CSpeedUnit)
|
||||
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CSpeedUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
@@ -825,13 +783,7 @@ namespace BlackMisc
|
||||
//! Base type
|
||||
using base_type = CMeasurementUnit;
|
||||
|
||||
using Mixin::MetaTypeAndQList<CTimeUnit>::registerMetadata;
|
||||
using Mixin::MetaTypeAndQList<CTimeUnit>::getMetaTypeId;
|
||||
using Mixin::MetaTypeAndQList<CTimeUnit>::isA;
|
||||
using Mixin::MetaTypeAndQList<CTimeUnit>::toCVariant;
|
||||
using Mixin::MetaTypeAndQList<CTimeUnit>::toQVariant;
|
||||
using Mixin::MetaTypeAndQList<CTimeUnit>::convertFromCVariant;
|
||||
using Mixin::MetaTypeAndQList<CTimeUnit>::convertFromQVariant;
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CTimeUnit)
|
||||
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CTimeUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
@@ -961,13 +913,7 @@ namespace BlackMisc
|
||||
//! Base type
|
||||
using base_type = CMeasurementUnit;
|
||||
|
||||
using Mixin::MetaTypeAndQList<CAccelerationUnit>::registerMetadata;
|
||||
using Mixin::MetaTypeAndQList<CAccelerationUnit>::getMetaTypeId;
|
||||
using Mixin::MetaTypeAndQList<CAccelerationUnit>::isA;
|
||||
using Mixin::MetaTypeAndQList<CAccelerationUnit>::toCVariant;
|
||||
using Mixin::MetaTypeAndQList<CAccelerationUnit>::toQVariant;
|
||||
using Mixin::MetaTypeAndQList<CAccelerationUnit>::convertFromCVariant;
|
||||
using Mixin::MetaTypeAndQList<CAccelerationUnit>::convertFromQVariant;
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE_AND_QLIST(CAccelerationUnit)
|
||||
|
||||
//! Default constructor, required for Qt Metasystem
|
||||
CAccelerationUnit() : CMeasurementUnit(defaultUnit()) {}
|
||||
|
||||
@@ -207,6 +207,32 @@ namespace BlackMisc
|
||||
class MetaTypeAndQList : public MetaType<Derived, QList<Derived>>
|
||||
{};
|
||||
|
||||
/*!
|
||||
* 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(DERIVED) \
|
||||
using ::BlackMisc::Mixin::MetaType<DERIVED>::registerMetadata; \
|
||||
using ::BlackMisc::Mixin::MetaType<DERIVED>::getMetaTypeId; \
|
||||
using ::BlackMisc::Mixin::MetaType<DERIVED>::isA; \
|
||||
using ::BlackMisc::Mixin::MetaType<DERIVED>::toCVariant; \
|
||||
using ::BlackMisc::Mixin::MetaType<DERIVED>::toQVariant; \
|
||||
using ::BlackMisc::Mixin::MetaType<DERIVED>::convertFromCVariant; \
|
||||
using ::BlackMisc::Mixin::MetaType<DERIVED>::convertFromQVariant;
|
||||
|
||||
/*!
|
||||
* 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>::toCVariant; \
|
||||
using ::BlackMisc::Mixin::MetaTypeAndQList<DERIVED>::toQVariant; \
|
||||
using ::BlackMisc::Mixin::MetaTypeAndQList<DERIVED>::convertFromCVariant; \
|
||||
using ::BlackMisc::Mixin::MetaTypeAndQList<DERIVED>::convertFromQVariant;
|
||||
|
||||
/*!
|
||||
* CRTP class template from which a derived class can inherit common methods dealing with hashing instances by metatuple.
|
||||
*/
|
||||
@@ -289,6 +315,14 @@ namespace BlackMisc
|
||||
static void baseUnmarshall(void *, const QDBusArgument &) {}
|
||||
};
|
||||
|
||||
/*!
|
||||
* When a derived class and a base class both inherit from Mixin::DBusByTuple,
|
||||
* the derived class uses this macro to disambiguate the inherited members.
|
||||
*/
|
||||
# define BLACKMISC_DECLARE_USING_MIXIN_DBUS(DERIVED) \
|
||||
using ::BlackMisc::Mixin::DBusByTuple<DERIVED>::marshallToDbus; \
|
||||
using ::BlackMisc::Mixin::DBusByTuple<DERIVED>::unmarshallFromDbus;
|
||||
|
||||
/*!
|
||||
* CRTP class template which will generate marshalling operators for a derived class with its own marshalling implementation.
|
||||
*/
|
||||
@@ -363,6 +397,14 @@ namespace BlackMisc
|
||||
static void baseConvertFromJson(void *, const QJsonObject &) {}
|
||||
};
|
||||
|
||||
/*!
|
||||
* When a derived class and a base class both inherit from Mixin::JsonByTuple,
|
||||
* the derived class uses this macro to disambiguate the inherited members.
|
||||
*/
|
||||
# define BLACKMISC_DECLARE_USING_MIXIN_JSON(DERIVED) \
|
||||
using ::BlackMisc::Mixin::JsonByTuple<DERIVED>::toJson; \
|
||||
using ::BlackMisc::Mixin::JsonByTuple<DERIVED>::convertFromJson;
|
||||
|
||||
/*!
|
||||
* CRTP class template from which a derived class can inherit operator== implemented using its compare function.
|
||||
*/
|
||||
@@ -528,6 +570,16 @@ namespace BlackMisc
|
||||
Derived *derived() { return static_cast<Derived *>(this); }
|
||||
};
|
||||
|
||||
/*!
|
||||
* When a derived class and a base class both inherit from Mixin::String,
|
||||
* the derived class uses this macro to disambiguate the inherited members.
|
||||
*/
|
||||
# define BLACKMISC_DECLARE_USING_MIXIN_STRING(DERIVED) \
|
||||
using ::BlackMisc::Mixin::String<DERIVED>::toQString; \
|
||||
using ::BlackMisc::Mixin::String<DERIVED>::toFormattedQString; \
|
||||
using ::BlackMisc::Mixin::String<DERIVED>::toStdString; \
|
||||
using ::BlackMisc::Mixin::String<DERIVED>::stringForStreaming;
|
||||
|
||||
/*!
|
||||
* CRTP class template from which a derived class can inherit property indexing functions.
|
||||
*/
|
||||
@@ -582,6 +634,14 @@ namespace BlackMisc
|
||||
Derived *derived() { return static_cast<Derived *>(this); }
|
||||
};
|
||||
|
||||
/*!
|
||||
* When a derived class and a base class both inherit from Mixin::Icon,
|
||||
* the derived class uses this macro to disambiguate the inherited members.
|
||||
*/
|
||||
# define BLACKMISC_DECLARE_USING_MIXIN_ICON(DERIVED) \
|
||||
using ::BlackMisc::Mixin::Icon<DERIVED>::toIcon; \
|
||||
using ::BlackMisc::Mixin::Icon<DERIVED>::toPixmap;
|
||||
|
||||
}
|
||||
|
||||
/*!
|
||||
|
||||
Reference in New Issue
Block a user