charset-0.3.7.1: Fast unicode character sets based on complemented PATRICIA tries

Copyright(c) Edward Kmett 2010-2011
LicenseBSD3
Maintainerekmett@gmail.com
Stabilityexperimental
Portabilityportable
Safe HaskellTrustworthy
LanguageHaskell98

Data.CharSet

Contents

Description

Fast set membership tests for Char values

Stored as a (possibly negated) IntMap and a fast set used for the head byte.

The set of valid (possibly negated) head bytes is stored unboxed as a 32-byte bytestring-based lookup table.

Designed to be imported qualified:

import Data.CharSet (CharSet)
import qualified Data.CharSet as CharSet
Synopsis

Set type

data CharSet Source #

Constructors

CharSet !Bool !ByteSet !IntSet 
Instances
Bounded CharSet Source # 
Instance details

Defined in Data.CharSet

Eq CharSet Source # 
Instance details

Defined in Data.CharSet

Methods

(==) :: CharSet -> CharSet -> Bool #

(/=) :: CharSet -> CharSet -> Bool #

Data CharSet Source # 
Instance details

Defined in Data.CharSet

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CharSet -> c CharSet #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CharSet #

toConstr :: CharSet -> Constr #

dataTypeOf :: CharSet -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CharSet) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CharSet) #

gmapT :: (forall b. Data b => b -> b) -> CharSet -> CharSet #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CharSet -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CharSet -> r #

gmapQ :: (forall d. Data d => d -> u) -> CharSet -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CharSet -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CharSet -> m CharSet #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CharSet -> m CharSet #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CharSet -> m CharSet #

Ord CharSet Source # 
Instance details

Defined in Data.CharSet

Read CharSet Source # 
Instance details

Defined in Data.CharSet

Show CharSet Source # 
Instance details

Defined in Data.CharSet

Semigroup CharSet Source # 
Instance details

Defined in Data.CharSet

Monoid CharSet Source # 
Instance details

Defined in Data.CharSet

Operators

Query

null :: CharSet -> Bool Source #

O(n) worst case

size :: CharSet -> Int Source #

O(n)

Construction

Combine

Filter

Map

Fold

fold :: (Char -> b -> b) -> b -> CharSet -> b Source #

Conversion

List

Ordered list

IntMaps

Array