{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, GeneralizedNewtypeDeriving, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
module Graphics.UI.Qtah.Generated.Core.QChar (
QCharValue (..),
QCharConstPtr (..),
category,
cell,
combiningClass,
decomposition,
decompositionTag,
digitValue,
direction,
hasMirrored,
isDigit,
isHighSurrogate,
isLetter,
isLetterOrNumber,
isLowSurrogate,
isLower,
isMark,
isNull,
isNumber,
isPrint,
isPunct,
isSpace,
isSymbol,
isTitleCase,
isUpper,
joiningType,
mirroredChar,
row,
toCaseFolded,
toLatin1,
toLower,
toTitleCase,
toUpper,
unicode,
unicodeVersion,
eQ,
nE,
lT,
lE,
gT,
gE,
QCharPtr (..),
unicodeRef,
aSSIGN,
newFromLatin1,
currentUnicodeVersion,
QCharConst (..),
castQCharToConst,
QChar (..),
castQCharToNonconst,
new,
newFromCellRow,
newFromInt,
newFromSpecialCharacter,
newCopy,
QCharSuper (..),
QCharSuperConst (..),
QCharCategory (..),
QCharDecomposition (..),
QCharDirection (..),
QCharJoiningType (..),
QCharSpecialCharacter (..),
QCharUnicodeVersion (..),
) where
import qualified Data.Char as QtahDC
import qualified Foreign as HoppyF
import qualified Foreign.C as HoppyFC
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import qualified Foreign.Hoppy.Runtime as QtahFHR
import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Core.QString as M54
import Prelude (($), (++), (.), (/=), (=<<), (==), (>>))
import qualified Prelude as HoppyP
import qualified Prelude as QtahP
foreign import ccall "genpop__QChar_new" new' :: HoppyP.IO (HoppyF.Ptr QChar)
foreign import ccall "genpop__QChar_newFromCellRow" newFromCellRow' :: HoppyFC.CUChar -> HoppyFC.CUChar -> HoppyP.IO (HoppyF.Ptr QChar)
foreign import ccall "genpop__QChar_newFromInt" newFromInt' :: HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr QChar)
foreign import ccall "genpop__QChar_newFromSpecialCharacter" newFromSpecialCharacter' :: HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr QChar)
foreign import ccall "genpop__QChar_newCopy" newCopy' :: HoppyF.Ptr QCharConst -> HoppyP.IO (HoppyF.Ptr QChar)
foreign import ccall "genpop__QChar_newFromLatin1" newFromLatin1' :: HoppyFC.CChar -> HoppyP.IO (HoppyF.Ptr QCharConst)
foreign import ccall "genpop__QChar_category" category' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QChar_cell" cell' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFC.CUChar
foreign import ccall "genpop__QChar_combiningClass" combiningClass' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFC.CUChar
foreign import ccall "genpop__QChar_currentUnicodeVersion" currentUnicodeVersion' :: HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QChar_decomposition" decomposition' :: HoppyF.Ptr QCharConst -> HoppyP.IO (HoppyF.Ptr M54.QStringConst)
foreign import ccall "genpop__QChar_decompositionTag" decompositionTag' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QChar_digitValue" digitValue' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QChar_direction" direction' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QChar_hasMirrored" hasMirrored' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_isDigit" isDigit' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_isHighSurrogate" isHighSurrogate' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_isLetter" isLetter' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_isLetterOrNumber" isLetterOrNumber' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_isLowSurrogate" isLowSurrogate' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_isLower" isLower' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_isMark" isMark' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_isNull" isNull' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_isNumber" isNumber' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_isPrint" isPrint' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_isPunct" isPunct' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_isSpace" isSpace' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_isSymbol" isSymbol' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_isTitleCase" isTitleCase' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_isUpper" isUpper' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_joiningType" joiningType' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QChar_mirroredChar" mirroredChar' :: HoppyF.Ptr QCharConst -> HoppyP.IO (HoppyF.Ptr QCharConst)
foreign import ccall "genpop__QChar_row" row' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFC.CUChar
foreign import ccall "genpop__QChar_toCaseFolded" toCaseFolded' :: HoppyF.Ptr QCharConst -> HoppyP.IO (HoppyF.Ptr QCharConst)
foreign import ccall "genpop__QChar_toLatin1" toLatin1' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFC.CChar
foreign import ccall "genpop__QChar_toLower" toLower' :: HoppyF.Ptr QCharConst -> HoppyP.IO (HoppyF.Ptr QCharConst)
foreign import ccall "genpop__QChar_toTitleCase" toTitleCase' :: HoppyF.Ptr QCharConst -> HoppyP.IO (HoppyF.Ptr QCharConst)
foreign import ccall "genpop__QChar_toUpper" toUpper' :: HoppyF.Ptr QCharConst -> HoppyP.IO (HoppyF.Ptr QCharConst)
foreign import ccall "genpop__QChar_unicode" unicode' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFC.CUShort
foreign import ccall "genpop__QChar_unicodeRef" unicodeRef' :: HoppyF.Ptr QChar -> HoppyP.IO (HoppyF.Ptr HoppyFC.CUShort)
foreign import ccall "genpop__QChar_unicodeVersion" unicodeVersion' :: HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QChar_EQ" eQ' :: HoppyF.Ptr QCharConst -> HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_NE" nE' :: HoppyF.Ptr QCharConst -> HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_LT" lT' :: HoppyF.Ptr QCharConst -> HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_LE" lE' :: HoppyF.Ptr QCharConst -> HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_GT" gT' :: HoppyF.Ptr QCharConst -> HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_GE" gE' :: HoppyF.Ptr QCharConst -> HoppyF.Ptr QCharConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QChar_ASSIGN" aSSIGN' :: HoppyF.Ptr QChar -> HoppyF.Ptr QCharConst -> HoppyP.IO (HoppyF.Ptr QChar)
foreign import ccall "gendel__QChar" delete'QChar :: HoppyF.Ptr QCharConst -> HoppyP.IO ()
foreign import ccall "&gendel__QChar" deletePtr'QChar :: HoppyF.FunPtr (HoppyF.Ptr QCharConst -> HoppyP.IO ())
class QCharValue a where
withQCharPtr :: a -> (QCharConst -> HoppyP.IO b) -> HoppyP.IO b
instance {-# OVERLAPPABLE #-} QCharConstPtr a => QCharValue a where
withQCharPtr = HoppyP.flip ($) . toQCharConst
instance {-# OVERLAPPING #-} QCharValue (QtahP.Char) where
withQCharPtr = HoppyFHR.withCppObj
class (HoppyFHR.CppPtr this) => QCharConstPtr this where
toQCharConst :: this -> QCharConst
category :: (QCharValue arg'1) => arg'1 -> HoppyP.IO QCharCategory
category arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
(category' arg'1')
cell :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyFC.CUChar
cell arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(cell' arg'1')
combiningClass :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyFC.CUChar
combiningClass arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(combiningClass' arg'1')
decomposition :: (QCharValue arg'1) => arg'1 -> HoppyP.IO QtahP.String
decomposition arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(HoppyFHR.decodeAndDelete . M54.QStringConst) =<<
(decomposition' arg'1')
decompositionTag :: (QCharValue arg'1) => arg'1 -> HoppyP.IO QCharDecomposition
decompositionTag arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
(decompositionTag' arg'1')
digitValue :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Int
digitValue arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap HoppyFHR.coerceIntegral
(digitValue' arg'1')
direction :: (QCharValue arg'1) => arg'1 -> HoppyP.IO QCharDirection
direction arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
(direction' arg'1')
hasMirrored :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
hasMirrored arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(hasMirrored' arg'1')
isDigit :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isDigit arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isDigit' arg'1')
isHighSurrogate :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isHighSurrogate arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isHighSurrogate' arg'1')
isLetter :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isLetter arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isLetter' arg'1')
isLetterOrNumber :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isLetterOrNumber arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isLetterOrNumber' arg'1')
isLowSurrogate :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isLowSurrogate arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isLowSurrogate' arg'1')
isLower :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isLower arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isLower' arg'1')
isMark :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isMark arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isMark' arg'1')
isNull :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isNull arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isNull' arg'1')
isNumber :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isNumber arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isNumber' arg'1')
isPrint :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isPrint arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isPrint' arg'1')
isPunct :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isPunct arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isPunct' arg'1')
isSpace :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isSpace arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isSpace' arg'1')
isSymbol :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isSymbol arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isSymbol' arg'1')
isTitleCase :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isTitleCase arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isTitleCase' arg'1')
isUpper :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isUpper arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isUpper' arg'1')
joiningType :: (QCharValue arg'1) => arg'1 -> HoppyP.IO QCharJoiningType
joiningType arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
(joiningType' arg'1')
mirroredChar :: (QCharValue arg'1) => arg'1 -> HoppyP.IO QtahP.Char
mirroredChar arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(HoppyFHR.decodeAndDelete . QCharConst) =<<
(mirroredChar' arg'1')
row :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyFC.CUChar
row arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(row' arg'1')
toCaseFolded :: (QCharValue arg'1) => arg'1 -> HoppyP.IO QtahP.Char
toCaseFolded arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(HoppyFHR.decodeAndDelete . QCharConst) =<<
(toCaseFolded' arg'1')
toLatin1 :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyFC.CChar
toLatin1 arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(toLatin1' arg'1')
toLower :: (QCharValue arg'1) => arg'1 -> HoppyP.IO QtahP.Char
toLower arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(HoppyFHR.decodeAndDelete . QCharConst) =<<
(toLower' arg'1')
toTitleCase :: (QCharValue arg'1) => arg'1 -> HoppyP.IO QtahP.Char
toTitleCase arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(HoppyFHR.decodeAndDelete . QCharConst) =<<
(toTitleCase' arg'1')
toUpper :: (QCharValue arg'1) => arg'1 -> HoppyP.IO QtahP.Char
toUpper arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(HoppyFHR.decodeAndDelete . QCharConst) =<<
(toUpper' arg'1')
unicode :: (QCharValue arg'1) => arg'1 -> HoppyP.IO HoppyFC.CUShort
unicode arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(unicode' arg'1')
unicodeVersion :: (QCharValue arg'1) => arg'1 -> HoppyP.IO QCharUnicodeVersion
unicodeVersion arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
(unicodeVersion' arg'1')
eQ :: (QCharValue arg'1, QCharValue arg'2) => arg'1 -> arg'2 -> HoppyP.IO HoppyP.Bool
eQ arg'1 arg'2 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
withQCharPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
HoppyP.fmap (/= 0)
(eQ' arg'1' arg'2')
nE :: (QCharValue arg'1, QCharValue arg'2) => arg'1 -> arg'2 -> HoppyP.IO HoppyP.Bool
nE arg'1 arg'2 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
withQCharPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
HoppyP.fmap (/= 0)
(nE' arg'1' arg'2')
lT :: (QCharValue arg'1, QCharValue arg'2) => arg'1 -> arg'2 -> HoppyP.IO HoppyP.Bool
lT arg'1 arg'2 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
withQCharPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
HoppyP.fmap (/= 0)
(lT' arg'1' arg'2')
lE :: (QCharValue arg'1, QCharValue arg'2) => arg'1 -> arg'2 -> HoppyP.IO HoppyP.Bool
lE arg'1 arg'2 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
withQCharPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
HoppyP.fmap (/= 0)
(lE' arg'1' arg'2')
gT :: (QCharValue arg'1, QCharValue arg'2) => arg'1 -> arg'2 -> HoppyP.IO HoppyP.Bool
gT arg'1 arg'2 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
withQCharPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
HoppyP.fmap (/= 0)
(gT' arg'1' arg'2')
gE :: (QCharValue arg'1, QCharValue arg'2) => arg'1 -> arg'2 -> HoppyP.IO HoppyP.Bool
gE arg'1 arg'2 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
withQCharPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
HoppyP.fmap (/= 0)
(gE' arg'1' arg'2')
class (QCharConstPtr this) => QCharPtr this where
toQChar :: this -> QChar
unicodeRef :: (QCharPtr arg'1) => arg'1 -> HoppyP.IO (HoppyF.Ptr HoppyFC.CUShort)
unicodeRef arg'1 =
HoppyFHR.withCppPtr (toQChar arg'1) $ \arg'1' ->
(unicodeRef' arg'1')
aSSIGN :: (QCharPtr arg'1, QCharValue arg'2) => arg'1 -> arg'2 -> HoppyP.IO QChar
aSSIGN arg'1 arg'2 =
HoppyFHR.withCppPtr (toQChar arg'1) $ \arg'1' ->
withQCharPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
HoppyP.fmap QChar
(aSSIGN' arg'1' arg'2')
newFromLatin1 :: HoppyFC.CChar -> HoppyP.IO QtahP.Char
newFromLatin1 arg'1 =
let arg'1' = arg'1 in
(HoppyFHR.decodeAndDelete . QCharConst) =<<
(newFromLatin1' arg'1')
currentUnicodeVersion :: HoppyP.IO QCharUnicodeVersion
currentUnicodeVersion =
HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
(currentUnicodeVersion')
data QCharConst =
QCharConst (HoppyF.Ptr QCharConst)
| QCharConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QCharConst)
deriving (HoppyP.Show)
instance HoppyP.Eq QCharConst where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QCharConst where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQCharToConst :: QChar -> QCharConst
castQCharToConst (QChar ptr') = QCharConst $ HoppyF.castPtr ptr'
castQCharToConst (QCharGc fptr' ptr') = QCharConstGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QCharConst where
nullptr = QCharConst HoppyF.nullPtr
withCppPtr (QCharConst ptr') f' = f' ptr'
withCppPtr (QCharConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QCharConst ptr') = ptr'
toPtr (QCharConstGc _ ptr') = ptr'
touchCppPtr (QCharConst _) = HoppyP.return ()
touchCppPtr (QCharConstGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QCharConst where
delete (QCharConst ptr') = delete'QChar ptr'
delete (QCharConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QCharConst", " object."]
toGc this'@(QCharConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QCharConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QChar :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QCharConstGc {}) = HoppyP.return this'
instance HoppyFHR.Copyable QCharConst QChar where copy = newCopy
instance QCharConstPtr QCharConst where
toQCharConst = HoppyP.id
data QChar =
QChar (HoppyF.Ptr QChar)
| QCharGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QChar)
deriving (HoppyP.Show)
instance HoppyP.Eq QChar where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QChar where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQCharToNonconst :: QCharConst -> QChar
castQCharToNonconst (QCharConst ptr') = QChar $ HoppyF.castPtr ptr'
castQCharToNonconst (QCharConstGc fptr' ptr') = QCharGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QChar where
nullptr = QChar HoppyF.nullPtr
withCppPtr (QChar ptr') f' = f' ptr'
withCppPtr (QCharGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QChar ptr') = ptr'
toPtr (QCharGc _ ptr') = ptr'
touchCppPtr (QChar _) = HoppyP.return ()
touchCppPtr (QCharGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QChar where
delete (QChar ptr') = delete'QChar $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QCharConst)
delete (QCharGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QChar", " object."]
toGc this'@(QChar ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QCharGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QChar :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QCharGc {}) = HoppyP.return this'
instance HoppyFHR.Copyable QChar QChar where copy = newCopy
instance QCharConstPtr QChar where
toQCharConst (QChar ptr') = QCharConst $ (HoppyF.castPtr :: HoppyF.Ptr QChar -> HoppyF.Ptr QCharConst) ptr'
toQCharConst (QCharGc fptr' ptr') = QCharConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QChar -> HoppyF.Ptr QCharConst) ptr'
instance QCharPtr QChar where
toQChar = HoppyP.id
new :: HoppyP.IO QChar
new =
HoppyP.fmap QChar
(new')
newFromCellRow :: HoppyFC.CUChar -> HoppyFC.CUChar -> HoppyP.IO QChar
newFromCellRow arg'1 arg'2 =
let arg'1' = arg'1 in
let arg'2' = arg'2 in
HoppyP.fmap QChar
(newFromCellRow' arg'1' arg'2')
newFromInt :: HoppyP.Int -> HoppyP.IO QChar
newFromInt arg'1 =
let arg'1' = HoppyFHR.coerceIntegral arg'1 in
HoppyP.fmap QChar
(newFromInt' arg'1')
newFromSpecialCharacter :: QCharSpecialCharacter -> HoppyP.IO QChar
newFromSpecialCharacter arg'1 =
let arg'1' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'1 in
HoppyP.fmap QChar
(newFromSpecialCharacter' arg'1')
newCopy :: (QCharValue arg'1) => arg'1 -> HoppyP.IO QChar
newCopy arg'1 =
withQCharPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap QChar
(newCopy' arg'1')
class QCharSuper a where
downToQChar :: a -> QChar
class QCharSuperConst a where
downToQCharConst :: a -> QCharConst
instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QChar)) QChar where
assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'
instance QCharValue a => HoppyFHR.Assignable QChar a where
assign x' y' = aSSIGN x' y' >> HoppyP.return ()
instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QChar)) QChar where
decode = HoppyP.fmap QChar . HoppyF.peek
instance HoppyFHR.Encodable QChar (QtahP.Char) where
encode =
newFromInt . QtahFHR.coerceIntegral . QtahDC.ord
instance HoppyFHR.Encodable QCharConst (QtahP.Char) where
encode = HoppyP.fmap (toQCharConst) . HoppyFHR.encodeAs (HoppyP.undefined :: QChar)
instance HoppyFHR.Decodable QChar (QtahP.Char) where
decode = HoppyFHR.decode . toQCharConst
instance HoppyFHR.Decodable QCharConst (QtahP.Char) where
decode =
QtahP.fmap (QtahDC.chr . QtahFHR.coerceIntegral) . unicode
data QCharCategory =
MarkNonSpacing
| MarkSpacingCombining
| MarkEnclosing
| NumberDecimalDigit
| NumberLetter
| NumberOther
| SeparatorSpace
| SeparatorLine
| SeparatorParagraph
| OtherControl
| OtherFormat
| OtherSurrogate
| OtherPrivateUse
| OtherNotAssigned
| LetterUppercase
| LetterLowercase
| LetterTitlecase
| LetterModifier
| LetterOther
| PunctuationConnector
| PunctuationDash
| PunctuationOpen
| PunctuationClose
| PunctuationInitialQuote
| PunctuationFinalQuote
| PunctuationOther
| SymbolMath
| SymbolCurrency
| SymbolModifier
| SymbolOther
| NoCategory
deriving (HoppyP.Bounded, HoppyP.Eq, HoppyP.Ord, HoppyP.Show)
instance HoppyP.Enum QCharCategory where
fromEnum MarkNonSpacing = 1
fromEnum MarkSpacingCombining = 2
fromEnum MarkEnclosing = 3
fromEnum NumberDecimalDigit = 4
fromEnum NumberLetter = 5
fromEnum NumberOther = 6
fromEnum SeparatorSpace = 7
fromEnum SeparatorLine = 8
fromEnum SeparatorParagraph = 9
fromEnum OtherControl = 10
fromEnum OtherFormat = 11
fromEnum OtherSurrogate = 12
fromEnum OtherPrivateUse = 13
fromEnum OtherNotAssigned = 14
fromEnum LetterUppercase = 15
fromEnum LetterLowercase = 16
fromEnum LetterTitlecase = 17
fromEnum LetterModifier = 18
fromEnum LetterOther = 19
fromEnum PunctuationConnector = 20
fromEnum PunctuationDash = 21
fromEnum PunctuationOpen = 22
fromEnum PunctuationClose = 23
fromEnum PunctuationInitialQuote = 24
fromEnum PunctuationFinalQuote = 25
fromEnum PunctuationOther = 26
fromEnum SymbolMath = 27
fromEnum SymbolCurrency = 28
fromEnum SymbolModifier = 29
fromEnum SymbolOther = 30
fromEnum NoCategory = 0
toEnum (1) = MarkNonSpacing
toEnum (2) = MarkSpacingCombining
toEnum (3) = MarkEnclosing
toEnum (4) = NumberDecimalDigit
toEnum (5) = NumberLetter
toEnum (6) = NumberOther
toEnum (7) = SeparatorSpace
toEnum (8) = SeparatorLine
toEnum (9) = SeparatorParagraph
toEnum (10) = OtherControl
toEnum (11) = OtherFormat
toEnum (12) = OtherSurrogate
toEnum (13) = OtherPrivateUse
toEnum (14) = OtherNotAssigned
toEnum (15) = LetterUppercase
toEnum (16) = LetterLowercase
toEnum (17) = LetterTitlecase
toEnum (18) = LetterModifier
toEnum (19) = LetterOther
toEnum (20) = PunctuationConnector
toEnum (21) = PunctuationDash
toEnum (22) = PunctuationOpen
toEnum (23) = PunctuationClose
toEnum (24) = PunctuationInitialQuote
toEnum (25) = PunctuationFinalQuote
toEnum (26) = PunctuationOther
toEnum (27) = SymbolMath
toEnum (28) = SymbolCurrency
toEnum (29) = SymbolModifier
toEnum (30) = SymbolOther
toEnum (0) = NoCategory
toEnum n' = HoppyP.error $ "Unknown QCharCategory numeric value: " ++ HoppyP.show n'
data QCharDecomposition =
NoDecomposition
| Canonical
| Circle
| Compat
| Final
| Font
| Fraction
| Initial
| Isolated
| Medial
| Narrow
| NoBreak
| Small
| Square
| Sub
| Super
| Vertical
| Wide
deriving (HoppyP.Bounded, HoppyP.Eq, HoppyP.Ord, HoppyP.Show)
instance HoppyP.Enum QCharDecomposition where
fromEnum NoDecomposition = 0
fromEnum Canonical = 1
fromEnum Circle = 8
fromEnum Compat = 16
fromEnum Final = 6
fromEnum Font = 2
fromEnum Fraction = 17
fromEnum Initial = 4
fromEnum Isolated = 7
fromEnum Medial = 5
fromEnum Narrow = 13
fromEnum NoBreak = 3
fromEnum Small = 14
fromEnum Square = 15
fromEnum Sub = 10
fromEnum Super = 9
fromEnum Vertical = 11
fromEnum Wide = 12
toEnum (0) = NoDecomposition
toEnum (1) = Canonical
toEnum (8) = Circle
toEnum (16) = Compat
toEnum (6) = Final
toEnum (2) = Font
toEnum (17) = Fraction
toEnum (4) = Initial
toEnum (7) = Isolated
toEnum (5) = Medial
toEnum (13) = Narrow
toEnum (3) = NoBreak
toEnum (14) = Small
toEnum (15) = Square
toEnum (10) = Sub
toEnum (9) = Super
toEnum (11) = Vertical
toEnum (12) = Wide
toEnum n' = HoppyP.error $ "Unknown QCharDecomposition numeric value: " ++ HoppyP.show n'
data QCharDirection =
DirAl
| DirAn
| DirB
| DirBn
| DirCs
| DirEn
| DirEs
| DirEt
| DirL
| DirLre
| DirLro
| DirNsm
| DirOn
| DirPdf
| DirR
| DirRle
| DirRlo
| DirS
| DirWs
deriving (HoppyP.Bounded, HoppyP.Eq, HoppyP.Ord, HoppyP.Show)
instance HoppyP.Enum QCharDirection where
fromEnum DirAl = 13
fromEnum DirAn = 5
fromEnum DirB = 7
fromEnum DirBn = 18
fromEnum DirCs = 6
fromEnum DirEn = 2
fromEnum DirEs = 3
fromEnum DirEt = 4
fromEnum DirL = 0
fromEnum DirLre = 11
fromEnum DirLro = 12
fromEnum DirNsm = 17
fromEnum DirOn = 10
fromEnum DirPdf = 16
fromEnum DirR = 1
fromEnum DirRle = 14
fromEnum DirRlo = 15
fromEnum DirS = 8
fromEnum DirWs = 9
toEnum (13) = DirAl
toEnum (5) = DirAn
toEnum (7) = DirB
toEnum (18) = DirBn
toEnum (6) = DirCs
toEnum (2) = DirEn
toEnum (3) = DirEs
toEnum (4) = DirEt
toEnum (0) = DirL
toEnum (11) = DirLre
toEnum (12) = DirLro
toEnum (17) = DirNsm
toEnum (10) = DirOn
toEnum (16) = DirPdf
toEnum (1) = DirR
toEnum (14) = DirRle
toEnum (15) = DirRlo
toEnum (8) = DirS
toEnum (9) = DirWs
toEnum n' = HoppyP.error $ "Unknown QCharDirection numeric value: " ++ HoppyP.show n'
data QCharJoiningType =
JoiningNone
| JoiningCausing
| JoiningDual
| JoiningRight
| JoiningLeft
| JoiningTransparent
deriving (HoppyP.Bounded, HoppyP.Eq, HoppyP.Ord, HoppyP.Show)
instance HoppyP.Enum QCharJoiningType where
fromEnum JoiningNone = 0
fromEnum JoiningCausing = 1
fromEnum JoiningDual = 2
fromEnum JoiningRight = 3
fromEnum JoiningLeft = 4
fromEnum JoiningTransparent = 5
toEnum (0) = JoiningNone
toEnum (1) = JoiningCausing
toEnum (2) = JoiningDual
toEnum (3) = JoiningRight
toEnum (4) = JoiningLeft
toEnum (5) = JoiningTransparent
toEnum n' = HoppyP.error $ "Unknown QCharJoiningType numeric value: " ++ HoppyP.show n'
data QCharSpecialCharacter =
Null
| Nbsp
| LineSeparator
| ParagraphSeparator
| ObjectReplacementCharacter
| ReplacementCharacter
| ByteOrderMark
| ByteOrderSwapped
deriving (HoppyP.Bounded, HoppyP.Eq, HoppyP.Ord, HoppyP.Show)
instance HoppyP.Enum QCharSpecialCharacter where
fromEnum Null = 0
fromEnum Nbsp = 160
fromEnum LineSeparator = 8232
fromEnum ParagraphSeparator = 8233
fromEnum ObjectReplacementCharacter = 65532
fromEnum ReplacementCharacter = 65533
fromEnum ByteOrderMark = 65279
fromEnum ByteOrderSwapped = 65534
toEnum (0) = Null
toEnum (160) = Nbsp
toEnum (8232) = LineSeparator
toEnum (8233) = ParagraphSeparator
toEnum (65532) = ObjectReplacementCharacter
toEnum (65533) = ReplacementCharacter
toEnum (65279) = ByteOrderMark
toEnum (65534) = ByteOrderSwapped
toEnum n' = HoppyP.error $ "Unknown QCharSpecialCharacter numeric value: " ++ HoppyP.show n'
data QCharUnicodeVersion =
Unicode1_1
| Unicode2_0
| Unicode2_1_2
| Unicode3_0
| Unicode3_1
| Unicode3_2
| Unicode4_0
| Unicode4_1
| Unicode5_0
| UnicodeUnassigned
deriving (HoppyP.Bounded, HoppyP.Eq, HoppyP.Ord, HoppyP.Show)
instance HoppyP.Enum QCharUnicodeVersion where
fromEnum Unicode1_1 = 1
fromEnum Unicode2_0 = 2
fromEnum Unicode2_1_2 = 3
fromEnum Unicode3_0 = 4
fromEnum Unicode3_1 = 5
fromEnum Unicode3_2 = 6
fromEnum Unicode4_0 = 7
fromEnum Unicode4_1 = 8
fromEnum Unicode5_0 = 9
fromEnum UnicodeUnassigned = 0
toEnum (1) = Unicode1_1
toEnum (2) = Unicode2_0
toEnum (3) = Unicode2_1_2
toEnum (4) = Unicode3_0
toEnum (5) = Unicode3_1
toEnum (6) = Unicode3_2
toEnum (7) = Unicode4_0
toEnum (8) = Unicode4_1
toEnum (9) = Unicode5_0
toEnum (0) = UnicodeUnassigned
toEnum n' = HoppyP.error $ "Unknown QCharUnicodeVersion numeric value: " ++ HoppyP.show n'