public static MergedIntervalTree <T> Create <T>(params IInterval <T>[] intervals) where T : IComparable <T> => MergedIntervalTree <T> .Create(intervals);
/// <summary> /// Gets the total length of the <see cref="MergedIntervalTree{UInt32}"/>. /// </summary> /// <param name="tree">The tree.</param> /// <returns></returns> public static long GetTotalLength([NotNull] this MergedIntervalTree <uint> tree) => tree.Sum(i => i.GetLength());
public static MergedIntervalTree <T> Create <T>([NotNull, ItemNotNull] IEnumerable <IInterval <T> > intervals) where T : IComparable <T> => MergedIntervalTree <T> .Create(intervals);
public static MergedIntervalTree <T> ToMergedIntervalTree <T>( [NotNull, ItemNotNull] this IEnumerable <IInterval <T> > intervals, bool createCopy = false) where T : IComparable <T> => createCopy ? MergedIntervalTree.Create(intervals) : intervals as MergedIntervalTree <T> ?? MergedIntervalTree.Create(intervals);