-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Set of bytes.
--
@package byteset
@version 0.1.1.0
-- | Inspired in the Data.IntSet API, a similar API where the
-- elements of the set are bytes (values of type Word8).
module Data.ByteSet
-- | Set of bytes (Word8). Note that NF and WHNF are equivalent for
-- values of type ByteSet.
data ByteSet
-- | 8-bit unsigned integer type
data Word8 :: *
-- | O(1). Is the byteset empty?
null :: ByteSet -> Bool
-- | O(1). Cardinality of the byteset.
size :: ByteSet -> Int
-- | O(1). Is the value a member of the byteset?
member :: Word8 -> ByteSet -> Bool
-- | O(1). Is the element not in the set?
notMember :: Word8 -> ByteSet -> Bool
-- | O(1). The empty byteset.
empty :: ByteSet
-- | O(1). A byteset of one element.
singleton :: Word8 -> ByteSet
-- | O(1). Add a value to the byteset.
insert :: Word8 -> ByteSet -> ByteSet
-- | O(1). Delete a byte in the byteset. Returns the original
-- byteset when the byte was not present.
delete :: Word8 -> ByteSet -> ByteSet
-- | O(1). The union of two bytesets.
union :: ByteSet -> ByteSet -> ByteSet
-- | The union of a list of bytesets. Just a fold over the list using
-- union.
unions :: [ByteSet] -> ByteSet
-- | O(1). Difference between two bytesets.
difference :: ByteSet -> ByteSet -> ByteSet
-- | O(1). The intersection of two bytesets.
intersection :: ByteSet -> ByteSet -> ByteSet
-- | O(n). Filter all elements that satisfy some predicate.
filter :: (Word8 -> Bool) -> ByteSet -> ByteSet
-- | O(n). Map a function over a byteset.
map :: (Word8 -> Word8) -> ByteSet -> ByteSet
-- | O(n). Fold the elements in the byteset using the given
-- right-associative binary operator.
foldr :: (Word8 -> a -> a) -> a -> ByteSet -> a
-- | O(n). The elements of a byteset in ascending order.
elems :: ByteSet -> [Word8]
-- | O(n). An alias of elems.
toList :: ByteSet -> [Word8]
-- | O(n). Create a byteset from a list of bytes.
fromList :: [Word8] -> ByteSet
instance Eq ByteSet
instance Ord ByteSet
instance Generic ByteSet
instance Datatype D1ByteSet
instance Constructor C1_0ByteSet
instance Binary ByteSet
instance Show ByteSet