-- | 'IntPSQ' fixes the key type to 'Int'. It is generally much faster than -- an 'OrdPSQ'. -- -- Many operations have a worst-case complexity of O(min(n,W)). This means that -- the operation can -- become linear in the number of elements with a maximum -- of W -- the number of bits in an Int (32 or 64). {-# LANGUAGE CPP #-} {-# LANGUAGE BangPatterns #-} {-# LANGUAGE UnboxedTuples #-} module Data.IntPSQ ( -- * Type IntPSQ -- * 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 , unsafeInsertNew , unsafeInsertIncreasePriority , unsafeInsertIncreasePriorityView , unsafeInsertWithIncreasePriority , unsafeInsertWithIncreasePriorityView , unsafeLookupIncreasePriority -- * Validity check , valid ) where import Prelude hiding (lookup, map, filter, foldr, foldl, null) import Data.IntPSQ.Internal