module HaskellWorks.Data.Xml.CharLike where

import Data.Word
import Data.Word8 as W

class XmlCharLike c where
  isElementStart :: c -> Bool
  isExclam       :: c -> Bool
  isHyphen       :: c -> Bool
  isOpenBracket  :: c -> Bool
  isQuestion     :: c -> Bool
  isQuote        :: c -> Bool
  isSpace        :: c -> Bool

instance XmlCharLike Word8 where
  isElementStart :: Word8 -> Bool
isElementStart     = (Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_less)
  isExclam :: Word8 -> Bool
isExclam           = (Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_exclam)
  isHyphen :: Word8 -> Bool
isHyphen           = (Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_hyphen)
  isOpenBracket :: Word8 -> Bool
isOpenBracket      = (Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_bracketleft)
  isQuestion :: Word8 -> Bool
isQuestion         = (Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_question)
  isQuote :: Word8 -> Bool
isQuote Word8
c          = Word8
c Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_quotedbl Bool -> Bool -> Bool
|| Word8
c Word8 -> Word8 -> Bool
forall a. Eq a => a -> a -> Bool
== Word8
_quotesingle
  isSpace :: Word8 -> Bool
isSpace            = Word8 -> Bool
W.isSpace