Deedle


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

ConstructorDescription
new(ranges, ops)
Signature: (ranges:seq<'T * 'T> * ops:IRangeKeyOperations<'T>) -> Ranges<'T>

Instance members

Instance memberDescription
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

Fork me on GitHub