Agda-2.6.3: A dependently typed functional programming language and proof assistant
Safe HaskellSafe-Inferred
LanguageHaskell2010

Agda.Utils.SmallSet

Description

Small sets represented as immutable bit arrays for fast membership checking.

Membership checking is O(1), but all other operations are O(n) where n is the size of the element type. The element type needs to implement Bounded and Ix.

Mimics the interface of Set.

Import as: import qualified Agda.Utils.SmallSet as SmallSet import Agda.Utils.SmallSet (SmallSet)

Synopsis

Documentation

data SmallSet a Source #

Instances

Instances details
(Ix a, Show a) => Show (SmallSet a) Source # 
Instance details

Defined in Agda.Utils.SmallSet

Methods

showsPrec :: Int -> SmallSet a -> ShowS

show :: SmallSet a -> String

showList :: [SmallSet a] -> ShowS

NFData a => NFData (SmallSet a) Source # 
Instance details

Defined in Agda.Utils.SmallSet

Methods

rnf :: SmallSet a -> ()

Ix a => Eq (SmallSet a) Source # 
Instance details

Defined in Agda.Utils.SmallSet

Methods

(==) :: SmallSet a -> SmallSet a -> Bool

(/=) :: SmallSet a -> SmallSet a -> Bool

Ix a => Ord (SmallSet a) Source # 
Instance details

Defined in Agda.Utils.SmallSet

Methods

compare :: SmallSet a -> SmallSet a -> Ordering

(<) :: SmallSet a -> SmallSet a -> Bool

(<=) :: SmallSet a -> SmallSet a -> Bool

(>) :: SmallSet a -> SmallSet a -> Bool

(>=) :: SmallSet a -> SmallSet a -> Bool

max :: SmallSet a -> SmallSet a -> SmallSet a

min :: SmallSet a -> SmallSet a -> SmallSet a

class Ord a => Ix a #

Minimal complete definition

range, (index | unsafeIndex), inRange

Instances

Instances details
Ix AllowedReduction Source # 
Instance details

Defined in Agda.TypeChecking.Monad.Base

Ix Void 
Instance details

Defined in Data.Void

Methods

range :: (Void, Void) -> [Void]

index :: (Void, Void) -> Void -> Int

unsafeIndex :: (Void, Void) -> Void -> Int

inRange :: (Void, Void) -> Void -> Bool

rangeSize :: (Void, Void) -> Int

unsafeRangeSize :: (Void, Void) -> Int

Ix Associativity 
Instance details

Defined in GHC.Generics

Methods

range :: (Associativity, Associativity) -> [Associativity]

index :: (Associativity, Associativity) -> Associativity -> Int

unsafeIndex :: (Associativity, Associativity) -> Associativity -> Int

inRange :: (Associativity, Associativity) -> Associativity -> Bool

rangeSize :: (Associativity, Associativity) -> Int

unsafeRangeSize :: (Associativity, Associativity) -> Int

Ix DecidedStrictness 
Instance details

Defined in GHC.Generics

Methods

range :: (DecidedStrictness, DecidedStrictness) -> [DecidedStrictness]

index :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Int

unsafeIndex :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Int

inRange :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Bool

rangeSize :: (DecidedStrictness, DecidedStrictness) -> Int

unsafeRangeSize :: (DecidedStrictness, DecidedStrictness) -> Int

Ix SourceStrictness 
Instance details

Defined in GHC.Generics

Methods

range :: (SourceStrictness, SourceStrictness) -> [SourceStrictness]

index :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Int

unsafeIndex :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Int

inRange :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Bool

rangeSize :: (SourceStrictness, SourceStrictness) -> Int

unsafeRangeSize :: (SourceStrictness, SourceStrictness) -> Int

Ix SourceUnpackedness 
Instance details

Defined in GHC.Generics

Methods

range :: (SourceUnpackedness, SourceUnpackedness) -> [SourceUnpackedness]

index :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Int

unsafeIndex :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Int

inRange :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Bool

rangeSize :: (SourceUnpackedness, SourceUnpackedness) -> Int

unsafeRangeSize :: (SourceUnpackedness, SourceUnpackedness) -> Int

Ix SeekMode 
Instance details

