예제 #1
0
 public override SequenceRangeCollection MergeWith(SequenceRange newRange)
 {
     if (newRange.Lower == (this.range.Upper + 1L))
     {
         return(new SequenceRangeCollection.SingleItemRangeCollection(this.range.Lower, newRange.Upper));
     }
     if (this.range.Contains(newRange))
     {
         return(this);
     }
     if (newRange.Contains(this.range))
     {
         return(new SequenceRangeCollection.SingleItemRangeCollection(newRange));
     }
     if (newRange.Upper == (this.range.Lower - 1L))
     {
         return(new SequenceRangeCollection.SingleItemRangeCollection(newRange.Lower, this.range.Upper));
     }
     SequenceRange[] sortedRanges = new SequenceRange[] { this.range };
     return(SequenceRangeCollection.GeneralMerge(sortedRanges, newRange));
 }
예제 #2
0
 public override SequenceRangeCollection MergeWith(SequenceRange newRange)
 {
     return(SequenceRangeCollection.GeneralMerge(this.ranges, newRange));
 }