Ranges<'T>
Namespace: Deedle.Ranges
Represents a sub-range of an ordinal index. The range can consist of
multiple blocks, i.e. [ 0..9; 20..29 ]. The pairs represent indices
of first and last element (inclusively) and we also keep size so that
we do not have to recalculate it.
For more information, see also the documentation for the Ranges
module.
Constructors
Constructor | Description |
new(ranges, ops)
Signature: (ranges:seq<'T * 'T> * ops:IRangeKeyOperations<'T>) -> Ranges<'T>
|
|
Instance members
Instance member | Description |
FirstKey
Signature: 'T
|
Returns the first key in the range
|
KeyAtOffset(offset)
Signature: offset:int64 -> 'T
|
Returns the key at the specified offset
|
Keys
Signature: seq<'T>
|
Returns a lazy sequence containing all keys
|
LastKey
Signature: 'T
|
Returns the last key in the range
|
Length
Signature: int64
|
Returns the length of the ranges
|
Lookup(key, semantics, check)
Signature: (key:'T * semantics:Lookup * check:Func<'T,int64,bool>) -> OptionalValue<'T * int64>
|
Searches for a key in the range (see Ranges.lookup for more info)
|
MergeWith(ranges)
Signature: ranges:seq<Ranges<'T>> -> Ranges<'T>
|
Merge the current range with other specified ranges
|
OffsetOfKey(key)
Signature: key:'T -> int64
|
Returns the absolute offset of the key in the ranges
|
Operations
Signature: IRangeKeyOperations<'T>
|
|
Ranges
Signature: ('T * 'T) []
|
|
Restrict(restriction)
Signature: restriction:RangeRestriction<'T> -> Ranges<'T>
|
Restricts the ranges according to the specified range restriction
|