Defined in GHC.IO.Device

Methods

range :: (SeekMode, SeekMode) -> [SeekMode]

index :: (SeekMode, SeekMode) -> SeekMode -> Int

unsafeIndex :: (SeekMode, SeekMode) -> SeekMode -> Int

inRange :: (SeekMode, SeekMode) -> SeekMode -> Bool

rangeSize :: (SeekMode, SeekMode) -> Int

unsafeRangeSize :: (SeekMode, SeekMode) -> Int

Ix IOMode 
Instance details

Defined in GHC.IO.IOMode

Methods

range :: (IOMode, IOMode) -> [IOMode]

index :: (IOMode, IOMode) -> IOMode -> Int

unsafeIndex :: (IOMode, IOMode) -> IOMode -> Int

inRange :: (IOMode, IOMode) -> IOMode -> Bool

rangeSize :: (IOMode, IOMode) -> Int

unsafeRangeSize :: (IOMode, IOMode) -> Int

Ix Int16 
Instance details

Defined in GHC.Int

Methods

range :: (Int16, Int16) -> [Int16]

index :: (Int16, Int16) -> Int16 -> Int

unsafeIndex :: (Int16, Int16) -> Int16 -> Int

inRange :: (Int16, Int16) -> Int16 -> Bool

rangeSize :: (Int16, Int16) -> Int

unsafeRangeSize :: (Int16, Int16) -> Int

Ix Int32 
Instance details

Defined in GHC.Int

Methods

range :: (Int32, Int32) -> [Int32]

index :: (Int32, Int32) -> Int32 -> Int

unsafeIndex :: (Int32, Int32) -> Int32 -> Int

inRange :: (Int32, Int32) -> Int32 -> Bool

rangeSize :: (Int32, Int32) -> Int

unsafeRangeSize :: (Int32, Int32) -> Int

Ix Int64 
Instance details

Defined in GHC.Int

Methods

range :: (Int64, Int64) -> [Int64]

index :: (Int64, Int64) -> Int64 -> Int

unsafeIndex :: (Int64, Int64) -> Int64 -> Int

inRange :: (Int64, Int64) -> Int64 -> Bool

rangeSize :: (Int64, Int64) -> Int

unsafeRangeSize :: (Int64, Int64) -> Int

Ix Int8 
Instance details

Defined in GHC.Int

Methods

range :: (Int8, Int8) -> [Int8]

index :: (Int8, Int8) -> Int8 -> Int

unsafeIndex :: (Int8, Int8) -> Int8 -> Int

inRange :: (Int8, Int8) -> Int8 -> Bool

rangeSize :: (Int8, Int8) -> Int

unsafeRangeSize :: (Int8, Int8) -> Int

Ix GeneralCategory 
Instance details

Defined in GHC.Unicode

Methods

range :: (GeneralCategory, GeneralCategory) -> [GeneralCategory]

index :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Int

unsafeIndex :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Int

inRange :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Bool

rangeSize :: (GeneralCategory, GeneralCategory) -> Int

unsafeRangeSize :: (GeneralCategory, GeneralCategory) -> Int

Ix Word16 
Instance details

Defined in GHC.Word

Methods

range :: (Word16, Word16) -> [Word16]

index :: (Word16, Word16) -> Word16 -> Int

unsafeIndex :: (Word16, Word16) -> Word16 -> Int

inRange :: (Word16, Word16) -> Word16 -> Bool

rangeSize :: (Word16, Word16) -> Int

unsafeRangeSize :: (Word16, Word16) -> Int

Ix Word32 
Instance details

Defined in GHC.Word

Methods

range :: (Word32, Word32) -> [Word32]

index :: (Word32, Word32) -> Word32 -> Int

unsafeIndex :: (Word32, Word32) -> Word32 -> Int

inRange :: (Word32, Word32) -> Word32 -> Bool

rangeSize :: (Word32, Word32) -> Int

unsafeRangeSize :: (Word32, Word32) -> Int

Ix Word64 
Instance details

Defined in GHC.Word

Methods

range :: (Word64, Word64) -> [Word64]

index :: (Word64, Word64) -> Word64 -> Int

unsafeIndex :: (Word64, Word64) -> Word64 -> Int

