data-store-0.3.0.1: Type safe, in-memory dictionary with multidimensional keys.

Safe HaskellNone

Data.Store.Selection

Synopsis

Documentation

(.<) :: GetDimension n (Index irs ts) => (tag, n) -> DimensionType n irs ts -> Selection tag krs irs tsSource

The expression (sDim .< c) is a selection that includes value x if and only if it is indexed in the sDim dimension with a key k such that k < c.

Complexity of resolve: O(log n + k)

(.<=) :: GetDimension n (Index irs ts) => (tag, n) -> DimensionType n irs ts -> Selection tag krs irs tsSource

The expression (sDim .<= c) is a selection that includes value x if and only if it is indexed in the sDim dimension with a key k such that k <= c.

Complexity of resolve: O(log n + k)

(.>) :: GetDimension n (Index irs ts) => (tag, n) -> DimensionType n irs ts -> Selection tag krs irs tsSource

The expression (sDim .> c) is a selection that includes value x if and only if it is indexed in the sDim dimension with a key k such that k > c.

Complexity of resolve: O(log n + k)

(.>=) :: GetDimension n (Index irs ts) => (tag, n) -> DimensionType n irs ts -> Selection tag krs irs tsSource

The expression (sDim .>= c) is a selection that includes value x if and only if it is indexed in the sDim dimension with a key k such that k >= c.

Complexity of resolve: O(log n + k)

(./=) :: GetDimension n (Index irs ts) => (tag, n) -> DimensionType n irs ts -> Selection tag krs irs tsSource

The expression (sDim ./= c) is a selection that includes value x if and only if it is indexed in the sDim dimension with a key k such that k /= c.

Complexity of resolve: O(n)

(.==) :: GetDimension n (Index irs ts) => (tag, n) -> DimensionType n irs ts -> Selection tag krs irs tsSource

The expression (sDim .== c) is a selection that includes value x if and only if it is indexed in the sDim dimension with a key k such that k == c.

Complexity of resolve: O(log n)

(.&&) :: (IsSelection s1, IsSelection s2) => s1 tag krs irs ts -> s2 tag krs irs ts -> Selection tag krs irs tsSource

The expression (s1 .&& s2) is a selection that includes the intersection of the selections s1 and s2.

Complexity of resolve: O(c(s1) + c(s2) + s(s1) + s(s2)

(.||) :: (IsSelection s1, IsSelection s2) => s1 tag krs irs ts -> s2 tag krs irs ts -> Selection tag krs irs tsSource

The expression (s1 .|| s2) is a selection that includes the union of the selections s1 and s2.

Complexity of resolve: O(c(s1) + c(s2) + s(s1) + s(s2)

not :: IsSelection sel => sel tag krs irs ts -> Selection tag krs irs tsSource

The expression (not' sel) is a selection that includes all values except those that match the selection sel.

all :: [Selection tag krs irs ts] -> Selection tag krs irs tsSource

Selection that matches the intersection of all the selections in the list or everything if the list is empty.

all1D :: (tag, n) -> [(tag, n) -> Selection tag krs irs ts] -> Selection tag krs irs tsSource

The expression (all1D d ss) is equivalent to (all' $ map ($ d) ss).

any :: [Selection tag krs irs ts] -> Selection tag krs irs tsSource

Selection that matches the union of all the selections in the list or nothing if the list is empty.

any1D :: (tag, n) -> [(tag, n) -> Selection tag krs irs ts] -> Selection tag krs irs tsSource

The expression (any1D d ss) is equivalent to (any' $ map ($ d) ss).

class IsSelection sel whereSource

Methods

resolve :: sel tag krs irs ts -> Store tag krs irs ts v -> IntSetSource

data Selection tag krs irs ts Source