public override bool Equals(KeyValuePair <T1, T2> x, KeyValuePair <T1, T2> y) { if (!BaseComparer1.Equals(x.Key, y.Key)) { return(false); } return(BaseComparer2.Equals(x.Value, y.Value)); }
public override bool Equals(Pair <T1, T2> x, Pair <T1, T2> y) { if (!BaseComparer1.Equals(x.First, y.First)) { return(false); } return(BaseComparer2.Equals(x.Second, y.Second)); }
public override int Compare(Pair <T1, T2> x, Pair <T1, T2> y) { int result = BaseComparer1.Compare(x.First, y.First); if (result != 0) { return(result); } return(BaseComparer2.Compare(x.Second, y.Second)); }
public override int Compare(KeyValuePair <T1, T2> x, KeyValuePair <T1, T2> y) { int result = BaseComparer1.Compare(x.Key, y.Key); if (result != 0) { return(result); } return(BaseComparer2.Compare(x.Value, y.Value)); }
public override bool Equals(Wrapper2 <T1, T2> x, Wrapper2 <T1, T2> y) { bool r = BaseComparer1.Equals(x.Value, y.Value); if (r) { r = BaseComparer2.Equals(x.Value2, y.Value2); } return(r); }
public override int Compare(Wrapper2 <T1, T2> x, Wrapper2 <T1, T2> y) { int r = BaseComparer1.Compare(x.Value, y.Value); if (r == 0) { r = BaseComparer2.Compare(x.Value2, y.Value2); } return(r); }
public override Pair <T1, T2> GetNearestValue(Pair <T1, T2> value, Direction direction) { return(new Pair <T1, T2>(value.First, BaseComparer2.GetNearestValue(value.Second, direction))); }
public override int GetHashCode(Pair <T1, T2> obj) { int result = BaseComparer1.GetHashCode(obj.First); return(result ^ BaseComparer2.GetHashCode(obj.Second)); }
public override KeyValuePair <T1, T2> GetNearestValue(KeyValuePair <T1, T2> value, Direction direction) { return(new KeyValuePair <T1, T2>(value.Key, BaseComparer2.GetNearestValue(value.Value, direction))); }
public override int GetHashCode(KeyValuePair <T1, T2> obj) { int result = BaseComparer1.GetHashCode(obj.Key); return(result ^ BaseComparer2.GetHashCode(obj.Value)); }
public override bool Equals(Pair <T1, T2> x, Pair <T1, T2> y) => BaseComparer1.Equals(x.First, y.First) && BaseComparer2.Equals(x.Second, y.Second);
public override int Compare(Pair <T1, T2> x, Pair <T1, T2> y) { var result = BaseComparer1.Compare(x.First, y.First); return(result != 0 ? result : BaseComparer2.Compare(x.Second, y.Second)); }
public override int GetHashCode(Wrapper2 <T1, T2> obj) { int r = BaseComparer1.GetHashCode(obj.Value); return(r ^ BaseComparer2.GetHashCode(obj.Value2)); }
public override bool Equals(KeyValuePair <T1, T2> x, KeyValuePair <T1, T2> y) => BaseComparer1.Equals(x.Key, y.Key) && BaseComparer2.Equals(x.Value, y.Value);
public override int Compare(KeyValuePair <T1, T2> x, KeyValuePair <T1, T2> y) { var result = BaseComparer1.Compare(x.Key, y.Key); return(result != 0 ? result : BaseComparer2.Compare(x.Value, y.Value)); }