inRange :: (Word64, Word64) -> Word64 -> Bool

rangeSize :: (Word64, Word64) -> Int

unsafeRangeSize :: (Word64, Word64) -> Int

Ix Word8 
Instance details

Defined in GHC.Word

Methods

range :: (Word8, Word8) -> [Word8]

index :: (Word8, Word8) -> Word8 -> Int

unsafeIndex :: (Word8, Word8) -> Word8 -> Int

inRange :: (Word8, Word8) -> Word8 -> Bool

rangeSize :: (Word8, Word8) -> Int

unsafeRangeSize :: (Word8, Word8) -> Int

Ix CBlkCnt 
Instance details

Defined in System.Posix.Types

Methods

range :: (CBlkCnt, CBlkCnt) -> [CBlkCnt]

index :: (CBlkCnt, CBlkCnt) -> CBlkCnt -> Int

unsafeIndex :: (CBlkCnt, CBlkCnt) -> CBlkCnt -> Int

inRange :: (CBlkCnt, CBlkCnt) -> CBlkCnt -> Bool

rangeSize :: (CBlkCnt, CBlkCnt) -> Int

unsafeRangeSize :: (CBlkCnt, CBlkCnt) -> Int

Ix CBlkSize 
Instance details

Defined in System.Posix.Types

Methods

range :: (CBlkSize, CBlkSize) -> [CBlkSize]

index :: (CBlkSize, CBlkSize) -> CBlkSize -> Int

unsafeIndex :: (CBlkSize, CBlkSize) -> CBlkSize -> Int

inRange :: (CBlkSize, CBlkSize) -> CBlkSize -> Bool

rangeSize :: (CBlkSize, CBlkSize) -> Int

unsafeRangeSize :: (CBlkSize, CBlkSize) -> Int

Ix CClockId 
Instance details

Defined in System.Posix.Types

Methods

range :: (CClockId, CClockId) -> [CClockId]

index :: (CClockId, CClockId) -> CClockId -> Int

unsafeIndex :: (CClockId, CClockId) -> CClockId -> Int

inRange :: (CClockId, CClockId) -> CClockId -> Bool

rangeSize :: (CClockId, CClockId) -> Int

unsafeRangeSize :: (CClockId, CClockId) -> Int

Ix CDev 
Instance details

Defined in System.Posix.Types

Methods

range :: (CDev, CDev) -> [CDev]

index :: (CDev, CDev) -> CDev -> Int

unsafeIndex :: (CDev, CDev) -> CDev -> Int

inRange :: (CDev, CDev) -> CDev -> Bool

rangeSize :: (CDev, CDev) -> Int

unsafeRangeSize :: (CDev, CDev) -> Int

Ix CFsBlkCnt 
Instance details

Defined in System.Posix.Types

Methods

range :: (CFsBlkCnt, CFsBlkCnt) -> [CFsBlkCnt]

index :: (CFsBlkCnt, CFsBlkCnt) -> CFsBlkCnt -> Int

unsafeIndex :: (CFsBlkCnt, CFsBlkCnt) -> CFsBlkCnt -> Int

inRange :: (CFsBlkCnt, CFsBlkCnt) -> CFsBlkCnt -> Bool

rangeSize :: (CFsBlkCnt, CFsBlkCnt) -> Int

unsafeRangeSize :: (CFsBlkCnt, CFsBlkCnt) -> Int

Ix CFsFilCnt 
Instance details

Defined in System.Posix.Types

Methods

range :: (CFsFilCnt, CFsFilCnt) -> [CFsFilCnt]

index :: (CFsFilCnt, CFsFilCnt) -> CFsFilCnt -> Int

unsafeIndex :: (CFsFilCnt, CFsFilCnt) -> CFsFilCnt -> Int

inRange :: (CFsFilCnt, CFsFilCnt) -> CFsFilCnt -> Bool

rangeSize :: (CFsFilCnt, CFsFilCnt) -> Int

unsafeRangeSize :: (CFsFilCnt, CFsFilCnt) -> Int

Ix CGid 
Instance details

Defined in System.Posix.Types

Methods

range :: (CGid, CGid) -> [CGid]

