vector-map-1.2.1.0: An efficient VMap that is backed by two vectors: one for keys and another for values.
Safe HaskellNone
LanguageHaskell2010

Data.VMap

Synopsis

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

Instances details
Vector Vector a 
Instance details

Defined in Data.Vector

Methods

basicUnsafeFreeze ∷ Mutable Vector s a → ST s (Vector a) Source #

basicUnsafeThaw ∷ Vector a → ST s (Mutable Vector s a) Source #

basicLength ∷ Vector a → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector a → Vector a Source #

basicUnsafeIndexM ∷ Vector a → Int → Box a Source #

basicUnsafeCopy ∷ Mutable Vector s a → Vector a → ST s () Source #

elemseq ∷ Vector a → a → b → b Source #

Prim a ⇒ Vector Vector a 
Instance details

Defined in Data.Vector.Primitive

Methods

basicUnsafeFreeze ∷ Mutable Vector s a → ST s (Vector a) Source #

basicUnsafeThaw ∷ Vector a → ST s (Mutable Vector s a) Source #

basicLength ∷ Vector a → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector a → Vector a Source #

basicUnsafeIndexM ∷ Vector a → Int → Box a Source #

basicUnsafeCopy ∷ Mutable Vector s a → Vector a → ST s () Source #

elemseq ∷ Vector a → a → b → b Source #

Storable a ⇒ Vector Vector a 
Instance details

Defined in Data.Vector.Storable

Methods

basicUnsafeFreeze ∷ Mutable Vector s a → ST s (Vector a) Source #

basicUnsafeThaw ∷ Vector a → ST s (Mutable Vector s a) Source #

basicLength ∷ Vector a → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector a → Vector a Source #

basicUnsafeIndexM ∷ Vector a → Int → Box a Source #

basicUnsafeCopy ∷ Mutable Vector s a → Vector a → ST s () Source #

elemseq ∷ Vector a → a → b → b Source #

Vector Vector a 
Instance details

Defined in Data.Vector.Strict

Methods

basicUnsafeFreeze ∷ Mutable Vector s a → ST s (Vector a) Source #

basicUnsafeThaw ∷ Vector a → ST s (Mutable Vector s a) Source #

basicLength ∷ Vector a → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector a → Vector a Source #

basicUnsafeIndexM ∷ Vector a → Int → Box a Source #

basicUnsafeCopy ∷ Mutable Vector s a → Vector a → ST s () Source #

elemseq ∷ Vector a → a → b → b Source #

Vector Vector All 
Instance details

Defined in Data.Vector.Unboxed.Base

Vector Vector Any 
Instance details

Defined in Data.Vector.Unboxed.Base

Vector Vector Int16 
Instance details

Defined in Data.Vector.Unboxed.Base

Vector Vector Int32 
Instance details

Defined in Data.Vector.Unboxed.Base

Vector Vector Int64 
Instance details

Defined in Data.Vector.Unboxed.Base

Vector Vector Int8 
Instance details

Defined in Data.Vector.Unboxed.Base

Vector Vector Word16 
Instance details

Defined in Data.Vector.Unboxed.Base

Vector Vector Word32 
Instance details

Defined in Data.Vector.Unboxed.Base

Vector Vector Word64 
Instance details

Defined in Data.Vector.Unboxed.Base

Vector Vector Word8 
Instance details

Defined in Data.Vector.Unboxed.Base

Vector Vector () 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze ∷ Mutable Vector s () → ST s (Vector ()) Source #

basicUnsafeThaw ∷ Vector () → ST s (Mutable Vector s ()) Source #

basicLength ∷ Vector () → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector () → Vector () Source #

basicUnsafeIndexM ∷ Vector () → Int → Box () Source #

basicUnsafeCopy ∷ Mutable Vector s () → Vector () → ST s () Source #

elemseq ∷ Vector () → () → b → b Source #

Vector Vector Bool 
Instance details

Defined in Data.Vector.Unboxed.Base

Vector Vector Char 
Instance details

Defined in Data.Vector.Unboxed.Base

Vector Vector Double 
Instance details

Defined in Data.Vector.Unboxed.Base

Vector Vector Float 
Instance details

Defined in Data.Vector.Unboxed.Base

Vector Vector Int 
Instance details

Defined in Data.Vector.Unboxed.Base

Vector Vector Word 
Instance details

Defined in Data.Vector.Unboxed.Base

