language-c-0.9.2: Analysis and generation of C code
Copyright(c) 2007..2008 Duncan Coutts Benedikt Huber
LicenseBSD-style
Maintainerbenedikt.huber@gmail.com
Stabilityexperimental
Portabilityghc
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.C.Syntax.Constants

Description

This module provides support for representing, checking and exporting c constants, i.e. integral, float, character and string constants.

Synopsis

Utilities

escapeChar :: Char -> String Source #

unescapeChar :: String -> (Char, String) Source #

unescapeString :: String -> String Source #

newtype Flags f Source #

Constructors

Flags Integer 

Instances

Instances details
Generic1 Flags Source # 
Instance details

Defined in Language.C.Syntax.Constants

Associated Types

type Rep1 Flags :: k -> Type

Methods

from1 :: forall (a :: k). Flags a -> Rep1 Flags a

to1 :: forall (a :: k). Rep1 Flags a -> Flags a

Data f => Data (Flags f) Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Flags f -> c (Flags f)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Flags f)

toConstr :: Flags f -> Constr

dataTypeOf :: Flags f -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Flags f))

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

gmapT :: (forall b. Data b => b -> b) -> Flags f -> Flags f

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Flags f -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Flags f -> r

gmapQ :: (forall d. Data d => d -> u) -> Flags f -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Flags f -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Flags f -> m (Flags f)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Flags f -> m (Flags f)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Flags f -> m (Flags f)

Generic (Flags f) Source # 
Instance details

Defined in Language.C.Syntax.Constants

Associated Types

type Rep (Flags f) :: Type -> Type

Methods

from :: Flags f -> Rep (Flags f) x

to :: Rep (Flags f) x -> Flags f

NFData (Flags f) Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

rnf :: Flags f -> ()

Eq (Flags f) Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

(==) :: Flags f -> Flags f -> Bool

(/=) :: Flags f -> Flags f -> Bool

Ord (Flags f) Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

compare :: Flags f -> Flags f -> Ordering

(<) :: Flags f -> Flags f -> Bool

(<=) :: Flags f -> Flags f -> Bool

(>) :: Flags f -> Flags f -> Bool

(>=) :: Flags f -> Flags f -> Bool

max :: Flags f -> Flags f -> Flags f

min :: Flags f -> Flags f -> Flags f

type Rep1 Flags Source # 
Instance details

Defined in Language.C.Syntax.Constants