index :: (CGid, CGid) -> CGid -> Int

unsafeIndex :: (CGid, CGid) -> CGid -> Int

inRange :: (CGid, CGid) -> CGid -> Bool

rangeSize :: (CGid, CGid) -> Int

unsafeRangeSize :: (CGid, CGid) -> Int

Ix CId 
Instance details

Defined in System.Posix.Types

Methods

range :: (CId, CId) -> [CId]

index :: (CId, CId) -> CId -> Int

unsafeIndex :: (CId, CId) -> CId -> Int

inRange :: (CId, CId) -> CId -> Bool

rangeSize :: (CId, CId) -> Int

unsafeRangeSize :: (CId, CId) -> Int

Ix CIno 
Instance details

Defined in System.Posix.Types

Methods

range :: (CIno, CIno) -> [CIno]

index :: (CIno, CIno) -> CIno -> Int

unsafeIndex :: (CIno, CIno) -> CIno -> Int

inRange :: (CIno, CIno) -> CIno -> Bool

rangeSize :: (CIno, CIno) -> Int

unsafeRangeSize :: (CIno, CIno) -> Int

Ix CKey 
Instance details

Defined in System.Posix.Types

Methods

range :: (CKey, CKey) -> [CKey]

index :: (CKey, CKey) -> CKey -> Int

unsafeIndex :: (CKey, CKey) -> CKey -> Int

inRange :: (CKey, CKey) -> CKey -> Bool

rangeSize :: (CKey, CKey) -> Int

unsafeRangeSize :: (CKey, CKey) -> Int

Ix CMode 
Instance details

Defined in System.Posix.Types

Methods

range :: (CMode, CMode) -> [CMode]

index :: (CMode, CMode) -> CMode -> Int

unsafeIndex :: (CMode, CMode) -> CMode -> Int

inRange :: (CMode, CMode) -> CMode -> Bool

rangeSize :: (CMode, CMode) -> Int

unsafeRangeSize :: (CMode, CMode) -> Int

Ix CNfds 
Instance details

Defined in System.Posix.Types

Methods

range :: (CNfds, CNfds) -> [CNfds]

index :: (CNfds, CNfds) -> CNfds -> Int

unsafeIndex :: (CNfds, CNfds) -> CNfds -> Int

inRange :: (CNfds, CNfds) -> CNfds -> Bool

rangeSize :: (CNfds, CNfds) -> Int

unsafeRangeSize :: (CNfds, CNfds) -> Int

Ix CNlink 
Instance details

Defined in System.Posix.Types

Methods

range :: (CNlink, CNlink) -> [CNlink]

index :: (CNlink, CNlink) -> CNlink -> Int

unsafeIndex :: (CNlink, CNlink) -> CNlink -> Int

inRange :: (CNlink, CNlink) -> CNlink -> Bool

rangeSize :: (CNlink, CNlink) -> Int

unsafeRangeSize :: (CNlink, CNlink) -> Int

Ix COff 
Instance details

Defined in System.Posix.Types

Methods

range :: (COff, COff) -> [COff]

index :: (COff, COff) -> COff -> Int

unsafeIndex :: (COff, COff) -> COff -> Int

inRange :: (COff, COff) -> COff -> Bool

rangeSize :: (COff, COff) -> Int

unsafeRangeSize :: (COff, COff) -> Int

Ix CPid 
Instance details

Defined in System.Posix.Types

Methods

range :: (CPid, CPid) -> [CPid]

index :: (CPid, CPid) -> CPid -> Int

unsafeIndex :: (CPid, CPid) -> CPid -> Int

inRange :: (CPid, CPid) -> CPid -> Bool

rangeSize :: (CPid, CPid) -> Int

unsafeRangeSize :: (CPid, CPid) -> Int

Ix CRLim 
Instance details

Defined in System.Posix.Types

Methods

range :: (CRLim, CRLim) -> [CRLim]

index :: (CRLim, CRLim) -> CRLim -> Int

unsafeIndex :: (CRLim, CRLim) -> CRLim -> Int

inRange :: (CRLim, CRLim) -> CRLim -> Bool

rangeSize :: (CRLim, CRLim) -> Int

