| Copyright | (c) 2011-2018 Ian-Woo Kim |
|---|---|
| License | BSD3 |
| Maintainer | Ian-Woo Kim <ianwookim@gmail.com> |
| Stability | experimental |
| Portability | GHC |
| Safe Haskell | None |
| Language | Haskell98 |
FFICXX.Generate.ContentMaker
Description
Synopsis
- srcDir :: FilePath -> FilePath
- csrcDir :: FilePath -> FilePath
- mkGlobal :: [Class] -> ClassGlobal
- buildDaughterDef :: ((String, [Class]) -> String) -> DaughterMap -> String
- buildParentDef :: ((Class, Class) -> String) -> Class -> String
- mkProtectedFunctionList :: Class -> String
- buildTypeDeclHeader :: TypeMacro -> [Class] -> String
- declarationTemplate :: Text
- buildDeclHeader :: TypeMacro -> String -> ClassImportHeader -> String
- definitionTemplate :: Text
- buildDefMain :: ClassImportHeader -> String
- buildTopLevelHeader :: TypeMacro -> String -> TopLevelImportHeader -> String
- buildTopLevelCppDef :: TopLevelImportHeader -> String
- buildTemplateHeader :: TypeMacro -> TemplateClass -> String
- buildFFIHsc :: ClassModule -> Module ()
- buildRawTypeHs :: ClassModule -> Module ()
- buildInterfaceHs :: AnnotateMap -> ClassModule -> Module ()
- buildCastHs :: ClassModule -> Module ()
- buildImplementationHs :: AnnotateMap -> ClassModule -> Module ()
- buildTemplateHs :: TemplateClassModule -> Module ()
- buildTHHs :: TemplateClassModule -> Module ()
- buildInterfaceHSBOOT :: String -> Module ()
- buildModuleHs :: ClassModule -> Module ()
- buildTopLevelHs :: String -> ([ClassModule], [TemplateClassModule]) -> TopLevelImportHeader -> Module ()
- buildPackageInterface :: PackageInterface -> PackageName -> [ClassImportHeader] -> PackageInterface
Documentation
mkGlobal :: [Class] -> ClassGlobal Source #
buildDaughterDef :: ((String, [Class]) -> String) -> DaughterMap -> String Source #
Arguments
| :: TypeMacro | typemacro prefix |
| -> String | C prefix |
| -> ClassImportHeader | |
| -> String |
Arguments
| :: TypeMacro | typemacro prefix |
| -> String | C prefix |
| -> TopLevelImportHeader | |
| -> String |
buildFFIHsc :: ClassModule -> Module () Source #
buildRawTypeHs :: ClassModule -> Module () Source #
buildInterfaceHs :: AnnotateMap -> ClassModule -> Module () Source #
buildCastHs :: ClassModule -> Module () Source #
buildImplementationHs :: AnnotateMap -> ClassModule -> Module () Source #
buildTemplateHs :: TemplateClassModule -> Module () Source #
buildTHHs :: TemplateClassModule -> Module () Source #
buildInterfaceHSBOOT :: String -> Module () Source #
buildModuleHs :: ClassModule -> Module () Source #
buildTopLevelHs :: String -> ([ClassModule], [TemplateClassModule]) -> TopLevelImportHeader -> Module () Source #