{-# LANGUAGE CPP #-}
module Data.EnumMap.Lazy
  ( EnumMap
  
  , intMapToEnumMap
  , enumMapToIntMap
  
  , (!)
  , (\\)
  
  , null
  , size
  , member
  , notMember
  , lookup
  , findWithDefault
  , lookupLT
  , lookupGT
  , lookupLE
  , lookupGE
  
  , empty
  , singleton
  
  , insert
  , insertWith
  , insertWithKey
  , insertLookupWithKey
  
  , delete
  , adjust
  , adjustWithKey
  , update
  , updateWithKey
  , updateLookupWithKey
  , alter
  , alterF
  
  
  , union
  , unionWith
  , unionWithKey
  , unions
  , unionsWith
  
  , difference
  , differenceWith
  , differenceWithKey
  
  , intersection
  , intersectionWith
  , intersectionWithKey
  
  , mergeWithKey
  
  
  , map
  , mapWithKey
  , traverseWithKey
  , mapAccum
  , mapAccumWithKey
  , mapAccumRWithKey
  , mapKeys
  , mapKeysWith
  , mapKeysMonotonic
  
  , foldr
  , foldl
  , foldrWithKey
  , foldlWithKey
  
  , foldr'
  , foldl'
  , foldrWithKey'
  , foldlWithKey'
  
  , elems
  , keys
  , assocs
  , keysSet
  , fromSet
  
  , toList
  , fromList
  , fromListWith
  , fromListWithKey
  
  , toAscList
  , toDescList
  , fromAscList
  , fromAscListWith
  , fromAscListWithKey
  , fromDistinctAscList
  
  , filter
  , filterWithKey
#if (MIN_VERSION_containers(0,5,8))
  , restrictKeys
  , withoutKeys
#endif
  , partition
  , partitionWithKey
  , mapMaybe
  , mapMaybeWithKey
  , mapEither
  , mapEitherWithKey
  , split
  , splitLookup
  
  , isSubmapOf
  , isSubmapOfBy
  , isProperSubmapOf
  , isProperSubmapOfBy
  
  , lookupMin
  , lookupMax
  , findMin
  , findMax
  , deleteMin
  , deleteMax
  , deleteFindMin
  , deleteFindMax
  , updateMin
  , updateMax
  , updateMinWithKey
  , updateMaxWithKey
  , minView
  , maxView
  , minViewWithKey
  , maxViewWithKey
  ) where
import Prelude hiding (Foldable(..), filter, lookup, map)
import Data.EnumMap.Base