unsafeRangeSize :: (CRLim, CRLim) -> Int

Ix CSocklen 
Instance details

Defined in System.Posix.Types

Methods

range :: (CSocklen, CSocklen) -> [CSocklen]

index :: (CSocklen, CSocklen) -> CSocklen -> Int

unsafeIndex :: (CSocklen, CSocklen) -> CSocklen -> Int

inRange :: (CSocklen, CSocklen) -> CSocklen -> Bool

rangeSize :: (CSocklen, CSocklen) -> Int

unsafeRangeSize :: (CSocklen, CSocklen) -> Int

Ix CSsize 
Instance details

Defined in System.Posix.Types

Methods

range :: (CSsize, CSsize) -> [CSsize]

index :: (CSsize, CSsize) -> CSsize -> Int

unsafeIndex :: (CSsize, CSsize) -> CSsize -> Int

inRange :: (CSsize, CSsize) -> CSsize -> Bool

rangeSize :: (CSsize, CSsize) -> Int

unsafeRangeSize :: (CSsize, CSsize) -> Int

Ix CTcflag 
Instance details

Defined in System.Posix.Types

Methods

range :: (CTcflag, CTcflag) -> [CTcflag]

index :: (CTcflag, CTcflag) -> CTcflag -> Int

unsafeIndex :: (CTcflag, CTcflag) -> CTcflag -> Int

inRange :: (CTcflag, CTcflag) -> CTcflag -> Bool

rangeSize :: (CTcflag, CTcflag) -> Int

unsafeRangeSize :: (CTcflag, CTcflag) -> Int

Ix CUid 
Instance details

Defined in System.Posix.Types

Methods

range :: (CUid, CUid) -> [CUid]

index :: (CUid, CUid) -> CUid -> Int

unsafeIndex :: (CUid, CUid) -> CUid -> Int

inRange :: (CUid, CUid) -> CUid -> Bool

rangeSize :: (CUid, CUid) -> Int

unsafeRangeSize :: (CUid, CUid) -> Int

Ix Fd 
Instance details

Defined in System.Posix.Types

Methods

range :: (Fd, Fd) -> [Fd]

index :: (Fd, Fd) -> Fd -> Int

unsafeIndex :: (Fd, Fd) -> Fd -> Int

inRange :: (Fd, Fd) -> Fd -> Bool

rangeSize :: (Fd, Fd) -> Int

unsafeRangeSize :: (Fd, Fd) -> Int

Ix Ordering 
Instance details

Defined in GHC.Ix

Methods

range :: (Ordering, Ordering) -> [Ordering]

index :: (Ordering, Ordering) -> Ordering -> Int

unsafeIndex :: (Ordering, Ordering) -> Ordering -> Int

inRange :: (Ordering, Ordering) -> Ordering -> Bool

rangeSize :: (Ordering, Ordering) -> Int

unsafeRangeSize :: (Ordering, Ordering) -> Int

Ix Day 
Instance details

Defined in Data.Time.Calendar.Days

Methods

range :: (Day, Day) -> [Day]

index :: (Day, Day) -> Day -> Int

unsafeIndex :: (Day, Day) -> Day -> Int

inRange :: (Day, Day) -> Day -> Bool

rangeSize :: (Day, Day) -> Int

unsafeRangeSize :: (Day, Day) -> Int

Ix Integer 
Instance details

Defined in GHC.Ix

Methods

range :: (Integer, Integer) -> [Integer]

index :: (Integer, Integer) -> Integer -> Int

unsafeIndex :: (Integer, Integer) -> Integer -> Int

inRange :: (Integer, Integer) -> Integer -> Bool

rangeSize :: (Integer, Integer) -> Int

unsafeRangeSize :: (Integer, Integer) -> Int

Ix Natural 
Instance details

Defined in GHC.Ix

Methods

range :: (Natural, Natural) -> [Natural]

index :: (Natural, Natural) -> Natural -> Int

unsafeIndex :: (Natural, Natural) -> Natural -> Int

inRange :: (Natural, Natural) -> Natural -> Bool

rangeSize :: (Natural, Natural) -> Int

unsafeRangeSize :: (Natural, Natural) -> Int

Ix () 
Instance details

Defined in GHC.Ix