type Rep1 Flags = D1 ('MetaData "Flags" "Language.C.Syntax.Constants" "language-c-0.9.2-2qlksbsQow9Gzp8WTwI6fa" 'True) (C1 ('MetaCons "Flags" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))
type Rep (Flags f) Source # 
Instance details

Defined in Language.C.Syntax.Constants

type Rep (Flags f) = D1 ('MetaData "Flags" "Language.C.Syntax.Constants" "language-c-0.9.2-2qlksbsQow9Gzp8WTwI6fa" 'True) (C1 ('MetaCons "Flags" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))

setFlag :: Enum f => f -> Flags f -> Flags f Source #

clearFlag :: Enum f => f -> Flags f -> Flags f Source #

testFlag :: Enum f => f -> Flags f -> Bool Source #

C char constants (and multi-character character constants)

cChar :: Char -> CChar Source #

construct a character constant from a haskell Char Use cchar_w if you want a wide character constant.

cChar_w :: Char -> CChar Source #

construct a wide chararacter constant

cChars :: String -> Bool -> CChar Source #

create a multi-character character constant

data CChar Source #

C char constants (abstract)

Constructors

CChar !Char !Bool 
CChars [Char] !Bool 

Instances

Instances details
Data CChar Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

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

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

toConstr :: CChar -> Constr

dataTypeOf :: CChar -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> CChar -> CChar

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

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

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

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

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

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

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

Generic CChar Source # 
Instance details

Defined in Language.C.Syntax.Constants

Associated Types

type Rep CChar :: Type -> Type

Methods

from :: CChar -> Rep CChar x

to :: Rep CChar x -> CChar

Show CChar Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

showsPrec :: Int -> CChar -> ShowS

show :: CChar -> String

showList :: [CChar] -> ShowS

NFData CChar Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

rnf :: CChar -> ()

Eq CChar Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

(==) :: CChar -> CChar -> Bool

(/=) :: CChar -> CChar -> Bool

Ord CChar Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

compare :: CChar -> CChar -> Ordering

(<) :: CChar -> CChar -> Bool

(<=) :: CChar -> CChar -> Bool

(>) :: CChar -> CChar -> Bool

(>=) :: CChar -> CChar -> Bool

max :: CChar -> CChar -> CChar

min :: CChar -> CChar -> CChar

type Rep CChar Source # 
Instance details

Defined in Language.C.Syntax.Constants

type Rep CChar = D1 ('MetaData "CChar" "Language.C.Syntax.Constants" "language-c-0.9.2-2qlksbsQow9Gzp8WTwI6fa" 'False) (C1 ('MetaCons "CChar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Char) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)) :+: C1 ('MetaCons "CChars" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Char]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)))

getCChar :: CChar -> String Source #

get the haskell representation of a char constant

getCCharAsInt :: CChar -> Integer Source #

get integer value of a C char constant undefined result for multi-char char constants

isWideChar :: CChar -> Bool Source #

return true if the character constant is wide.

showCharConst :: Char -> ShowS Source #

showCharConst c prepends _a_ String representing the C char constant corresponding to c. If necessary uses octal or hexadecimal escape sequences.

C integral constants

data CIntFlag Source #

datatype representing type flags for integers

Instances

Instances details
Data CIntFlag Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

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

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

toConstr :: CIntFlag -> Constr

dataTypeOf :: CIntFlag -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> CIntFlag -> CIntFlag

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

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

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

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

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

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

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

Bounded CIntFlag Source # 
Instance details

Defined in Language.C.Syntax.Constants

Enum CIntFlag Source # 
Instance details

Defined in Language.C.Syntax.Constants

Generic CIntFlag Source # 
Instance details

Defined in Language.C.Syntax.Constants

Associated Types

type Rep CIntFlag :: Type -> Type

Methods

from :: CIntFlag -> Rep CIntFlag x

to :: Rep CIntFlag x -> CIntFlag

Show CIntFlag Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

showsPrec :: Int -> CIntFlag -> ShowS

show :: CIntFlag -> String

showList :: [CIntFlag] -> ShowS

NFData CIntFlag Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

rnf :: CIntFlag -> ()

Eq CIntFlag Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

(==) :: CIntFlag -> CIntFlag -> Bool

(/=) :: CIntFlag -> CIntFlag -> Bool

Ord CIntFlag Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

compare :: CIntFlag -> CIntFlag -> Ordering

(<) :: CIntFlag -> CIntFlag -> Bool

(<=) :: CIntFlag -> CIntFlag -> Bool

(>) :: CIntFlag -> CIntFlag -> Bool

(>=) :: CIntFlag -> CIntFlag -> Bool

max :: CIntFlag -> CIntFlag -> CIntFlag

min :: CIntFlag -> CIntFlag -> CIntFlag

type Rep CIntFlag Source # 
Instance details

Defined in Language.C.Syntax.Constants

type Rep CIntFlag = D1 ('MetaData "CIntFlag" "Language.C.Syntax.Constants" "language-c-0.9.2-2qlksbsQow9Gzp8WTwI6fa" 'False) ((C1 ('MetaCons "FlagUnsigned" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FlagLong" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "FlagLongLong" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FlagImag" 'PrefixI 'False) (U1 :: Type -> Type)))

data CIntRepr Source #

datatype for memorizing the representation of an integer

Constructors

DecRepr 
HexRepr 
OctalRepr 

Instances

Instances details
Data CIntRepr Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

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

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

toConstr :: CIntRepr -> Constr

dataTypeOf :: CIntRepr -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> CIntRepr -> CIntRepr

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

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

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

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

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

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

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

Bounded CIntRepr Source # 
Instance details

Defined in Language.C.Syntax.Constants

Enum CIntRepr Source # 
Instance details

Defined in Language.C.Syntax.Constants

Generic CIntRepr Source # 
Instance details

Defined in Language.C.Syntax.Constants

Associated Types

type Rep CIntRepr :: Type -> Type

Methods

from :: CIntRepr -> Rep CIntRepr x

to :: Rep CIntRepr x -> CIntRepr

NFData CIntRepr Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

rnf :: CIntRepr -> ()

Eq CIntRepr Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

(==) :: CIntRepr -> CIntRepr -> Bool

(/=) :: CIntRepr -> CIntRepr -> Bool

Ord CIntRepr Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

compare :: CIntRepr -> CIntRepr -> Ordering

(<) :: CIntRepr -> CIntRepr -> Bool

(<=) :: CIntRepr -> CIntRepr -> Bool

(>) :: CIntRepr -> CIntRepr -> Bool

(>=) :: CIntRepr -> CIntRepr -> Bool

max :: CIntRepr -> CIntRepr -> CIntRepr

min :: CIntRepr -> CIntRepr -> CIntRepr

type Rep CIntRepr Source # 
Instance details

Defined in Language.C.Syntax.Constants

type Rep CIntRepr = D1 ('MetaData "CIntRepr" "Language.C.Syntax.Constants" "language-c-0.9.2-2qlksbsQow9Gzp8WTwI6fa" 'False) (C1 ('MetaCons "DecRepr" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "HexRepr" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OctalRepr" 'PrefixI 'False) (U1 :: Type -> Type)))

cInteger :: Integer -> CInteger Source #

construct a integer constant (without type flags) from a haskell integer

data CInteger Source #

Constructors

CInteger !Integer !CIntRepr !(Flags CIntFlag) 

Instances

Instances details
Data CInteger Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

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

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

toConstr :: CInteger -> Constr

dataTypeOf :: CInteger -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> CInteger -> CInteger

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

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

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

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

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

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

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

Generic CInteger Source # 
Instance details

Defined in Language.C.Syntax.Constants

Associated Types

type Rep CInteger :: Type -> Type

Methods

from :: CInteger -> Rep CInteger x

to :: Rep CInteger x -> CInteger

Show CInteger Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

showsPrec :: Int -> CInteger -> ShowS

show :: CInteger -> String

showList :: [CInteger] -> ShowS

NFData CInteger Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

rnf :: CInteger -> ()

Eq CInteger Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

(==) :: CInteger -> CInteger -> Bool

(/=) :: CInteger -> CInteger -> Bool

Ord CInteger Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

compare :: CInteger -> CInteger -> Ordering

(<) :: CInteger -> CInteger -> Bool

(<=) :: CInteger -> CInteger -> Bool

(>) :: CInteger -> CInteger -> Bool

(>=) :: CInteger -> CInteger -> Bool

max :: CInteger -> CInteger -> CInteger

min :: CInteger -> CInteger -> CInteger

type Rep CInteger Source # 
Instance details

Defined in Language.C.Syntax.Constants

type Rep CInteger = D1 ('MetaData "CInteger" "Language.C.Syntax.Constants" "language-c-0.9.2-2qlksbsQow9Gzp8WTwI6fa" 'False) (C1 ('MetaCons "CInteger" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Integer) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CIntRepr) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Flags CIntFlag)))))

readCInteger :: CIntRepr -> String -> Either String CInteger Source #

C floating point constants

cFloat :: Float -> CFloat Source #

data CFloat Source #

Floats (represented as strings)

Constructors

CFloat !String 

Instances

Instances details
Data CFloat Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

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

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

toConstr :: CFloat -> Constr

dataTypeOf :: CFloat -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> CFloat -> CFloat

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

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

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

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

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

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

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

Generic CFloat Source # 
Instance details

Defined in Language.C.Syntax.Constants

Associated Types

type Rep CFloat :: Type -> Type

Methods

from :: CFloat -> Rep CFloat x

to :: Rep CFloat x -> CFloat

Show CFloat Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

showsPrec :: Int -> CFloat -> ShowS

show :: CFloat -> String

showList :: [CFloat] -> ShowS

NFData CFloat Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

rnf :: CFloat -> ()

Eq CFloat Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

(==) :: CFloat -> CFloat -> Bool

(/=) :: CFloat -> CFloat -> Bool

Ord CFloat Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

compare :: CFloat -> CFloat -> Ordering

(<) :: CFloat -> CFloat -> Bool

(<=) :: CFloat -> CFloat -> Bool

(>) :: CFloat -> CFloat -> Bool

(>=) :: CFloat -> CFloat -> Bool

max :: CFloat -> CFloat -> CFloat

min :: CFloat -> CFloat -> CFloat

type Rep CFloat Source # 
Instance details

Defined in Language.C.Syntax.Constants

type Rep CFloat = D1 ('MetaData "CFloat" "Language.C.Syntax.Constants" "language-c-0.9.2-2qlksbsQow9Gzp8WTwI6fa" 'False) (C1 ('MetaCons "CFloat" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 String)))

readCFloat :: String -> CFloat Source #

C string literals

cString :: String -> CString Source #

cString_w :: String -> CString Source #

data CString Source #

C String literals

Constructors

CString String Bool 

Instances

Instances details
Data CString Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

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

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

toConstr :: CString -> Constr

dataTypeOf :: CString -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> CString -> CString

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

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

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

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

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

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

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

Generic CString Source # 
Instance details

Defined in Language.C.Syntax.Constants

Associated Types

type Rep CString :: Type -> Type

Methods

from :: CString -> Rep CString x

to :: Rep CString x -> CString

Show CString Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

showsPrec :: Int -> CString -> ShowS

show :: CString -> String

showList :: [CString] -> ShowS

NFData CString Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

rnf :: CString -> ()

Eq CString Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

(==) :: CString -> CString -> Bool

(/=) :: CString -> CString -> Bool

Ord CString Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

compare :: CString -> CString -> Ordering

(<) :: CString -> CString -> Bool

(<=) :: CString -> CString -> Bool

(>) :: CString -> CString -> Bool

(>=) :: CString -> CString -> Bool

max :: CString -> CString -> CString

min :: CString -> CString -> CString

type Rep CString Source # 
Instance details

Defined in Language.C.Syntax.Constants

type Rep CString = D1 ('MetaData "CString" "Language.C.Syntax.Constants" "language-c-0.9.2-2qlksbsQow9Gzp8WTwI6fa" 'False) (C1 ('MetaCons "CString" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

getCString :: CString -> String Source #

showStringLit :: String -> ShowS Source #

showStringLiteral s prepends a String representing the C string literal corresponding to s. If necessary it uses octal or hexadecimal escape sequences.

concatCStrings :: [CString] -> CString Source #

concatenate a list of C string literals

Clang C version literals

data ClangCVersion Source #

Constructors

ClangCVersion !String 

Instances

Instances details
Data ClangCVersion Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

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

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

toConstr :: ClangCVersion -> Constr

dataTypeOf :: ClangCVersion -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> ClangCVersion -> ClangCVersion

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

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

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

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

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

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

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

Show ClangCVersion Source # 
Instance details

Defined in Language.C.Syntax.Constants

Methods

showsPrec :: Int -> ClangCVersion -> ShowS

show :: ClangCVersion -> String

showList :: [ClangCVersion] -> ShowS

Eq ClangCVersion Source # 
Instance details

Defined in Language.C.Syntax.Constants

Ord ClangCVersion Source # 
Instance details

Defined in Language.C.Syntax.Constants