enummapset-th-0.6.0.0: TH-generated EnumSet/EnumMap wrappers around IntSet/IntMap.

Safe HaskellTrustworthy

Data.EnumSet

Contents

Description

Synopsis

Documentation

newtype EnumSet k Source

Constructors

EnumSet 

Fields

unEnumSet :: IntSet
 

Instances

Typeable1 EnumSet 
Eq (EnumSet k) 
(Typeable (EnumSet k), Data k) => Data (EnumSet k) 
Eq (EnumSet k) => Ord (EnumSet k) 
(Enum k, Read k) => Read (EnumSet k) 
(Enum k, Show k) => Show (EnumSet k) 
Monoid (EnumSet k) 
NFData (EnumSet k) 

Operators

(\\) :: forall k. EnumSet k -> EnumSet k -> EnumSet kSource

Query

null :: forall k. EnumSet k -> BoolSource

size :: forall k. EnumSet k -> IntSource

member :: forall k. Enum k => k -> EnumSet k -> BoolSource

notMember :: forall k. Enum k => k -> EnumSet k -> BoolSource

lookupLT :: forall k. Enum k => k -> EnumSet k -> Maybe kSource

lookupGT :: forall k. Enum k => k -> EnumSet k -> Maybe kSource

lookupLE :: forall k. Enum k => k -> EnumSet k -> Maybe kSource

lookupGE :: forall k. Enum k => k -> EnumSet k -> Maybe kSource

isSubsetOf :: forall k. EnumSet k -> EnumSet k -> BoolSource

Construction

empty :: forall k. EnumSet kSource

singleton :: forall k. Enum k => k -> EnumSet kSource

insert :: forall k. Enum k => k -> EnumSet k -> EnumSet kSource

delete :: forall k. Enum k => k -> EnumSet k -> EnumSet kSource

Combine

union :: forall k. EnumSet k -> EnumSet k -> EnumSet kSource

unions :: forall k. [EnumSet k] -> EnumSet kSource

difference :: forall k. EnumSet k -> EnumSet k -> EnumSet kSource

intersection :: forall k. EnumSet k -> EnumSet k -> EnumSet kSource

Filter

filter :: forall k. Enum k => (k -> Bool) -> EnumSet k -> EnumSet kSource

partition :: forall k. Enum k => (k -> Bool) -> EnumSet k -> (EnumSet k, EnumSet k)Source

split :: forall k. Enum k => k -> EnumSet k -> (EnumSet k, EnumSet k)Source

splitMember :: forall k. Enum k => k -> EnumSet k -> (EnumSet k, Bool, EnumSet k)Source

Map

map :: forall k k'. (Enum k, Enum k') => (k -> k') -> EnumSet k -> EnumSet k'Source

Folds

foldr :: forall k b. Enum k => (k -> b -> b) -> b -> EnumSet k -> bSource

foldl :: forall k a. Enum k => (a -> k -> a) -> a -> EnumSet k -> aSource

Strict folds

foldr' :: forall k b. Enum k => (k -> b -> b) -> b -> EnumSet k -> bSource

foldl' :: forall k a. Enum k => (a -> k -> a) -> a -> EnumSet k -> aSource

Min/Max

findMin :: forall k. Enum k => EnumSet k -> kSource

findMax :: forall k. Enum k => EnumSet k -> kSource

deleteMin :: forall k. EnumSet k -> EnumSet kSource

deleteMax :: forall k. EnumSet k -> EnumSet kSource

deleteFindMin :: forall k. Enum k => EnumSet k -> (k, EnumSet k)Source

deleteFindMax :: forall k. Enum k => EnumSet k -> (k, EnumSet k)Source

maxView :: forall k. Enum k => EnumSet k -> Maybe (k, EnumSet k)Source

minView :: forall k. Enum k => EnumSet k -> Maybe (k, EnumSet k)Source

Conversion: List

elems :: forall k. Enum k => EnumSet k -> [k]Source

toList :: forall k. Enum k => EnumSet k -> [k]Source

fromList :: forall k. Enum k => [k] -> EnumSet kSource

Conversion: Ordered list

toAscList :: forall k. Enum k => EnumSet k -> [k]Source

toDescList :: forall k. Enum k => EnumSet k -> [k]Source

fromAscList :: forall k. Enum k => [k] -> EnumSet kSource

fromDistinctAscList :: forall k. Enum k => [k] -> EnumSet kSource

Debugging

showTree :: forall k. EnumSet k -> StringSource

showTreeWith :: forall k. Bool -> Bool -> EnumSet k -> StringSource