public bool Includes(IRangeElement element) { if (element == null) { return(false); } if (element is StartsWithElement) { return(((StartsWithElement)element).Start.CompareTo(End) <= 0); } if (element is RangeElement) { return(((RangeElement)element).End.End.CompareTo(End) <= 0); } if (element is LessThanElement) { return(((LessThanElement)element).End.CompareTo(End) <= 0); } if (element is GreaterThanElement) { return(false); } return(false); }
public static bool Includes(this IEnumerable <IRangeElement> elements, IRangeElement find) { foreach (IRangeElement element in elements) { if (element.Includes(find) && !ReferenceEquals(element, find)) { return(true); } } return(false); }
public bool Includes(IRangeElement element) { if (element == null) { return(false); } if (element is StartsWithElement) { return(Includes((StartsWithElement)element)); } return(false); }
public static bool Overlaps(this IRangeElement element, IRangeElement other) { if (element is LessThanElement && other is GreaterThanElement) { return(((LessThanElement)element).End.CompareTo(((GreaterThanElement)other).Begin) >= 0); } if (element is GreaterThanElement && other is LessThanElement) { return(((LessThanElement)other).End.CompareTo(((GreaterThanElement)element).Begin) >= 0); } return(false); }
public bool Includes(IRangeElement element) { if (element == null) { return(false); } if (Begin.Includes(element) && End.Includes(element)) { return(true); } return(false); }