Methods

range :: ((), ()) -> [()]

index :: ((), ()) -> () -> Int

unsafeIndex :: ((), ()) -> () -> Int

inRange :: ((), ()) -> () -> Bool

rangeSize :: ((), ()) -> Int

unsafeRangeSize :: ((), ()) -> Int

Ix Bool 
Instance details

Defined in GHC.Ix

Methods

range :: (Bool, Bool) -> [Bool]

index :: (Bool, Bool) -> Bool -> Int

unsafeIndex :: (Bool, Bool) -> Bool -> Int

inRange :: (Bool, Bool) -> Bool -> Bool

rangeSize :: (Bool, Bool) -> Int

unsafeRangeSize :: (Bool, Bool) -> Int

Ix Char 
Instance details

Defined in GHC.Ix

Methods

range :: (Char, Char) -> [Char]

index :: (Char, Char) -> Char -> Int

unsafeIndex :: (Char, Char) -> Char -> Int

inRange :: (Char, Char) -> Char -> Bool

rangeSize :: (Char, Char) -> Int

unsafeRangeSize :: (Char, Char) -> Int

Ix Int 
Instance details

Defined in GHC.Ix

Methods

range :: (Int, Int) -> [Int]

index :: (Int, Int) -> Int -> Int

unsafeIndex :: (Int, Int) -> Int -> Int

inRange :: (Int, Int) -> Int -> Bool

rangeSize :: (Int, Int) -> Int

unsafeRangeSize :: (Int, Int) -> Int

Ix Word 
Instance details

Defined in GHC.Ix

Methods

range :: (Word, Word) -> [Word]

index :: (Word, Word) -> Word -> Int

unsafeIndex :: (Word, Word) -> Word -> Int

inRange :: (Word, Word) -> Word -> Bool

rangeSize :: (Word, Word) -> Int

unsafeRangeSize :: (Word, Word) -> Int

Ix i => Ix (MIx i) Source # 
Instance details

Defined in Agda.Termination.SparseMatrix

Methods

range :: (MIx i, MIx i) -> [MIx i]

index :: (MIx i, MIx i) -> MIx i -> Int

unsafeIndex :: (MIx i, MIx i) -> MIx i -> Int

inRange :: (MIx i, MIx i) -> MIx i -> Bool

rangeSize :: (MIx i, MIx i) -> Int

unsafeRangeSize :: (MIx i, MIx i) -> Int

Ix a => Ix (Identity a) 
Instance details

Defined in Data.Functor.Identity

Methods

range :: (Identity a, Identity a) -> [Identity a]

index :: (Identity a, Identity a) -> Identity a -> Int

unsafeIndex :: (Identity a, Identity a) -> Identity a -> Int

inRange :: (Identity a, Identity a) -> Identity a -> Bool

rangeSize :: (Identity a, Identity a) -> Int

unsafeRangeSize :: (Identity a, Identity a) -> Int

Ix a => Ix (Down a) 
Instance details

Defined in Data.Ord

Methods

range :: (Down a, Down a) -> [Down a]

index :: (Down a, Down a) -> Down a -> Int

unsafeIndex :: (Down a, Down a) -> Down a -> Int

inRange :: (Down a, Down a) -> Down a -> Bool

rangeSize :: (Down a, Down a) -> Int

unsafeRangeSize :: (Down a, Down a) -> Int

Ix a => Ix (a) 
Instance details

Defined in GHC.Ix

Methods

range :: ((a), (a)) -> [(a)]

index :: ((a), (a)) -> (a) -> Int

unsafeIndex :: ((a), (a)) -> (a) -> Int

inRange :: ((a), (a)) -> (a) -> Bool

rangeSize :: ((a), (a)) -> Int

unsafeRangeSize :: ((a), (a)) -> Int

Ix (Proxy s) 
Instance details

Defined in Data.Proxy

Methods

range :: (Proxy s, Proxy s) -> [Proxy s]

index :: (Proxy s, Proxy s) -> Proxy s -> Int

unsafeIndex :: (Proxy s, Proxy s) -> Proxy s -> Int

inRange :: (Proxy s, Proxy s) -> Proxy s -> Bool

