Exemple #1
0
        public static bool Contains <R, T>(this R range, IRangeEx <R, T> other) where R : IRangeEx <R, T>, ICloneable <R>
        {
            int r0 = range.SliceStart, o0 = other.SliceStart;

            return(r0 <= o0 && r0 + range.Count >= o0 + other.Count &&
                   object.Equals(range.InnerList, other.InnerList));
        }
Exemple #2
0
        public static bool Overlaps <R, T>(this R range, IRangeEx <R, T> other) where R : IRangeEx <R, T>, ICloneable <R>
        {
            int r0 = range.SliceStart, r1 = r0 + range.Count;
            int o0 = other.SliceStart, o1 = o0 + other.Count;

            return(r1 > o0 && o1 > r0 &&
                   object.Equals(range.InnerList, other.InnerList));
        }