-- | A 'HashPSQ' offers very similar performance to 'IntPSQ'. In case of -- collisions, it uses an 'OrdPSQ' locally to solve those. -- -- This means worst case complexity is usually given by /O(min(n,W), log n)/, -- where /W/ is the number of bits in an 'Int'. This simplifies to /O(min(n,W))/ -- since /log n/ is always smaller than /W/ on current machines. module Data.HashPSQ ( -- * Type HashPSQ -- * Query , null , size , member , lookup , findMin -- * Construction , empty , singleton -- * Insertion , insert -- * Delete/update , delete , deleteMin , alter , alterMin -- * Lists , fromList , toList , keys -- * Views , insertView , deleteView , minView , atMostView -- * Traversal , map , unsafeMapMonotonic , fold' -- * Unsafe operations , unsafeLookupIncreasePriority , unsafeInsertIncreasePriority , unsafeInsertIncreasePriorityView -- * Validity check , valid ) where import Prelude hiding (foldr, lookup, map, null) import Data.HashPSQ.Internal