rangeSize :: (Proxy s, Proxy s) -> Int

unsafeRangeSize :: (Proxy s, Proxy s) -> Int

(Ix a, Ix b) => Ix (Pair a b) 
Instance details

Defined in Data.Strict.Tuple

Methods

range :: (Pair a b, Pair a b) -> [Pair a b]

index :: (Pair a b, Pair a b) -> Pair a b -> Int

unsafeIndex :: (Pair a b, Pair a b) -> Pair a b -> Int

inRange :: (Pair a b, Pair a b) -> Pair a b -> Bool

rangeSize :: (Pair a b, Pair a b) -> Int

unsafeRangeSize :: (Pair a b, Pair a b) -> Int

(Ix a, Ix b) => Ix (a, b) 
Instance details

Defined in GHC.Ix

Methods

range :: ((a, b), (a, b)) -> [(a, b)]

index :: ((a, b), (a, b)) -> (a, b) -> Int

unsafeIndex :: ((a, b), (a, b)) -> (a, b) -> Int

inRange :: ((a, b), (a, b)) -> (a, b) -> Bool

rangeSize :: ((a, b), (a, b)) -> Int

unsafeRangeSize :: ((a, b), (a, b)) -> Int

Ix a => Ix (Const a b) 
Instance details

Defined in Data.Functor.Const

Methods

range :: (Const a b, Const a b) -> [Const a b]

index :: (Const a b, Const a b) -> Const a b -> Int

unsafeIndex :: (Const a b, Const a b) -> Const a b -> Int

inRange :: (Const a b, Const a b) -> Const a b -> Bool

rangeSize :: (Const a b, Const a b) -> Int

unsafeRangeSize :: (Const a b, Const a b) -> Int

Ix b => Ix (Tagged s b) 
Instance details

Defined in Data.Tagged

Methods

range :: (Tagged s b, Tagged s b) -> [Tagged s b]

index :: (Tagged s b, Tagged s b) -> Tagged s b -> Int

unsafeIndex :: (Tagged s b, Tagged s b) -> Tagged s b -> Int

inRange :: (Tagged s b, Tagged s b) -> Tagged s b -> Bool

rangeSize :: (Tagged s b, Tagged s b) -> Int

unsafeRangeSize :: (Tagged s b, Tagged s b) -> Int

(Ix a1, Ix a2, Ix a3) => Ix (a1, a2, a3) 
Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3), (a1, a2, a3)) -> [(a1, a2, a3)]

index :: ((a1, a2, a3), (a1, a2, a3)) -> (a1, a2, a3) -> Int

unsafeIndex :: ((a1, a2, a3), (a1, a2, a3)) -> (a1, a2, a3) -> Int

inRange :: ((a1, a2, a3), (a1, a2, a3)) -> (a1, a2, a3) -> Bool

rangeSize :: ((a1, a2, a3), (a1, a2, a3)) -> Int

unsafeRangeSize :: ((a1, a2, a3), (a1, a2, a3)) -> Int

(Ix a1, Ix a2, Ix a3, Ix a4) => Ix (a1, a2, a3, a4) 
Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> [(a1, a2, a3, a4)]

index :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> (a1, a2, a3, a4) -> Int

unsafeIndex :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> (a1, a2, a3, a4) -> Int

inRange :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> (a1, a2, a3, a4) -> Bool

rangeSize :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> Int

unsafeRangeSize :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> Int

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5) => Ix (a1, a2, a3, a4, a5) 
Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> [(a1, a2, a3, a4, a5)]

index :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> (a1, a2, a3, a4, a5) -> Int

unsafeIndex :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> (a1, a2, a3, a4, a5) -> Int

inRange :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> (a1, a2, a3, a4, a5) -> Bool

rangeSize :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> Int

unsafeRangeSize :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> Int

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6) => Ix (a1, a2, a3, a4, a5, a6) 
Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> [(a1, a2, a3, a4, a5, a6)]

index :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> (a1, a2, a3, a4, a5, a6) -> Int

unsafeIndex :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> (a1, a2, a3, a4, a5, a6) -> Int

inRange :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> (a1, a2, a3, a4, a5, a6) -> Bool

