enummapset-0.7.3.0: IntMap and IntSet with Enum keys/elements.
Copyright(c) 2011-2019 Michal Terepeta
(c) 2019-2022 Mikolaj Konarski and others (see git history)
LicenseBSD3
Maintainermikolaj.konarski@funktory.com
Stabilityalpha
Portabilityuses DeriveDataTypeable and GeneralizedNewtypeDeriving
Safe HaskellNone
LanguageHaskell2010

Data.EnumSet

Description

 
Synopsis

Documentation

data EnumSet k Source #

Wrapper for IntSet with Enum elements.

Instances

Instances details
FromJSON a => FromJSON (EnumSet a) Source # 
Instance details

Defined in Data.EnumSet

Methods

parseJSON :: Value -> Parser (EnumSet a)

parseJSONList :: Value -> Parser [EnumSet a]

omittedField :: Maybe (EnumSet a)

ToJSON (EnumSet a) Source # 
Instance details

Defined in Data.EnumSet

Methods

toJSON :: EnumSet a -> Value

toEncoding :: EnumSet a -> Encoding

toJSONList :: [EnumSet a] -> Value

toEncodingList :: [EnumSet a] -> Encoding

omitField :: EnumSet a -> Bool

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

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

Enum a => IsList (EnumSet a) Source # 
Instance details

Defined in Data.EnumSet

Associated Types

type Item (EnumSet a) 
Instance details

Defined in Data.EnumSet

type Item (EnumSet a) = a

Methods

fromList :: [Item (EnumSet a)] -> EnumSet a

fromListN :: Int -> [Item (EnumSet a)] -> EnumSet a

toList :: EnumSet a -> [Item (EnumSet a)]

(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

NFData (EnumSet k) Source # 
Instance details

Defined in Data.EnumSet

Methods

rnf :: EnumSet k -> ()

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

type Item (EnumSet a) Source # 
Instance details

Defined in Data.EnumSet

type Item (EnumSet a) = a

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 #