impure-containers-0.1.1: Initial project template from stack

Safe HaskellNone
LanguageHaskell2010

Data.Heap.Mutable.ModelD

Synopsis

Documentation

data Heap s p Source

Constructors

Heap 

Fields

heapRaw :: !(RawHeap s p)
 
heapCurrentSize :: !(MutVar s Int)
 

new Source

Arguments

:: (PrimMonad m, Monoid p) 
=> Int

Maximum element

-> m (Heap (PrimState m) p) 

unsafePush Source

Arguments

:: (Ord p, Monoid p, PrimMonad m) 
=> p

Priority

-> Int

Element

-> Heap (PrimState m) p

Heap

-> m () 

Does not check to see if the provided element is within the bounds accepted by the Heap.

push Source

Arguments

:: (Ord p, Monoid p, PrimMonad m) 
=> p

Priority

-> Int

Element

-> Heap (PrimState m) p

Heap

-> m () 

pushList :: (Ord p, PrimMonad m, Monoid p) => [(p, Int)] -> Heap (PrimState m) p -> m () Source

popAll :: (Ord p, PrimMonad m) => Heap (PrimState m) p -> m [(p, Int)] Source

pop :: (PrimMonad m, Ord p) => Heap (PrimState m) p -> m (Maybe (p, Int)) Source