Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- class MVector (Mutable v) a ⇒ Vector (v ∷ Type → Type) a
- class MVector (v ∷ Type → TYPE LiftedRep → TYPE LiftedRep) a
- data KVVector kv vv a = KVVector {
- keysVector ∷ !(kv (Key a))
- valsVector ∷ !(vv (Value a))
- data KVMVector kmv vmv s a
- toMap ∷ (Vector kv k, Vector vv v) ⇒ KVVector kv vv (k, v) → Map k v
- fromMap ∷ (Vector kv k, Vector vv v) ⇒ Map k v → KVVector kv vv (k, v)
- fromAscList ∷ (Eq k, Vector kv k, Vector vv v) ⇒ [(k, v)] → KVVector kv vv (k, v)
- fromAscListN ∷ (Eq k, Vector kv k, Vector vv v) ⇒ Int → [(k, v)] → KVVector kv vv (k, v)
- fromAscListWithKey ∷ (Eq k, Vector kv k, Vector vv v) ⇒ (k → v → v → v) → [(k, v)] → KVVector kv vv (k, v)
- fromAscListWithKeyN ∷ (Eq k, Vector kv k, Vector vv v) ⇒ Int → (k → v → v → v) → [(k, v)] → KVVector kv vv (k, v)
- fromDistinctAscList ∷ (Vector kv k, Vector vv v) ⇒ [(k, v)] → KVVector kv vv (k, v)
- fromDistinctAscListN ∷ (Vector kv k, Vector vv v) ⇒ Int → [(k, v)] → KVVector kv vv (k, v)
- fromList ∷ (Vector kv k, Vector vv v, Ord k) ⇒ [(k, v)] → KVVector kv vv (k, v)
- fromListN ∷ (Vector kv k, Vector vv v, Ord k) ⇒ Int → [(k, v)] → KVVector kv vv (k, v)
- mapValsKVVector ∷ (Vector vv a, Vector vv b) ⇒ (a → b) → KVVector kv vv (k, a) → KVVector kv vv (k, b)
- mapWithKeyKVVector ∷ (Vector kv k, Vector vv a, Vector vv b) ⇒ (k → a → b) → KVVector kv vv (k, a) → KVVector kv vv (k, b)
- memberKVVector ∷ (Ord k, Vector kv k) ⇒ k → KVVector kv vv (k, v) → Bool
- lookupKVVector ∷ (Ord k, Vector kv k, Vector vv v) ⇒ k → KVVector kv vv (k, v) → Maybe v
- lookupDefaultKVVector ∷ (Ord k, Vector kv k, Vector vv v) ⇒ v → k → KVVector kv vv (k, v) → v
- sortAscKVMVector ∷ (MVector kmv k, MVector vmv v, Ord k, PrimMonad m) ⇒ KVMVector kmv vmv (PrimState m) (k, v) → m ()
- internKVVectorMaybe ∷ (Vector kv k, Ord k) ⇒ k → KVVector kv vv (k, v) → Maybe k
- normalize ∷ (Vector kv k, Vector vv v, Ord k) ⇒ KVVector kv vv (k, v) → KVVector kv vv (k, v)
- normalizeM ∷ (Ord k, PrimMonad m, Vector kv k, Vector vv v) ⇒ KVMVector (Mutable kv) (Mutable vv) (PrimState m) (k, v) → m (KVMVector (Mutable kv) (Mutable vv) (PrimState m) (k, v))
Documentation
class MVector (Mutable v) a ⇒ Vector (v ∷ Type → Type) a Source #
Class of immutable vectors. Every immutable vector is associated with its
mutable version through the Mutable
type family. Methods of this class
should not be used directly. Instead, Data.Vector.Generic and other
Data.Vector
modules provide safe and fusible wrappers.
Minimum complete implementation:
Instances
class MVector (v ∷ Type → TYPE LiftedRep → TYPE LiftedRep) a Source #
Class of mutable vectors parameterised with a primitive state token.
basicLength, basicUnsafeSlice, basicOverlaps, basicUnsafeNew, basicInitialize, basicUnsafeRead, basicUnsafeWrite
Instances
data KVVector kv vv a Source #
KVVector | |
|
Instances
data KVMVector kmv vmv s a Source #
Instances
(MVector kmv k, MVector vmv v) ⇒ MVector (KVMVector kmv vmv) (k, v) Source # | |
Defined in Data.VMap.KVVector basicLength ∷ KVMVector kmv vmv s (k, v) → Int Source # basicUnsafeSlice ∷ Int → Int → KVMVector kmv vmv s (k, v) → KVMVector kmv vmv s (k, v) Source # basicOverlaps ∷ KVMVector kmv vmv s (k, v) → KVMVector kmv vmv s (k, v) → Bool Source # basicUnsafeNew ∷ Int → ST s (KVMVector kmv vmv s (k, v)) Source # basicInitialize ∷ KVMVector kmv vmv s (k, v) → ST s () Source # basicUnsafeReplicate ∷ Int → (k, v) → ST s (KVMVector kmv vmv s (k, v)) Source # basicUnsafeRead ∷ KVMVector kmv vmv s (k, v) → Int → ST s (k, v) Source # basicUnsafeWrite ∷ KVMVector kmv vmv s (k, v) → Int → (k, v) → ST s () Source # basicClear ∷ KVMVector kmv vmv s (k, v) → ST s () Source # basicSet ∷ KVMVector kmv vmv s (k, v) → (k, v) → ST s () Source # basicUnsafeCopy ∷ KVMVector kmv vmv s (k, v) → KVMVector kmv vmv s (k, v) → ST s () Source # basicUnsafeMove ∷ KVMVector kmv vmv s (k, v) → KVMVector kmv vmv s (k, v) → ST s () Source # basicUnsafeGrow ∷ KVMVector kmv vmv s (k, v) → Int → ST s (KVMVector kmv vmv s (k, v)) Source # |
toMap ∷ (Vector kv k, Vector vv v) ⇒ KVVector kv vv (k, v) → Map k v Source #
Convert a sorted key/value vector into a Map
fromMap ∷ (Vector kv k, Vector vv v) ⇒ Map k v → KVVector kv vv (k, v) Source #
Convert a Map
into a sorted key/value vector.
fromAscList ∷ (Eq k, Vector kv k, Vector vv v) ⇒ [(k, v)] → KVVector kv vv (k, v) Source #
Convert a sorted assoc list into a KVVector
fromAscListN ∷ (Eq k, Vector kv k, Vector vv v) ⇒ Int → [(k, v)] → KVVector kv vv (k, v) Source #
Convert a sorted assoc list into a KVVector
fromAscListWithKey ∷ (Eq k, Vector kv k, Vector vv v) ⇒ (k → v → v → v) → [(k, v)] → KVVector kv vv (k, v) Source #
fromAscListWithKeyN ∷ (Eq k, Vector kv k, Vector vv v) ⇒ Int → (k → v → v → v) → [(k, v)] → KVVector kv vv (k, v) Source #
fromDistinctAscList ∷ (Vector kv k, Vector vv v) ⇒ [(k, v)] → KVVector kv vv (k, v) Source #
Convert a sorted assoc list with distionct keys into a KVVector
fromDistinctAscListN ∷ (Vector kv k, Vector vv v) ⇒ Int → [(k, v)] → KVVector kv vv (k, v) Source #
Convert a sorted assoc list with distionct keys into a KVVector. Length must be supplied.
fromList ∷ (Vector kv k, Vector vv v, Ord k) ⇒ [(k, v)] → KVVector kv vv (k, v) Source #
Convert a possibly unsorted assoc list into a KVVector.
fromListN ∷ (Vector kv k, Vector vv v, Ord k) ⇒ Int → [(k, v)] → KVVector kv vv (k, v) Source #
Convert a possibly unsorted assoc list into a KVVector.
mapValsKVVector ∷ (Vector vv a, Vector vv b) ⇒ (a → b) → KVVector kv vv (k, a) → KVVector kv vv (k, b) Source #
mapWithKeyKVVector ∷ (Vector kv k, Vector vv a, Vector vv b) ⇒ (k → a → b) → KVVector kv vv (k, a) → KVVector kv vv (k, b) Source #
lookupKVVector ∷ (Ord k, Vector kv k, Vector vv v) ⇒ k → KVVector kv vv (k, v) → Maybe v Source #
Look up a value by the key in a sorted key/value vector. Ensure it is sorted otherwise terrible things happen.
lookupDefaultKVVector ∷ (Ord k, Vector kv k, Vector vv v) ⇒ v → k → KVVector kv vv (k, v) → v Source #
Look up a value by the key in a sorted key/value vector. Ensure it is sorted otherwise terrible things happen.
sortAscKVMVector ∷ (MVector kmv k, MVector vmv v, Ord k, PrimMonad m) ⇒ KVMVector kmv vmv (PrimState m) (k, v) → m () Source #
normalize ∷ (Vector kv k, Vector vv v, Ord k) ⇒ KVVector kv vv (k, v) → KVVector kv vv (k, v) Source #
normalizeM ∷ (Ord k, PrimMonad m, Vector kv k, Vector vv v) ⇒ KVMVector (Mutable kv) (Mutable vv) (PrimState m) (k, v) → m (KVMVector (Mutable kv) (Mutable vv) (PrimState m) (k, v)) Source #