Unbox a ⇒ Vector Vector (Complex a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Unbox a ⇒ Vector Vector (First a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Unbox a ⇒ Vector Vector (Last a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze ∷ Mutable Vector s (Last a) → ST s (Vector (Last a)) Source #

basicUnsafeThaw ∷ Vector (Last a) → ST s (Mutable Vector s (Last a)) Source #

basicLength ∷ Vector (Last a) → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector (Last a) → Vector (Last a) Source #

basicUnsafeIndexM ∷ Vector (Last a) → Int → Box (Last a) Source #

basicUnsafeCopy ∷ Mutable Vector s (Last a) → Vector (Last a) → ST s () Source #

elemseq ∷ Vector (Last a) → Last a → b → b Source #

Unbox a ⇒ Vector Vector (Max a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze ∷ Mutable Vector s (Max a) → ST s (Vector (Max a)) Source #

basicUnsafeThaw ∷ Vector (Max a) → ST s (Mutable Vector s (Max a)) Source #

basicLength ∷ Vector (Max a) → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector (Max a) → Vector (Max a) Source #

basicUnsafeIndexM ∷ Vector (Max a) → Int → Box (Max a) Source #

basicUnsafeCopy ∷ Mutable Vector s (Max a) → Vector (Max a) → ST s () Source #

elemseq ∷ Vector (Max a) → Max a → b → b Source #

Unbox a ⇒ Vector Vector (Min a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze ∷ Mutable Vector s (Min a) → ST s (Vector (Min a)) Source #

basicUnsafeThaw ∷ Vector (Min a) → ST s (Mutable Vector s (Min a)) Source #

basicLength ∷ Vector (Min a) → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector (Min a) → Vector (Min a) Source #

basicUnsafeIndexM ∷ Vector (Min a) → Int → Box (Min a) Source #

basicUnsafeCopy ∷ Mutable Vector s (Min a) → Vector (Min a) → ST s () Source #

elemseq ∷ Vector (Min a) → Min a → b → b Source #

Unbox a ⇒ Vector Vector (WrappedMonoid a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Unbox a ⇒ Vector Vector (Identity a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Unbox a ⇒ Vector Vector (Down a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze ∷ Mutable Vector s (Down a) → ST s (Vector (Down a)) Source #

basicUnsafeThaw ∷ Vector (Down a) → ST s (Mutable Vector s (Down a)) Source #

basicLength ∷ Vector (Down a) → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector (Down a) → Vector (Down a) Source #

basicUnsafeIndexM ∷ Vector (Down a) → Int → Box (Down a) Source #

basicUnsafeCopy ∷ Mutable Vector s (Down a) → Vector (Down a) → ST s () Source #

elemseq ∷ Vector (Down a) → Down a → b → b Source #

Unbox a ⇒ Vector Vector (Dual a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze ∷ Mutable Vector s (Dual a) → ST s (Vector (Dual a)) Source #

basicUnsafeThaw ∷ Vector (Dual a) → ST s (Mutable Vector s (Dual a)) Source #

basicLength ∷ Vector (Dual a) → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector (Dual a) → Vector (Dual a) Source #

basicUnsafeIndexM ∷ Vector (Dual a) → Int → Box (Dual a) Source #

basicUnsafeCopy ∷ Mutable Vector s (Dual a) → Vector (Dual a) → ST s () Source #

elemseq ∷ Vector (Dual a) → Dual a → b → b Source #

Unbox a ⇒ Vector Vector (Product a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Unbox a ⇒ Vector Vector (Sum a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze ∷ Mutable Vector s (Sum a) → ST s (Vector (Sum a)) Source #

basicUnsafeThaw ∷ Vector (Sum a) → ST s (Mutable Vector s (Sum a)) Source #

basicLength ∷ Vector (Sum a) → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector (Sum a) → Vector (Sum a) Source #

basicUnsafeIndexM ∷ Vector (Sum a) → Int → Box (Sum a) Source #

basicUnsafeCopy ∷ Mutable Vector s (Sum a) → Vector (Sum a) → ST s () Source #

elemseq ∷ Vector (Sum a) → Sum a → b → b Source #

Vector Vector (DoNotUnboxLazy a) 
Instance details

Defined in Data.Vector.Unboxed.Base

NFData a ⇒ Vector Vector (DoNotUnboxNormalForm a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Vector Vector (DoNotUnboxStrict a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Prim a ⇒ Vector Vector (UnboxViaPrim a) 
Instance details

Defined in Data.Vector.Unboxed.Base

(Unbox a, Unbox b) ⇒ Vector Vector (Arg a b) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze ∷ Mutable Vector s (Arg a b) → ST s (Vector (Arg a b)) Source #

basicUnsafeThaw ∷ Vector (Arg a b) → ST s (Mutable Vector s (Arg a b)) Source #

basicLength ∷ Vector (Arg a b) → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector (Arg a b) → Vector (Arg a b) Source #

basicUnsafeIndexM ∷ Vector (Arg a b) → Int → Box (Arg a b) Source #

basicUnsafeCopy ∷ Mutable Vector s (Arg a b) → Vector (Arg a b) → ST s () Source #

elemseq ∷ Vector (Arg a b) → Arg a b → b0 → b0 Source #

(IsoUnbox a b, Unbox b) ⇒ Vector Vector (As a b) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze ∷ Mutable Vector s (As a b) → ST s (Vector (As a b)) Source #

basicUnsafeThaw ∷ Vector (As a b) → ST s (Mutable Vector s (As a b)) Source #

basicLength ∷ Vector (As a b) → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector (As a b) → Vector (As a b) Source #

basicUnsafeIndexM ∷ Vector (As a b) → Int → Box (As a b) Source #

basicUnsafeCopy ∷ Mutable Vector s (As a b) → Vector (As a b) → ST s () Source #

elemseq ∷ Vector (As a b) → As a b → b0 → b0 Source #

(Unbox a, Unbox b) ⇒ Vector Vector (a, b) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze ∷ Mutable Vector s (a, b) → ST s (Vector (a, b)) Source #

basicUnsafeThaw ∷ Vector (a, b) → ST s (Mutable Vector s (a, b)) Source #

basicLength ∷ Vector (a, b) → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector (a, b) → Vector (a, b) Source #

basicUnsafeIndexM ∷ Vector (a, b) → Int → Box (a, b) Source #

basicUnsafeCopy ∷ Mutable Vector s (a, b) → Vector (a, b) → ST s () Source #

elemseq ∷ Vector (a, b) → (a, b) → b0 → b0 Source #

Unbox a ⇒ Vector Vector (Const a b) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze ∷ Mutable Vector s (Const a b) → ST s (Vector (Const a b)) Source #

basicUnsafeThaw ∷ Vector (Const a b) → ST s (Mutable Vector s (Const a b)) Source #

basicLength ∷ Vector (Const a b) → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector (Const a b) → Vector (Const a b) Source #

basicUnsafeIndexM ∷ Vector (Const a b) → Int → Box (Const a b) Source #

basicUnsafeCopy ∷ Mutable Vector s (Const a b) → Vector (Const a b) → ST s () Source #

elemseq ∷ Vector (Const a b) → Const a b → b0 → b0 Source #

Unbox (f a) ⇒ Vector Vector (Alt f a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze ∷ Mutable Vector s (Alt f a) → ST s (Vector (Alt f a)) Source #

basicUnsafeThaw ∷ Vector (Alt f a) → ST s (Mutable Vector s (Alt f a)) Source #

basicLength ∷ Vector (Alt f a) → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector (Alt f a) → Vector (Alt f a) Source #

basicUnsafeIndexM ∷ Vector (Alt f a) → Int → Box (Alt f a) Source #

basicUnsafeCopy ∷ Mutable Vector s (Alt f a) → Vector (Alt f a) → ST s () Source #

elemseq ∷ Vector (Alt f a) → Alt f a → b → b Source #

(Unbox a, Unbox b, Unbox c) ⇒ Vector Vector (a, b, c) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze ∷ Mutable Vector s (a, b, c) → ST s (Vector (a, b, c)) Source #

basicUnsafeThaw ∷ Vector (a, b, c) → ST s (Mutable Vector s (a, b, c)) Source #

basicLength ∷ Vector (a, b, c) → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector (a, b, c) → Vector (a, b, c) Source #

basicUnsafeIndexM ∷ Vector (a, b, c) → Int → Box (a, b, c) Source #

basicUnsafeCopy ∷ Mutable Vector s (a, b, c) → Vector (a, b, c) → ST s () Source #

elemseq ∷ Vector (a, b, c) → (a, b, c) → b0 → b0 Source #

(Unbox a, Unbox b, Unbox c, Unbox d) ⇒ Vector Vector (a, b, c, d) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze ∷ Mutable Vector s (a, b, c, d) → ST s (Vector (a, b, c, d)) Source #

basicUnsafeThaw ∷ Vector (a, b, c, d) → ST s (Mutable Vector s (a, b, c, d)) Source #

basicLength ∷ Vector (a, b, c, d) → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector (a, b, c, d) → Vector (a, b, c, d) Source #

basicUnsafeIndexM ∷ Vector (a, b, c, d) → Int → Box (a, b, c, d) Source #

basicUnsafeCopy ∷ Mutable Vector s (a, b, c, d) → Vector (a, b, c, d) → ST s () Source #

elemseq ∷ Vector (a, b, c, d) → (a, b, c, d) → b0 → b0 Source #

Unbox (f (g a)) ⇒ Vector Vector (Compose f g a) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze ∷ Mutable Vector s (Compose f g a) → ST s (Vector (Compose f g a)) Source #

basicUnsafeThaw ∷ Vector (Compose f g a) → ST s (Mutable Vector s (Compose f g a)) Source #

basicLength ∷ Vector (Compose f g a) → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector (Compose f g a) → Vector (Compose f g a) Source #

basicUnsafeIndexM ∷ Vector (Compose f g a) → Int → Box (Compose f g a) Source #

basicUnsafeCopy ∷ Mutable Vector s (Compose f g a) → Vector (Compose f g a) → ST s () Source #

elemseq ∷ Vector (Compose f g a) → Compose f g a → b → b Source #

(Unbox a, Unbox b, Unbox c, Unbox d, Unbox e) ⇒ Vector Vector (a, b, c, d, e) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze ∷ Mutable Vector s (a, b, c, d, e) → ST s (Vector (a, b, c, d, e)) Source #

basicUnsafeThaw ∷ Vector (a, b, c, d, e) → ST s (Mutable Vector s (a, b, c, d, e)) Source #

basicLength ∷ Vector (a, b, c, d, e) → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector (a, b, c, d, e) → Vector (a, b, c, d, e) Source #

basicUnsafeIndexM ∷ Vector (a, b, c, d, e) → Int → Box (a, b, c, d, e) Source #

basicUnsafeCopy ∷ Mutable Vector s (a, b, c, d, e) → Vector (a, b, c, d, e) → ST s () Source #

elemseq ∷ Vector (a, b, c, d, e) → (a, b, c, d, e) → b0 → b0 Source #

(Unbox a, Unbox b, Unbox c, Unbox d, Unbox e, Unbox f) ⇒ Vector Vector (a, b, c, d, e, f) 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze ∷ Mutable Vector s (a, b, c, d, e, f) → ST s (Vector (a, b, c, d, e, f)) Source #

basicUnsafeThaw ∷ Vector (a, b, c, d, e, f) → ST s (Mutable Vector s (a, b, c, d, e, f)) Source #

basicLength ∷ Vector (a, b, c, d, e, f) → Int Source #

basicUnsafeSlice ∷ Int → Int → Vector (a, b, c, d, e, f) → Vector (a, b, c, d, e, f) Source #

basicUnsafeIndexM ∷ Vector (a, b, c, d, e, f) → Int → Box (a, b, c, d, e, f) Source #

basicUnsafeCopy ∷ Mutable Vector s (a, b, c, d, e, f) → Vector (a, b, c, d, e, f) → ST s () Source #

elemseq ∷ Vector (a, b, c, d, e, f) → (a, b, c, d, e, f) → b0 → b0 Source #

(Vector kv k, Vector vv v) ⇒ Vector (KVVector kv vv) (k, v) Source # 
Instance details

Defined in Data.VMap.KVVector

Methods

basicUnsafeFreeze ∷ Mutable (KVVector kv vv) s (k, v) → ST s (KVVector kv vv (k, v)) Source #

basicUnsafeThaw ∷ KVVector kv vv (k, v) → ST s (Mutable (KVVector kv vv) s (k, v)) Source #

basicLength ∷ KVVector kv vv (k, v) → Int Source #

basicUnsafeSlice ∷ Int → Int → KVVector kv vv (k, v) → KVVector kv vv (k, v) Source #

basicUnsafeIndexM ∷ KVVector kv vv (k, v) → Int → Box (k, v) Source #

basicUnsafeCopy ∷ Mutable (KVVector kv vv) s (k, v) → KVVector kv vv (k, v) → ST s () Source #

elemseq ∷ KVVector kv vv (k, v) → (k, v) → b → b Source #

type VB = Vector Source #

type VU = Vector Source #

type VP = Vector Source #

type VS = Vector Source #

newtype VMap (kv ∷ Type → Type) (vv ∷ Type → Type) k v Source #

Constructors

VMap 

Fields

Instances

Instances details
(Vector vk k, Vector vv v, Ord k, FromJSONKey k, FromJSON v) ⇒ FromJSON (VMap vk vv k v) Source # 
Instance details

Defined in Data.VMap

Methods

parseJSON ∷ Value → Parser (VMap vk vv k v) Source #

parseJSONList ∷ Value → Parser [VMap vk vv k v] Source #

omittedField ∷ Maybe (VMap vk vv k v) Source #

(Vector vk k, Vector vv v, ToJSONKey k, ToJSON v) ⇒ ToJSON (VMap vk vv k v) Source # 
Instance details

Defined in Data.VMap

Methods

toJSON ∷ VMap vk vv k v → Value Source #

toEncoding ∷ VMap vk vv k v → Encoding Source #

toJSONList ∷ [VMap vk vv k v] → Value Source #

toEncodingList ∷ [VMap vk vv k v] → Encoding Source #

omitField ∷ VMap vk vv k v → Bool Source #

(NFData (kv k), NFData (vv v)) ⇒ NFData (VMap kv vv k v) Source # 
Instance details

Defined in Data.VMap

Methods

rnf ∷ VMap kv vv k v → () #

(Vector kv k, Vector vv v, Ord k) ⇒ Monoid (VMap kv vv k v) Source # 
Instance details

Defined in Data.VMap

Methods

mempty ∷ VMap kv vv k v #

mappend ∷ VMap kv vv k v → VMap kv vv k v → VMap kv vv k v #

mconcat ∷ [VMap kv vv k v] → VMap kv vv k v #

(Vector kv k, Vector vv v, Ord k) ⇒ Semigroup (VMap kv vv k v) Source # 
Instance details

Defined in Data.VMap

Methods

(<>) ∷ VMap kv vv k v → VMap kv vv k v → VMap kv vv k v #

sconcat ∷ NonEmpty (VMap kv vv k v) → VMap kv vv k v #

stimes ∷ Integral b ⇒ b → VMap kv vv k v → VMap kv vv k v #

Generic (VMap kv vv k v) Source # 
Instance details

Defined in Data.VMap

Associated Types

type Rep (VMap kv vv k v) 
Instance details

Defined in Data.VMap

type Rep (VMap kv vv k v) = D1 ('MetaData "VMap" "Data.VMap" "vector-map-1.2.1.0-inplace" 'True) (C1 ('MetaCons "VMap" 'PrefixI 'True) (S1 ('MetaSel ('Just "unVMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (KVVector kv vv (k, v)))))

Methods

from ∷ VMap kv vv k v → Rep (VMap kv vv k v) x #

to ∷ Rep (VMap kv vv k v) x → VMap kv vv k v #

(Vector kv k, Vector vv v, Ord k) ⇒ IsList (VMap kv vv k v) Source # 
Instance details

Defined in Data.VMap

Associated Types

type Item (VMap kv vv k v) 
Instance details

Defined in Data.VMap

type Item (VMap kv vv k v) = (k, v)

Methods

fromList ∷ [Item (VMap kv vv k v)] → VMap kv vv k v #

fromListN ∷ Int → [Item (VMap kv vv k v)] → VMap kv vv k v #

toList ∷ VMap kv vv k v → [Item (VMap kv vv k v)] #

(Show k, Show v, Vector kv k, Vector vv v) ⇒ Show (VMap kv vv k v) Source # 
Instance details

Defined in Data.VMap

Methods

showsPrec ∷ Int → VMap kv vv k v → ShowS #

show ∷ VMap kv vv k v → String #

showList ∷ [VMap kv vv k v] → ShowS #

(Eq (kv k), Eq (vv v)) ⇒ Eq (VMap kv vv k v) Source # 
Instance details

Defined in Data.VMap

Methods

(==) ∷ VMap kv vv k v → VMap kv vv k v → Bool #

(/=) ∷ VMap kv vv k v → VMap kv vv k v → Bool #

(NoThunks (kv k), NoThunks (vv v), Typeable kv, Typeable vv, Typeable k, Typeable v) ⇒ NoThunks (VMap kv vv k v) Source # 
Instance details

Defined in Data.VMap

Methods

noThunks ∷ Context → VMap kv vv k v → IO (Maybe ThunkInfo) Source #

wNoThunks ∷ Context → VMap kv vv k v → IO (Maybe ThunkInfo) Source #

showTypeOf ∷ Proxy (VMap kv vv k v) → String Source #

type Rep (VMap kv vv k v) Source # 
Instance details

Defined in Data.VMap

type Rep (VMap kv vv k v) = D1 ('MetaData "VMap" "Data.VMap" "vector-map-1.2.1.0-inplace" 'True) (C1 ('MetaCons "VMap" 'PrefixI 'True) (S1 ('MetaSel ('Just "unVMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (KVVector kv vv (k, v)))))
type Item (VMap kv vv k v) Source # 
Instance details

Defined in Data.VMap

type Item (VMap kv vv k v) = (k, v)

empty ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) v. (Vector kv k, Vector vv v) ⇒ VMap kv vv k v Source #

size ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) v. (Vector kv k, Vector vv v) ⇒ VMap kv vv k v → Int Source #

lookup ∷ ∀ k (kv ∷ Type → Type) (vv ∷ Type → Type) v. (Ord k, Vector kv k, Vector vv v) ⇒ k → VMap kv vv k v → Maybe v Source #

findWithDefault ∷ ∀ k (kv ∷ Type → Type) (vv ∷ Type → Type) v. (Ord k, Vector kv k, Vector vv v) ⇒ v → k → VMap kv vv k v → v Source #

lookupIndex ∷ ∀ k (kv ∷ Type → Type) (vv ∷ Type → Type) v. (Ord k, Vector kv k) ⇒ k → VMap kv vv k v → Maybe Int Source #

elemAt ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) v. (Vector kv k, Vector vv v) ⇒ Int → VMap kv vv k v → (k, v) Source #

member ∷ ∀ k (kv ∷ Type → Type) (vv ∷ Type → Type) v. (Ord k, Vector kv k) ⇒ k → VMap kv vv k v → Bool Source #

notMember ∷ ∀ k (kv ∷ Type → Type) (vv ∷ Type → Type) v. (Ord k, Vector kv k) ⇒ k → VMap kv vv k v → Bool Source #

map ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) a b. (Vector kv k, Vector vv a, Vector vv b) ⇒ (a → b) → VMap kv vv k a → VMap kv vv k b Source #

mapMaybe ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) a b. (Vector kv k, Vector vv a, Vector vv b) ⇒ (a → Maybe b) → VMap kv vv k a → VMap kv vv k b Source #

mapMaybeWithKey ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) a b. (Vector kv k, Vector vv a, Vector vv b) ⇒ (k → a → Maybe b) → VMap kv vv k a → VMap kv vv k b Source #

mapWithKey ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) a b. (Vector kv k, Vector vv a, Vector vv b) ⇒ (k → a → b) → VMap kv vv k a → VMap kv vv k b Source #

filter ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) v. (Vector kv k, Vector vv v) ⇒ (k → v → Bool) → VMap kv vv k v → VMap kv vv k v Source #

fold ∷ ∀ (vv ∷ Type → Type) m (kv ∷ Type → Type) k. (Vector vv m, Monoid m) ⇒ VMap kv vv k m → m Source #

Fold values monoidally

foldl ∷ ∀ (vv ∷ Type → Type) v a (kv ∷ Type → Type) k. Vector vv v ⇒ (a → v → a) → a → VMap kv vv k v → a Source #

foldlWithKey ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) v a. (Vector kv k, Vector vv v) ⇒ (a → k → v → a) → a → VMap kv vv k v → a Source #

foldMap ∷ ∀ (vv ∷ Type → Type) v m (kv ∷ Type → Type) k. (Vector vv v, Monoid m) ⇒ (v → m) → VMap kv vv k v → m Source #

foldMapWithKey ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) v m. (Vector kv k, Vector vv v, Monoid m) ⇒ (k → v → m) → VMap kv vv k v → m Source #

union ∷ ∀ k (kv ∷ Type → Type) (vv ∷ Type → Type) v. (Ord k, Vector kv k, Vector vv v) ⇒ VMap kv vv k v → VMap kv vv k v → VMap kv vv k v Source #

unionWith ∷ ∀ k (kv ∷ Type → Type) (vv ∷ Type → Type) v. (Ord k, Vector kv k, Vector vv v) ⇒ (v → v → v) → VMap kv vv k v → VMap kv vv k v → VMap kv vv k v Source #

unionWithKey ∷ ∀ k (kv ∷ Type → Type) (vv ∷ Type → Type) v. (Ord k, Vector kv k, Vector vv v) ⇒ (k → v → v → v) → VMap kv vv k v → VMap kv vv k v → VMap kv vv k v Source #

fromMap ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) v. (Vector kv k, Vector vv v) ⇒ Map k v → VMap kv vv k v Source #

toMap ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) v. (Vector kv k, Vector vv v) ⇒ VMap kv vv k v → Map k v Source #

fromList ∷ ∀ k (kv ∷ Type → Type) (vv ∷ Type → Type) v. (Ord k, Vector kv k, Vector vv v) ⇒ [(k, v)] → VMap kv vv k v Source #

fromListN ∷ ∀ k (kv ∷ Type → Type) (vv ∷ Type → Type) v. (Ord k, Vector kv k, Vector vv v) ⇒ Int → [(k, v)] → VMap kv vv k v Source #

toList ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) v. (Vector kv k, Vector vv v) ⇒ VMap kv vv k v → [(k, v)] Source #

toAscList ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) v. (Vector kv k, Vector vv v) ⇒ VMap kv vv k v → [(k, v)] Source #

keys ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) v. Vector kv k ⇒ VMap kv vv k v → [k] Source #

keysSet ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) v. Vector kv k ⇒ VMap kv vv k v → Set k Source #

elems ∷ ∀ (vv ∷ Type → Type) v (kv ∷ Type → Type) k. Vector vv v ⇒ VMap kv vv k v → [v] Source #

fromAscList ∷ ∀ k (kv ∷ Type → Type) (vv ∷ Type → Type) v. (Eq k, Vector kv k, Vector vv v) ⇒ [(k, v)] → VMap kv vv k v Source #

fromAscListN ∷ ∀ k (kv ∷ Type → Type) (vv ∷ Type → Type) v. (Eq k, Vector kv k, Vector vv v) ⇒ Int → [(k, v)] → VMap kv vv k v Source #

fromAscListWithKey ∷ ∀ k (kv ∷ Type → Type) (vv ∷ Type → Type) v. (Eq k, Vector kv k, Vector vv v) ⇒ (k → v → v → v) → [(k, v)] → VMap kv vv k v Source #

fromAscListWithKeyN ∷ ∀ k (kv ∷ Type → Type) (vv ∷ Type → Type) v. (Eq k, Vector kv k, Vector vv v) ⇒ Int → (k → v → v → v) → [(k, v)] → VMap kv vv k v Source #

fromDistinctAscList ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) v. (Vector kv k, Vector vv v) ⇒ [(k, v)] → VMap kv vv k v Source #

fromDistinctAscListN ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) v. (Vector kv k, Vector vv v) ⇒ Int → [(k, v)] → VMap kv vv k v Source #

internMaybe ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) v. (Vector kv k, Ord k) ⇒ k → VMap kv vv k v → Maybe k Source #

null ∷ ∀ (vv ∷ Type → Type) v (kv ∷ Type → Type) k. (Vector vv v, Vector kv k) ⇒ VMap kv vv k v → Bool Source #

splitAt ∷ ∀ (vv ∷ Type → Type) v (kv ∷ Type → Type) k. (Vector vv v, Vector kv k) ⇒ Int → VMap kv vv k v → (VMap kv vv k v, VMap kv vv k v) Source #

data KVMVector (kmv ∷ Type → Type → Type) (vmv ∷ Type → Type → Type) s a Source #

Instances

Instances details
(MVector kmv k, MVector vmv v) ⇒ MVector (KVMVector kmv vmv) (k, v) Source # 
Instance details

Defined in Data.VMap.KVVector

Methods

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 #

data KVVector (kv ∷ Type → Type) (vv ∷ Type → Type) a Source #

Instances

Instances details
(Vector kv k, Vector vv v) ⇒ Vector (KVVector kv vv) (k, v) Source # 
Instance details

Defined in Data.VMap.KVVector

Methods

basicUnsafeFreeze ∷ Mutable (KVVector kv vv) s (k, v) → ST s (KVVector kv vv (k, v)) Source #

basicUnsafeThaw ∷ KVVector kv vv (k, v) → ST s (Mutable (KVVector kv vv) s (k, v)) Source #

basicLength ∷ KVVector kv vv (k, v) → Int Source #

basicUnsafeSlice ∷ Int → Int → KVVector kv vv (k, v) → KVVector kv vv (k, v) Source #

basicUnsafeIndexM ∷ KVVector kv vv (k, v) → Int → Box (k, v) Source #

basicUnsafeCopy ∷ Mutable (KVVector kv vv) s (k, v) → KVVector kv vv (k, v) → ST s () Source #

elemseq ∷ KVVector kv vv (k, v) → (k, v) → b → b Source #

(NFData (kv k), NFData (vv v)) ⇒ NFData (KVVector kv vv (k, v)) Source # 
Instance details

Defined in Data.VMap.KVVector

Methods

rnf ∷ KVVector kv vv (k, v) → () #

(Vector kv k, Vector vv v, Ord k) ⇒ Monoid (KVVector kv vv (k, v)) Source # 
Instance details

Defined in Data.VMap.KVVector

Methods

mempty ∷ KVVector kv vv (k, v) #

mappend ∷ KVVector kv vv (k, v) → KVVector kv vv (k, v) → KVVector kv vv (k, v) #

mconcat ∷ [KVVector kv vv (k, v)] → KVVector kv vv (k, v) #

(Vector kv k, Vector vv v, Ord k) ⇒ Semigroup (KVVector kv vv (k, v)) Source # 
Instance details

Defined in Data.VMap.KVVector

Methods

(<>) ∷ KVVector kv vv (k, v) → KVVector kv vv (k, v) → KVVector kv vv (k, v) #

sconcat ∷ NonEmpty (KVVector kv vv (k, v)) → KVVector kv vv (k, v) #

stimes ∷ Integral b ⇒ b → KVVector kv vv (k, v) → KVVector kv vv (k, v) #

Generic (KVVector kv vv a) Source # 
Instance details

Defined in Data.VMap.KVVector

Associated Types

type Rep (KVVector kv vv a) 
Instance details

Defined in Data.VMap.KVVector

type Rep (KVVector kv vv a)

Methods

from ∷ KVVector kv vv a → Rep (KVVector kv vv a) x #

to ∷ Rep (KVVector kv vv a) x → KVVector kv vv a #

(Vector kv k, Vector vv v, Ord k) ⇒ IsList (KVVector kv vv (k, v)) Source # 
Instance details

Defined in Data.VMap.KVVector

Associated Types

type Item (KVVector kv vv (k, v)) 
Instance details

Defined in Data.VMap.KVVector

type Item (KVVector kv vv (k, v)) = (k, v)

Methods

fromList ∷ [Item (KVVector kv vv (k, v))] → KVVector kv vv (k, v) #

fromListN ∷ Int → [Item (KVVector kv vv (k, v))] → KVVector kv vv (k, v) #

toList ∷ KVVector kv vv (k, v) → [Item (KVVector kv vv (k, v))] #

(Show (kv k), Show (vv v)) ⇒ Show (KVVector kv vv (k, v)) Source # 
Instance details

Defined in Data.VMap.KVVector

Methods

showsPrec ∷ Int → KVVector kv vv (k, v) → ShowS #

show ∷ KVVector kv vv (k, v) → String #

showList ∷ [KVVector kv vv (k, v)] → ShowS #

(Eq (kv k), Eq (vv v)) ⇒ Eq (KVVector kv vv (k, v)) Source # 
Instance details

Defined in Data.VMap.KVVector

Methods

(==) ∷ KVVector kv vv (k, v) → KVVector kv vv (k, v) → Bool #

(/=) ∷ KVVector kv vv (k, v) → KVVector kv vv (k, v) → Bool #

(NoThunks (kv k), NoThunks (vv v), Typeable kv, Typeable vv, Typeable k, Typeable v) ⇒ NoThunks (KVVector kv vv (k, v)) Source # 
Instance details

Defined in Data.VMap.KVVector

Methods

noThunks ∷ Context → KVVector kv vv (k, v) → IO (Maybe ThunkInfo) Source #

wNoThunks ∷ Context → KVVector kv vv (k, v) → IO (Maybe ThunkInfo) Source #

showTypeOf ∷ Proxy (KVVector kv vv (k, v)) → String Source #

type Mutable (KVVector kv vv) Source # 
Instance details

Defined in Data.VMap.KVVector

type Mutable (KVVector kv vv) = KVMVector (Mutable kv) (Mutable vv)
type Rep (KVVector kv vv a) Source # 
Instance details

Defined in Data.VMap.KVVector

type Rep (KVVector kv vv a)
type Item (KVVector kv vv (k, v)) Source # 
Instance details

Defined in Data.VMap.KVVector

type Item (KVVector kv vv (k, v)) = (k, v)

normalize ∷ ∀ (kv ∷ Type → Type) k (vv ∷ Type → Type) v. (Vector kv k, Vector vv v, Ord k) ⇒ KVVector kv vv (k, v) → KVVector kv vv (k, v) Source #

normalizeM ∷ ∀ k m (kv ∷ Type → Type) (vv ∷ Type → Type) v. (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 #