-- | -- It is recommended to import this module qualified to avoid name conflicts -- with functions from the Prelude. -- -- Enabling [@OverloadedStrings@](https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/overloaded_strings.html) -- will allow declaring @CharSet@s using string literal syntax. -- -- @ -- {-# LANGUAGE OverloadedStrings #-} -- -- import qualified Data.CharSet as CS -- -- vowels :: CS.CharSet -- vowels = "aeiou" -- @ -- module Data.CharSet ( -- * The @CharSet@ type CS.CharSet -- * @CharSet@ operations -- $ops , CS.singleton , CS.fromRange , CS.fromList , CS.fromRanges , CS.insert , CS.insertRange , CS.delete , CS.deleteRange , CS.map , CS.not , CS.union , CS.difference , CS.intersection , CS.member , CS.notMember , CS.elems , CS.ranges -- * Available @CharSet@s , CS.empty , CSets.digit , CSets.word , CSets.space , CSets.ascii , CSets.asciiAlpha , CSets.asciiUpper , CSets.asciiLower -- * Testing , CS.valid ) where import qualified Regex.Internal.CharSet as CS import qualified Regex.Internal.CharSets as CSets -- $ops -- -- Variables used: -- -- * \(n\): the number of @Char@ ranges -- * \(s\): the number of @Char@s -- * \(C\): the maximum bits in a @Char@, i.e. 21 -- * \(n\), \(m\): the number of @Char@ ranges in the first and second sets -- respectively, for functions taking two sets