10 #undef BPSVARIANT_CONVERT_FROM
94 registerCompare(qMetaTypeId<T>(), &compare<T>);
101 template <
typename F,
typename T>
104 registerConvert(qMetaTypeId<F>(), qMetaTypeId<T>(), &convertTo<F,T>);
107 # ifdef BPSVARIANT_CONVERT_FROM
112 template <
typename F,
typename T>
113 static void registerConvertFrom()
115 registerConvert(qMetaTypeId<F>(), qMetaTypeId<T>(), &convertFrom<F,T>);
124 template <
typename T>
125 static bool compare(
const QVariant::Private* a1st,
const QVariant::Private* a2nd)
128 return *
static_cast<T*
>(a1st->data.shared->ptr) == *
static_cast<T*
>(a2nd->data.shared->ptr);
131 template <
typename F,
typename T>
132 static bool convertTo(
const QVariant::Private *aPrivate,
int aType,
void* aResult,
bool* aOk)
135 return static_cast<F*
>(aPrivate->data.shared->ptr)->convertTo(
static_cast<T*
>(aResult), aOk);
138 # ifdef BPSVARIANT_CONVERT_FROM
139 template <
typename F,
typename T>
140 static bool convertFrom(
const QVariant::Private *aPrivate,
int aType,
void* aResult,
bool* aOk)
142 return static_cast<T*
>(aResult)->convertFrom(
static_cast<F*
>(aPrivate->data.shared->ptr), aOk);
146 static void registerCompare(
int aType, QVariant::f_compare aCompare);
147 static void registerConvert(
int aFromType,
int aToType, QVariant::f_convert aConvert);
Public include file for BPS CORE library macros.
#define BPSCORE_EXPORT
Declare class to be an import from the shared library.
Definition: bpscore_global.h:22
Hook up custom variable types and classes in QVariant.
Definition: bpsvariant.h:86
static void registerCompare()
Register custom type/class for QVariant equal operator.
Definition: bpsvariant.h:92
static void registerConvertTo()
Register custom type for QVariant conversion to other types.
Definition: bpsvariant.h:102