mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-30 20:07:04 +08:00
refs #247 Enabled equality comparison between CVariant and CValueObject.
This commit is contained in:
@@ -205,6 +205,35 @@ namespace BlackMisc
|
||||
const void *data() const { return m_v.data(); }
|
||||
};
|
||||
|
||||
//! Compare stored value of CVariant with any CValueObject derived class.
|
||||
template <class T, class = typename std::enable_if<std::is_base_of<CValueObject, T>::value>::type>
|
||||
bool operator ==(const T &value, const CVariant &variant)
|
||||
{
|
||||
if (variant.canConvert<T>()) { return variant.value<T>() == value; }
|
||||
return false;
|
||||
}
|
||||
|
||||
//! Compare stored value of CVariant with any CValueObject derived class.
|
||||
template <class T, class = typename std::enable_if<std::is_base_of<CValueObject, T>::value>::type>
|
||||
bool operator !=(const T &value, const CVariant &variant)
|
||||
{
|
||||
return !(value == variant);
|
||||
}
|
||||
|
||||
//! Compare stored value of CVariant with any CValueObject derived class.
|
||||
template <class T, class = typename std::enable_if<std::is_base_of<CValueObject, T>::value>::type>
|
||||
bool operator ==(const CVariant &variant, const T &value)
|
||||
{
|
||||
return value == variant;
|
||||
}
|
||||
|
||||
//! Compare stored value of CVariant with any CValueObject derived class.
|
||||
template <class T, class = typename std::enable_if<std::is_base_of<CValueObject, T>::value>::type>
|
||||
bool operator !=(const CVariant &variant, const T &value)
|
||||
{
|
||||
return !(value == variant);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
Q_DECLARE_METATYPE(BlackMisc::CVariant)
|
||||
|
||||
Reference in New Issue
Block a user