Copyright | (c) 2011-2017 Ian-Woo Kim |
---|---|
License | BSD3 |
Maintainer | Ian-Woo Kim <ianwookim@gmail.com> |
Stability | experimental |
Portability | GHC |
Safe Haskell | None |
Language | Haskell98 |
- data CTypes
- data CPPTypes
- data IsConst
- data Types
- = Void
- | SelfType
- | CT CTypes IsConst
- | CPT CPPTypes IsConst
- | TemplateApp { }
- | TemplateAppRef { }
- | TemplateType TemplateClass
- | TemplateParam String
- cvarToStr :: CTypes -> IsConst -> String -> String
- ctypToStr :: CTypes -> IsConst -> String
- self_ :: Types
- cstring_ :: Types
- cint_ :: Types
- int_ :: Types
- uint_ :: Types
- ulong_ :: Types
- long_ :: Types
- culong_ :: Types
- clong_ :: Types
- cchar_ :: Types
- char_ :: Types
- short_ :: Types
- cdouble_ :: Types
- double_ :: Types
- doublep_ :: Types
- float_ :: Types
- bool_ :: Types
- void_ :: Types
- voidp_ :: Types
- intp_ :: Types
- intref_ :: Types
- charpp_ :: Types
- star_ :: CTypes -> Types
- cstar_ :: CTypes -> Types
- self :: String -> (Types, String)
- voidp :: String -> (Types, String)
- cstring :: String -> (Types, String)
- cint :: String -> (Types, String)
- int :: String -> (Types, String)
- uint :: String -> (Types, String)
- long :: String -> (Types, String)
- ulong :: String -> (Types, String)
- clong :: String -> (Types, String)
- culong :: String -> (Types, String)
- cchar :: String -> (Types, String)
- char :: String -> (Types, String)
- short :: String -> (Types, String)
- cdouble :: String -> (Types, String)
- double :: String -> (Types, String)
- doublep :: String -> (Types, String)
- float :: String -> (Types, String)
- bool :: String -> (Types, String)
- intp :: String -> (Types, String)
- intref :: String -> (Types, String)
- charpp :: String -> (Types, String)
- star :: CTypes -> String -> (Types, String)
- cstar :: CTypes -> String -> (Types, String)
- cppclass_ :: Class -> Types
- cppclass :: Class -> String -> (Types, String)
- cppclassconst :: Class -> String -> (Types, String)
- cppclassref_ :: Class -> Types
- cppclassref :: Class -> String -> (Types, String)
- cppclasscopy_ :: Class -> Types
- cppclasscopy :: Class -> String -> (Types, String)
- hsCTypeName :: CTypes -> String
- type Args = [(Types, String)]
- data Function
- = Constructor {
- func_args :: Args
- func_alias :: Maybe String
- | Virtual { }
- | NonVirtual { }
- | Static { }
- | Destructor { }
- = Constructor {
- data TopLevelFunction
- hsFrontNameForTopLevelFunction :: TopLevelFunction -> String
- isNewFunc :: Function -> Bool
- isDeleteFunc :: Function -> Bool
- isVirtualFunc :: Function -> Bool
- isNonVirtualFunc :: Function -> Bool
- isStaticFunc :: Function -> Bool
- virtualFuncs :: [Function] -> [Function]
- constructorFuncs :: [Function] -> [Function]
- nonVirtualNotNewFuncs :: [Function] -> [Function]
- staticFuncs :: [Function] -> [Function]
- argToString :: (Types, String) -> String
- argsToString :: Args -> String
- argsToStringNoSelf :: Args -> String
- argToCallString :: (Types, String) -> String
- argsToCallString :: Args -> String
- rettypeToString :: Types -> String
- tmplArgToString :: TemplateClass -> (Types, String) -> String
- tmplAllArgsToString :: Selfness -> TemplateClass -> Args -> String
- tmplArgToCallString :: (Types, String) -> String
- tmplAllArgsToCallString :: Args -> String
- tmplRetTypeToString :: Bool -> Types -> String
- newtype ProtectedMethod = Protected {
- unProtected :: [String]
- data AddCInc = AddCInc FilePath String
- data AddCSrc = AddCSrc FilePath String
- data Cabal = Cabal {}
- data CabalAttr = CabalAttr {}
- data Class
- = Class { }
- | AbstractClass { }
- data TemplateFunction
- = TFun { }
- | TFunNew { }
- | TFunDelete
- data TemplateClass = TmplCls {}
- data ClassGlobal = ClassGlobal {}
- data Selfness
- isAbstractClass :: Class -> Bool
- type DaughterMap = Map String [Class]
- class_allparents :: Class -> [Class]
- getClassModuleBase :: Class -> String
- getTClassModuleBase :: TemplateClass -> String
- mkDaughterMap :: [Class] -> DaughterMap
- mkDaughterSelfMap :: [Class] -> DaughterMap
- ctypToHsTyp :: Maybe Class -> Types -> String
- convertC2HS :: CTypes -> Type ()
- convertCpp2HS :: Maybe Class -> Types -> Type ()
- convertCpp2HS4Tmpl :: Type () -> Maybe Class -> Type () -> Types -> Type ()
- typeclassName :: Class -> String
- typeclassNameT :: TemplateClass -> String
- typeclassNameFromStr :: String -> String
- hsClassName :: Class -> (String, String)
- hsTemplateClassName :: TemplateClass -> (String, String)
- existConstructorName :: Class -> String
- hscFuncName :: Class -> Function -> String
- hsFuncName :: Class -> Function -> String
- hsFuncXformer :: Function -> String
- genericFuncRet :: Function -> Types
- genericFuncArgs :: Function -> Args
- aliasedFuncName :: Class -> Function -> String
- cppStaticName :: Class -> Function -> String
- cppFuncName :: Class -> Function -> String
- constructorName :: Class -> String
- nonvirtualName :: Class -> String -> String
- destructorName :: String
- classConstraints :: Class -> Context ()
- extractArgRetTypes :: Maybe Class -> Bool -> (Args, Types) -> ([Type ()], [Asst ()])
- functionSignature :: Class -> Function -> Type ()
- functionSignatureT :: TemplateClass -> TemplateFunction -> Type ()
- functionSignatureTT :: TemplateClass -> TemplateFunction -> Type ()
- hsFFIFuncTyp :: Maybe (Selfness, Class) -> (Args, Types) -> Type ()
Documentation
C types
C++ types
cppclassref_ :: Class -> Types Source #
cppclasscopy_ :: Class -> Types Source #
hsCTypeName :: CTypes -> String Source #
isDeleteFunc :: Function -> Bool Source #
isVirtualFunc :: Function -> Bool Source #
isNonVirtualFunc :: Function -> Bool Source #
isStaticFunc :: Function -> Bool Source #
virtualFuncs :: [Function] -> [Function] Source #
constructorFuncs :: [Function] -> [Function] Source #
nonVirtualNotNewFuncs :: [Function] -> [Function] Source #
staticFuncs :: [Function] -> [Function] Source #
argsToString :: Args -> String Source #
argsToStringNoSelf :: Args -> String Source #
argsToCallString :: Args -> String Source #
rettypeToString :: Types -> String Source #
tmplArgToString :: TemplateClass -> (Types, String) -> String Source #
tmplAllArgsToString :: Selfness -> TemplateClass -> Args -> String Source #
tmplAllArgsToCallString :: Args -> String Source #
Class | |
| |
AbstractClass | |
|
data TemplateClass Source #
TmplCls | |
|
isAbstractClass :: Class -> Bool Source #
Check abstract class
class_allparents :: Class -> [Class] Source #
getClassModuleBase :: Class -> String Source #
mkDaughterMap :: [Class] -> DaughterMap Source #
Daughter map not including itself
mkDaughterSelfMap :: [Class] -> DaughterMap Source #
Daughter Map including itself as a daughter
convertC2HS :: CTypes -> Type () Source #
typeclassName :: Class -> String Source #
typeclassNameT :: TemplateClass -> String Source #
typeclassNameFromStr :: String -> String Source #
:: TemplateClass | |
-> (String, String) | High-level, |
existConstructorName :: Class -> String Source #
hsFuncXformer :: Function -> String Source #
genericFuncRet :: Function -> Types Source #
genericFuncArgs :: Function -> Args Source #
constructorName :: Class -> String Source #
classConstraints :: Class -> Context () Source #
functionSignatureT :: TemplateClass -> TemplateFunction -> Type () Source #
functionSignatureTT :: TemplateClass -> TemplateFunction -> Type () Source #