VirtualVectorSource Module
Module that implements various helper operations over `IVirtualVectorSource` type
Types
| Type | Description |
|
Linear `0 .. length-1` address ops with structural equality (needed by Combine uniqueBy). |
|
|
Marks IVirtualVectorSource that has been created by boxing another source |
|
|
Marks IVirtualVectorSource that has been created by combining another sources |
|
|
Marks a source reindexed onto contiguous linear addresses `0 .. Length-1`. Used by virtual `Shift`/`Diff` so absolute-address backends (partitioned Ranges) align the same way as remapping ordinal/CSV sources. |
|
|
Marks IVirtualVectorSource that has been created by mapping from source |
Functions and values
| Function or value |
Description
|
Full Usage:
boxSource source
Parameters:
IVirtualVectorSource<'T>
Returns: IVirtualVectorSource<obj>
Type parameters: 'T |
Creates a new vector source that boxes all values The result also implements IBoxedVectorSource
|
Full Usage:
combine f sources
Parameters:
OptionalValue<'T> list -> OptionalValue<'R>
sources : IVirtualVectorSource<'T> list
Returns: IVirtualVectorSource<'R>
Type parameters: 'T, 'R |
Creates a new vector that combines (zips) vectors using a given function The result also implements ICombinedVectorSource
|
Full Usage:
createRowReader vectorCtor builder irt vectors sources
Parameters:
IVirtualVectorSource<'T> -> IVector
builder : IVectorBuilder
irt : IRowReaderTransform
vectors : IVector<IVector>
sources : IVirtualVectorSource<'T> list
Returns: IVirtualVectorSource<IVector<obj>>
Type parameters: 'T |
Creates a "row reader vector" - that is a vector that provides source for the series returned by frame.Rows. This is combined from a number of sources, but we do not fully materialize anything to create the vector. The first parameter is a ctor for `VirtualVector` which is defined below in the file.
|
Full Usage:
fillMissing mode source
Parameters:
VectorFillMissing
source : IVirtualVectorSource<'T>
Returns: IVirtualVectorSource<'T>
Type parameters: 'T |
Virtual FillMissing: constant fill is a map; directional fill walks neighbouring offsets on demand. Both preserve the virtual addressing scheme.
|
Full Usage:
lookupValueOrScan addrOps valueAt v lookup check
Parameters:
IAddressOperations
valueAt : IVectorLocation -> OptionalValue<'V>
v : 'V
lookup : Lookup
check : Func<Address, bool>
Returns: ('V * Address) opt
Type parameters: 'V |
Exact lookup by scanning addresses. Non-exact lookups throw `NotSupportedException`.
|
Full Usage:
map rev f source
Parameters:
('TNew -> 'V) option
f : IVectorLocation -> OptionalValue<'V> -> OptionalValue<'TNew>
source : IVirtualVectorSource<'V>
Returns: IVirtualVectorSource<'TNew>
Type parameters: 'TNew, 'V |
Creates a new vector that transforms source values using a given function The result also implements IMappedVectorSource
|
Full Usage:
scanLookupRange addrOps valueAt search
Parameters:
IAddressOperations
valueAt : IVectorLocation -> OptionalValue<'V>
search : 'V
Returns: RangeRestriction<Address>
Type parameters: 'V |
Scan every address and keep those whose `ValueAt` equals `search`. Used when a wrapper cannot reverse-map a LookupRange query to the inner source.
|
Full Usage:
scanLookupRangeOf source search
Parameters:
IVirtualVectorSource<'V>
search : 'V
Returns: RangeRestriction<Address>
Type parameters: 'V |
Scan-based LookupRange using the source's own `ValueAt` / addressing.
|
Full Usage:
withLinearAddressing source
Parameters:
IVirtualVectorSource<'T>
Returns: IVirtualVectorSource<'T>
Type parameters: 'T |
Reindex a virtual source onto linear addresses `0L .. Length-1L`. Used after ordered `GetSubVector` / `GetRange` so absolute-address backends (partitioned Ranges) share the same address space as remapping ordinal sources. No-op when the source is already linearly addressed from 0.
|
Deedle