fficxx-0.7.0.0: Automatic C++ binding generation
Safe HaskellSafe-Inferred
LanguageHaskell2010

FFICXX.Generate.Code.Primitive

Synopsis

Documentation

data CFunSig Source #

Constructors

CFunSig 

Fields

data HsFunSig Source #

Constructors

HsFunSig 

Fields

argToCTypVar :: Arg -> (CType Identity, CName Identity) Source #

argsToCTypVar :: [Arg] -> [(CType Identity, CName Identity)] Source #

argsToCTypVarNoSelf :: [Arg] -> [(CType Identity, CName Identity)] Source #

c2Cxx :: Types -> CExp Identity -> CExp Identity Source #

cxx2C :: Types -> CExp Identity -> CExp Identity Source #

tmplArgToCTypVar :: IsCPrimitive -> Arg -> (CType Identity, CName Identity) Source #

tmplAllArgsToCTypVar :: IsCPrimitive -> Selfness -> TemplateClass -> [Arg] -> [(CType Identity, CName Identity)] Source #

tmplArgToCallCExp :: IsCPrimitive -> Arg -> CExp Identity Source #

tmplReturnCType :: IsCPrimitive -> Types -> CType Identity Source #

convertCpp2HS4Tmpl Source #

Arguments

:: Type ()

self

-> Maybe Class 
-> [Type ()]

type paramemter splice

-> Types 
-> Type () 
 

extractArgRetTypes Source #

Arguments

:: Maybe Class

class (Nothing for top-level function)

-> Bool

is virtual function?

-> CFunSig

C type signature information for a given function -- (Args,Types) -- ^ (argument types, return type) of a given function

-> HsFunSig

Haskell type signature information for the function -- ([Type ()],[Asst ()]) -- ^ (types, class constraints)

hsFFIFuncTyp :: Maybe (Selfness, Class) -> CFunSig -> Type () Source #

this is for FFI type.