rangeSize :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> Int

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> Int

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7) => Ix (a1, a2, a3, a4, a5, a6, a7) 
Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> [(a1, a2, a3, a4, a5, a6, a7)]

index :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> (a1, a2, a3, a4, a5, a6, a7) -> Int

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> (a1, a2, a3, a4, a5, a6, a7) -> Int

inRange :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> (a1, a2, a3, a4, a5, a6, a7) -> Bool

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> Int

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> Int

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8) => Ix (a1, a2, a3, a4, a5, a6, a7, a8) 
Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> [(a1, a2, a3, a4, a5, a6, a7, a8)]

index :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> (a1, a2, a3, a4, a5, a6, a7, a8) -> Int

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> (a1, a2, a3, a4, a5, a6, a7, a8) -> Int

inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> (a1, a2, a3, a4, a5, a6, a7, a8) -> Bool

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> Int

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> Int

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9) 
Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9)]

index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Int

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Int

inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Bool

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> Int

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> Int

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA) 
Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)]

index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA) -> Int

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA) -> Int

inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA) -> Bool

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> Int

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> Int

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB) 
Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)]

index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB) -> Int

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB) -> Int

inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB) -> Bool

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> Int

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> Int

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB, Ix aC) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC) 
Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)]

index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC) -> Int

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC) -> Int

inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC) -> Bool

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> Int

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> Int

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB, Ix aC, Ix aD) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD) 
Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)]

index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD) -> Int

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD) -> Int

inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD) -> Bool

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> Int

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> Int

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB, Ix aC, Ix aD, Ix aE) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE) 
Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)]

index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE) -> Int

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE) -> Int

inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE) -> Bool

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> Int

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> Int

(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB, Ix aC, Ix aD, Ix aE, Ix aF) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF) 
Instance details

Defined in GHC.Ix

Methods

range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)]

index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF) -> Int

unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF) -> Int

inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF) -> Bool

rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> Int

unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> Int

(\\) :: SmallSetElement a => SmallSet a -> SmallSet a -> SmallSet a Source #

Time O(n).

complement :: SmallSetElement a => SmallSet a -> SmallSet a Source #

Time O(n).

delete :: SmallSetElement a => a -> SmallSet a -> SmallSet a Source #

Time O(n).

difference :: SmallSetElement a => SmallSet a -> SmallSet a -> SmallSet a Source #

Time O(n).

elems :: SmallSetElement a => SmallSet a -> [a] Source #

Time O(n).

empty :: SmallSetElement a => SmallSet a Source #

The empty set. Time O(n).

fromList :: SmallSetElement a => [a] -> SmallSet a Source #

Time O(n).

fromAscList :: SmallSetElement a => [a] -> SmallSet a Source #

Time O(n).

fromDistinctAscList :: SmallSetElement a => [a] -> SmallSet a Source #

Time O(n).

insert :: SmallSetElement a => a -> SmallSet a -> SmallSet a Source #

Time O(n).

intersection :: SmallSetElement a => SmallSet a -> SmallSet a -> SmallSet a Source #

Time O(n).

isSubsetOf :: SmallSetElement a => SmallSet a -> SmallSet a -> Bool Source #

Time O(n).

mapMembership :: SmallSetElement a => (Bool -> Bool) -> SmallSet a -> SmallSet a Source #

Time O(n).

member :: SmallSetElement a => a -> SmallSet a -> Bool Source #

Time O(1).

notMember :: SmallSetElement a => a -> SmallSet a -> Bool Source #

not . member a. Time O(1).

null :: SmallSetElement a => SmallSet a -> Bool Source #

Time O(n)!

singleton :: SmallSetElement a => a -> SmallSet a Source #

A singleton set. Time O(n).

toList :: SmallSetElement a => SmallSet a -> [a] Source #

Time O(n).

toAscList :: SmallSetElement a => SmallSet a -> [a] Source #

Time O(n).

total :: SmallSetElement a => SmallSet a Source #

The full set. Time O(n).

union :: SmallSetElement a => SmallSet a -> SmallSet a -> SmallSet a Source #

Time O(n).

zipMembershipWith :: SmallSetElement a => (Bool -> Bool -> Bool) -> SmallSet a -> SmallSet a -> SmallSet a Source #

Time O(n).