mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-31 04:25:35 +08:00
Fixed failing tests. refs #345
This commit is contained in:
@@ -21,6 +21,7 @@ namespace BlackMisc
|
||||
//! \private
|
||||
template <> struct CValueObjectStdTuplePolicy<Aviation::CAltitude> : public CValueObjectStdTuplePolicy<>
|
||||
{
|
||||
using Equals = Policy::Equals::MetaTuple;
|
||||
using Compare = Policy::Compare::MetaTuple;
|
||||
using Hash = Policy::Hash::MetaTuple;
|
||||
using DBus = Policy::DBus::MetaTuple;
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace BlackMisc
|
||||
//! \private
|
||||
template <> struct CValueObjectStdTuplePolicy<Aviation::CHeading> : public CValueObjectStdTuplePolicy<>
|
||||
{
|
||||
using Equals = Policy::Equals::MetaTuple;
|
||||
using Compare = Policy::Compare::MetaTuple;
|
||||
using Hash = Policy::Hash::MetaTuple;
|
||||
using DBus = Policy::DBus::MetaTuple;
|
||||
|
||||
@@ -20,8 +20,6 @@ namespace BlackMisc
|
||||
//! \private
|
||||
template <> struct CValueObjectStdTuplePolicy<Aviation::CComSystem> : public CValueObjectStdTuplePolicy<>
|
||||
{
|
||||
using MetaType = Policy::MetaType::Default;
|
||||
using Equals = Policy::Equals::None;
|
||||
using LessThan = Policy::LessThan::None;
|
||||
using Compare = Policy::Compare::Own;
|
||||
using Hash = Policy::Hash::Own;
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace BlackMisc
|
||||
//! \private
|
||||
template <> struct CValueObjectStdTuplePolicy<Aviation::CTrack> : public CValueObjectStdTuplePolicy<>
|
||||
{
|
||||
using Equals = Policy::Equals::MetaTuple;
|
||||
using Compare = Policy::Compare::MetaTuple;
|
||||
using Hash = Policy::Hash::MetaTuple;
|
||||
using DBus = Policy::DBus::MetaTuple;
|
||||
|
||||
@@ -86,10 +86,14 @@ namespace BlackMisc
|
||||
struct Ops : private Private::EncapsulationBreaker
|
||||
{
|
||||
//! Equals operator
|
||||
friend bool operator ==(const T &a, const T &b) { return Private::EncapsulationBreaker::toMetaTuple(a) == Private::EncapsulationBreaker::toMetaTuple(b); }
|
||||
friend bool operator ==(const T &a, const T &b) { return Private::EncapsulationBreaker::toMetaTuple(a) == Private::EncapsulationBreaker::toMetaTuple(b) && baseEquals<typename T::base_type>(a, b); }
|
||||
|
||||
//! Not equals operator
|
||||
friend bool operator !=(const T &a, const T &b) { return !(a == b); }
|
||||
|
||||
private:
|
||||
template <class U> static bool baseEquals(const U &a, const U &b) { return a == b; }
|
||||
template <class U> static bool baseEquals(const CValueObject &, const CValueObject &) { return true; }
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user