enummapset-0.6.0.2: IntMap and IntSet with Enum keys/elements.
Copyright(c) 2011-2019 Michal Terepeta
LicenseBSD3
Maintainermikolaj.konarski@funktory.com
Stabilityalpha
Portabilityuses DeriveDataTypeable and GeneralizedNewtypeDeriving
Safe HaskellNone
LanguageHaskell98

Data.EnumSet

Description

 
Synopsis

Documentation

data EnumSet k Source #

Wrapper for IntSet with Enum elements.

Instances

Instances details
Eq (EnumSet k) Source # 
Instance details

Defined in Data.EnumSet

Methods

(==) :: EnumSet k -> EnumSet k -> Bool

(/=) :: EnumSet k -> EnumSet k -> Bool

Ord (EnumSet k) Source # 
Instance details

Defined in Data.EnumSet

Methods

compare :: EnumSet k -> EnumSet k -> Ordering

(<) :: EnumSet k -> EnumSet k -> Bool

(<=) :: EnumSet k -> EnumSet k -> Bool

(>) :: EnumSet k -> EnumSet k -> Bool

(>=) :: EnumSet k -> EnumSet k -> Bool

max :: EnumSet k -> EnumSet k -> EnumSet k

min :: EnumSet k -> EnumSet k -> EnumSet k

(Enum k, Read k) => Read (EnumSet k) Source # 
Instance details

Defined in Data.EnumSet

Methods

readsPrec :: Int -> ReadS (EnumSet k)

readList :: ReadS [EnumSet k]

readPrec :: ReadPrec (EnumSet k)

readListPrec :: ReadPrec [EnumSet k]

(Enum k, Show k) => Show (EnumSet k) Source # 
Instance details

Defined in Data.EnumSet

Methods

showsPrec :: Int -> EnumSet k -> ShowS

show :: EnumSet k -> String

showList :: [EnumSet k] -> ShowS

Semigroup (EnumSet k) Source # 
Instance details

Defined in Data.EnumSet

Methods

(<>) :: EnumSet k -> EnumSet k -> EnumSet k

sconcat :: NonEmpty (EnumSet k) -> EnumSet k

stimes :: Integral b => b -> EnumSet k -> EnumSet k

Monoid (EnumSet k) Source # 
Instance details

Defined in Data.EnumSet

Methods

mempty :: EnumSet k

mappend :: EnumSet k -> EnumSet k -> EnumSet k

mconcat :: [EnumSet k] -> EnumSet k

NFData (EnumSet k) Source # 
Instance details

Defined in Data.EnumSet

Methods

rnf :: EnumSet k -> ()

Wrapping/unwrapping

intSetToEnumSet :: IntSet -> EnumSet k Source #

Wrap IntSet.

enumSetToIntSet :: EnumSet k -> IntSet Source #

Unwrap IntSet.

Operators

Query

null :: EnumSet k -> Bool Source #

size :: EnumSet k -> Int Source #

member :: Enum k => k -> EnumSet k -> Bool Source #

notMember :: Enum k => k -> EnumSet k -> Bool Source #

lookupLT :: Enum k => k -> EnumSet k -> Maybe k Source #

lookupGT :: Enum k => k -> EnumSet k -> Maybe k Source #

lookupLE :: Enum k => k -> EnumSet k -> Maybe k Source #

lookupGE :: Enum k => k -> EnumSet k -> Maybe k Source #

isSubsetOf :: EnumSet k -> EnumSet k -> Bool Source #

Construction

singleton :: Enum k => k -> EnumSet k Source #

insert :: Enum k => k -> EnumSet k -> EnumSet k Source #

delete :: Enum k => k -> EnumSet k -> EnumSet k Source #

Combine

Filter

filter :: Enum k => (k -> Bool) -> EnumSet k -> EnumSet k Source #

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

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

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

Map

map :: Enum k => (k -> k) -> EnumSet k -> EnumSet k Source #

Folds

foldr :: Enum k => (k -> b -> b) -> b -> EnumSet k -> b Source #

foldl :: Enum k => (a -> k -> a) -> a -> EnumSet k -> a Source #

Strict folds

foldr' :: Enum k => (k -> b -> b) -> b -> EnumSet k -> b Source #

foldl' :: Enum k => (a -> k -> a) -> a -> EnumSet k -> a Source #

Legacy folds

fold :: Enum k => (k -> b -> b) -> b -> EnumSet k -> b Source #

Min/Max

findMin :: Enum k => EnumSet k -> k Source #

findMax :: Enum k => EnumSet k -> k Source #

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

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

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

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

Conversion

List

elems :: Enum k => EnumSet k -> [k] Source #

toList :: Enum k => EnumSet k -> [k] Source #

fromList :: Enum k => [k] -> EnumSet k Source #

Ordered list

toAscList :: Enum k => EnumSet k -> [k] Source #

toDescList :: Enum k => EnumSet k -> [k] Source #

fromAscList :: Enum k => [k] -> EnumSet k Source #

fromDistinctAscList :: Enum k => [k] -> EnumSet k Source #