public CompositeRange <T> Except( #region T4-dont-replace Range <T> other #endregion ) => Except(other.ToCompositeRange());
public CompositeRange <T> Intersect( #region T4-dont-replace Range <T> other #endregion ) => Intersect(other.ToCompositeRange());
/// <summary>Returns source range with other range excluded.</summary> /// <typeparam name="T">The type of the range values.</typeparam> /// <param name="compositeRange">The source range.</param> /// <param name="other">The range to intersect with.</param> /// <returns>Source range with other range excluded.</returns> public static CompositeRange <T> Except <T>( this CompositeRange <T> compositeRange, #region T4-dont-replace Range <T> other #endregion ) => Except(compositeRange, other.ToCompositeRange());
public static CompositeRange <T, TKey> Intersect <T, TKey>( this CompositeRange <T, TKey> compositeRange, #region T4-dont-replace Range <T> other #endregion ) => Intersect(compositeRange, other.ToCompositeRange());
/// <summary>Returns source range with other range excluded.</summary> /// <typeparam name="T">The type of the range values.</typeparam> /// <typeparam name="TKey2">The type of the other range key</typeparam> /// <param name="compositeRange">The source range.</param> /// <param name="other">The range to intersect with.</param> /// <returns>Source range with other range excluded.</returns> public static CompositeRange <T> Except <T, TKey2>(this CompositeRange <T> compositeRange, Range <T, TKey2> other) => Except(compositeRange, other.ToCompositeRange());
/// <summary>Returns an intersection of the the ranges.</summary> /// <typeparam name="T">The type of the range values.</typeparam> /// <typeparam name="TKey2">The type of the other range key</typeparam> /// <param name="compositeRange">The source range.</param> /// <param name="other">The range to intersect with.</param> /// <returns>An intersection range or empty range if the ranges do not intersect.</returns> public static CompositeRange <T> Intersect <T, TKey2>(this CompositeRange <T> compositeRange, Range <T, TKey2> other) => Intersect(compositeRange, other.ToCompositeRange());
/// <summary>Returns a union range containing all subranges.</summary> /// <typeparam name="T">The type of the range values.</typeparam> /// <param name="compositeRange">The source range.</param> /// <param name="other">The range to union with.</param> /// <returns>A union range containing all subranges.</returns> public static CompositeRange <T> Union <T>(this CompositeRange <T> compositeRange, Range <T> other) => Union(compositeRange, other.ToCompositeRange());
public CompositeRange <T> Except <TKey2>(Range <T, TKey2> other) => Except(other.ToCompositeRange());
public CompositeRange <T> Intersect <TKey2>(Range <T, TKey2> other) => Intersect(other.ToCompositeRange());
public CompositeRange <T> Union(Range <T> other) => Union(other.ToCompositeRange());
/// <summary> /// Returns complementation composite range. /// Result range contains result of (infinityRange.Exclude(<paramref name="range"/>). /// </summary> /// <typeparam name="T">The type of the range values.</typeparam> /// <typeparam name="TKey">The type of the range key</typeparam> /// <param name="range">The source range.</param> /// <returns>Complementation composite range.</returns> public static CompositeRange <T> GetComplementation <T, TKey>(this Range <T, TKey> range) => GetComplementationCore <T, CompositeRange <T, TKey> >(range.ToCompositeRange());
public static CompositeRange <T> GetComplementation <T, TKey>(this Range <T, TKey> range) => range.ToCompositeRange().GetComplementation();