byCoordinateValue

Returns unsorted forward range of (coordinate, value) pairs.

byCoordinateValue
(
size_t N
T
)
(
Slice!(FieldIterator!(SparseField!T), N) slice
)

Parameters

slice Slice!(FieldIterator!(SparseField!T), N)

sparse slice with pure structure. Any operations on structure of a slice are not allowed.

Examples

import mir.array.allocation: array;
import mir.ndslice.sorting: sort;
alias CV = CoordinateValue!(double, 2);

auto slice = sparse!double(3, 3);
slice[] = [[0, 2, 1], [0, 0, 4], [6, 7, 0]];
assert(slice.byCoordinateValue.array.sort() == [
    CV([0, 1], 2),
    CV([0, 2], 1),
    CV([1, 2], 4),
    CV([2, 0], 6),
    CV([2, 1], 7)]);

Meta