public static bool IsMergedWith(this IInterval self, IInterval other) { var s = self.ToInterval(); var o = other.ToInterval(); return(s.Start == o.Start && o.End == s.End); }
public static bool Meets(this IInterval self, IInterval other) { var s = self.ToInterval(); var o = other.ToInterval(); return(s.End == o.Start); }
public static bool Finishes(this IInterval self, IInterval other) { var s = self.ToInterval(); var o = other.ToInterval(); return(s.Start > o.Start && s.End == o.End); }
public static bool Contains(this IInterval self, int index, ContainsMode mode = ContainsMode.NON_STRICT) { var s = self.ToInterval(); if (mode == ContainsMode.NON_STRICT) { return(s.Start <= index && index <= s.End); } else { return(s.Start < index && index < s.End); } }
public static bool Contains(this IInterval self, IInterval other, ContainsMode mode = ContainsMode.NON_STRICT) { var s = self.ToInterval(); var o = other.ToInterval(); if (mode == ContainsMode.NON_STRICT) { return(s.Start <= o.Start && o.End <= s.End); } else { return(s.Start < o.Start && o.End < s.End); } }
public static bool IsAfter(this IInterval self, IInterval other, ContainsMode mode = ContainsMode.NON_STRICT) { var s = self.ToInterval(); var o = other.ToInterval(); if (mode == ContainsMode.NON_STRICT) { return(s.Start >= o.End); } else { return(s.Start > o.End); } }
public static string Slice(this IInterval interval, string s) { var i = interval.ToInterval(); return(s.Substring(i.Start, i.Length)); }
public static T[] Slice <T>(this IInterval interval, IEnumerable <T> list) { var i = interval.ToInterval(); return(list.Skip(i.Start).Take(i.Length).ToArray()); }
public static int Length(this IInterval interval) { return(interval.ToInterval().Length); }
public static int End(this IInterval interval) { return(interval.ToInterval().End); }
public static int Start(this IInterval interval) { return(interval.ToInterval().Start); }
public static T[] SubArray <T>(this T[] data, IInterval interval) { var i = interval.ToInterval(); return(data.SubArray(i.Start, i.Length)); }