Enhanced C#
Language of your choice: library documentation
|
A bidirectional range that can perform operations such as intersection and overlap tests on pairs of ranges of the same type. More...
A bidirectional range that can perform operations such as intersection and overlap tests on pairs of ranges of the same type.
R | The type that implements this interface |
T | The type of elements in the range |
R | : | IBRangeEx | |
R | : | R | |
R | : | T | |
R | : | ICloneable<R> |
Properties | |
IEnumerable< T > | InnerList [get] |
Gets the list upon which this range is based. More... | |
int | SliceStart [get] |
Index where this range starts within the InnerList. More... | |
Properties inherited from Loyc.Collections.IBRange< out T > | |
T | Back [get] |
Returns the value of the last item in the range. More... | |
Properties inherited from Loyc.Collections.IFRange< out T > | |
T | Front [get] |
Returns the first value in the range, without popping it. More... | |
Properties inherited from Loyc.Collections.IIsEmpty | |
bool | IsEmpty [get] |
Public Member Functions | |
R | Intersect (R other) |
Gets the region of overlap between two ranges. More... | |
R | Union (R other) |
Gets a range just large enough to contain both ranges. More... | |
Public Member Functions inherited from Loyc.Collections.IBRange< out T > | |
T | PopBack (out bool fail) |
Removes the last item from the range and returns it. More... | |
Public Member Functions inherited from Loyc.Collections.IFRange< out T > | |
T | PopFront (out bool fail) |
Removes the first item from the range and returns it. More... | |
Public Member Functions inherited from Loyc.ICloneable< out T > | |
T | Clone () |
R Loyc.Collections.IBRangeEx< R, T >.Intersect | ( | R | other | ) |
Gets the region of overlap between two ranges.
If the ranges do not overlap, an empty range is returned with InnerList set to the same value that this range has.
R Loyc.Collections.IBRangeEx< R, T >.Union | ( | R | other | ) |
Gets a range just large enough to contain both ranges.
InvalidOperationException | The two ranges cannot be combined because they have different InnerList values. |
As long as both ranges are based on the same list, this method succeeds. For example, if one range covers 5..6 and the other range covers 10..20, the union covers 5..20.
|
get |
Gets the list upon which this range is based.
The return type is IEnumerable{T} since the available list interfaces may vary, e.g. it might be ICollection{T} or IListSource{T}.
|
get |
Index where this range starts within the InnerList.