{-# LANGUAGE DeriveDataTypeable #-} module Burrito.Internal.Type.Match ( Match (..), ) where import qualified Burrito.Internal.Type.MaxLength as MaxLength import qualified Data.Data as Data import qualified Data.Text as Text data Match = Defined Text.Text | Prefix MaxLength.MaxLength Text.Text | Undefined deriving (Typeable Match Match -> DataType Match -> Constr (forall b. Data b => b -> b) -> Match -> Match forall a. Typeable a -> (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> a -> c a) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c a) -> (a -> Constr) -> (a -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c a)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a)) -> ((forall b. Data b => b -> b) -> a -> a) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall u. (forall d. Data d => d -> u) -> a -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> Data a forall u. Int -> (forall d. Data d => d -> u) -> Match -> u forall u. (forall d. Data d => d -> u) -> Match -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Match -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Match -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Match -> m Match forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Match -> m Match forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Match forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Match -> c Match forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Match) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Match) gmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Match -> m Match $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Match -> m Match gmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Match -> m Match $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Match -> m Match gmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Match -> m Match $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Match -> m Match gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Match -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Match -> u gmapQ :: forall u. (forall d. Data d => d -> u) -> Match -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> Match -> [u] gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Match -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Match -> r gmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Match -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Match -> r gmapT :: (forall b. Data b => b -> b) -> Match -> Match $cgmapT :: (forall b. Data b => b -> b) -> Match -> Match dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Match) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Match) dataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Match) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Match) dataTypeOf :: Match -> DataType $cdataTypeOf :: Match -> DataType toConstr :: Match -> Constr $ctoConstr :: Match -> Constr gunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Match $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Match gfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Match -> c Match $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Match -> c Match Data.Data, Match -> Match -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Match -> Match -> Bool $c/= :: Match -> Match -> Bool == :: Match -> Match -> Bool $c== :: Match -> Match -> Bool Eq, Eq Match Match -> Match -> Bool Match -> Match -> Ordering Match -> Match -> Match forall a. Eq a -> (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a min :: Match -> Match -> Match $cmin :: Match -> Match -> Match max :: Match -> Match -> Match $cmax :: Match -> Match -> Match >= :: Match -> Match -> Bool $c>= :: Match -> Match -> Bool > :: Match -> Match -> Bool $c> :: Match -> Match -> Bool <= :: Match -> Match -> Bool $c<= :: Match -> Match -> Bool < :: Match -> Match -> Bool $c< :: Match -> Match -> Bool compare :: Match -> Match -> Ordering $ccompare :: Match -> Match -> Ordering Ord, Int -> Match -> ShowS [Match] -> ShowS Match -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Match] -> ShowS $cshowList :: [Match] -> ShowS show :: Match -> String $cshow :: Match -> String showsPrec :: Int -> Match -> ShowS $cshowsPrec :: Int -> Match -> ShowS Show)