kU      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K LMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(c) 2011-2013 Ian-Woo KimBSD3!Ian-Woo Kim <ianwookim@gmail.com> experimentalGHCNone(c) 2011-2013 Ian-Woo KimBSD3!Ian-Woo Kim <ianwookim@gmail.com> experimentalGHC Safe-Inferred Safe-Inferred      Safe-Inferred  (c) 2011-2013 Ian-Woo KimBSD3!Ian-Woo Kim <ianwookim@gmail.com> experimentalGHCNone    (c) 2011-2013 Ian-Woo KimBSD3!Ian-Woo Kim <ianwookim@gmail.com> experimentalGHCNoneB  !"#$%&'(  !"#$%&'( '(%&#$" ! !"#$%&'((c) 2011-2013 Ian-Woo KimBSD3!Ian-Woo Kim <ianwookim@gmail.com> experimentalGHCNoneBs const flagv C++ types yC typesCheck abstract class!Daughter map not including itself+Daughter Map including itself as a daughterthis is for FFI type.this is for FFI)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ High-level, Raw-level)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~y~}|{zvxwsutnrqpomcjgfedklhiklhiklhikllY^Z_`ab[\]TUVWXQRSLMNOPCEDFGHIJKFGHIJK@AB789:;<=>?./0123456*+,-)o)*+,-./0123456789:;<=>?@ABCEDFGHIJKFGHIJKLMNOPQRSTUVWXY ^Z_`ab[\]cjgfedklhiklhiklhikllmnrqposutvxwy ~}|{z(c) 2011-2013 Ian-Woo KimBSD3!Ian-Woo Kim <ianwookim@gmail.com> experimentalGHCNone(c) 2011-2013 Ian-Woo KimBSD3!Ian-Woo Kim <ianwookim@gmail.com> experimentalGHCNone!this template will be deprecated this template will be used. (c) 2011-2013 Ian-Woo KimBSD3!Ian-Woo Kim <ianwookim@gmail.com> experimentalGHC Safe-Inferred (c) 2011-2013 Ian-Woo KimBSD3!Ian-Woo Kim <ianwookim@gmail.com> experimentalGHCNone#%constructor and non-virtual function $staic function export list :only concrete class only concrete class       !"#$%&'()*+,-.:      !"#$%&'()*+,-.:      !"#$%&'()*+,-.:      !"#$%&'()*+,-. (c) 2011-2013 Ian-Woo KimBSD3!Ian-Woo Kim <ianwookim@gmail.com> experimentalGHC Safe-Inferred/0123/0123/0123/0123 (c) 2011-2013 Ian-Woo KimBSD3!Ian-Woo Kim <ianwookim@gmail.com> experimentalGHCNone4&class dependency for a given function 456789:;<$(mk namespace and include headers) =>?@ABCDEFG(package name,mkIncludeHeaders)H456789:;<=>?@ABCDEFGH89:;<=4567>?@ABCDEFGH456789:;<=>?@ABCDEFGH (c) 2011-2013 Ian-Woo KimBSD3!Ian-Woo Kim <ianwookim@gmail.com> experimentalGHCNoneJ+generate exposed module list in cabal file K%generate other modules in cabal file IJKIJKIJKIJK(c) 2011-2013 Ian-Woo KimBSD3!Ian-Woo Kim <ianwookim@gmail.com> experimentalGHCNoneLMNOPQRSTUVWXYZ[\]^ package name _`abLMNOPQRSTUVWXYZ[\]^_`abLMNOPQRSTUVWXYZ[\]^_`abLMNOPQRSTUVWXYZ[\]^_`ab(c) 2011-2013 Ian-Woo KimBSD3!Ian-Woo Kim <ianwookim@gmail.com> experimentalGHCNone-cdefghijklmnopqrstuvwxyz{|}~ typemacro typemacro prefix  C prefix typemacro prefix  C prefix  C prefix  template -cdefghijklmnopqrstuvwxyz{|}~-cdefghijklmnopqrstuvwxyz{|}~-cdefghijklmnopqrstuvwxyz{|}~(c) 2011-2013 Ian-Woo KimBSD3ianwookim@gmail.com experimentalGHCNone type macro cprefix  c prefix  c prefix  c prefix summary module (c) 2011-2013 Ian-Woo KimBSD3!Ian-Woo Kim <ianwookim@gmail.com> experimentalGHCNoneM !"#$%&'()*+,-./0123456789:;<<=>??@ABCDEFGGHIJKLMNOPQRSRTUVWXYZZ[\]^_`aabcdefghiejklmnopqrstuvwxyz{|}~                                       ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : : ; < = > > ? @ A B C D E F G H I J K L M N O P Q R S TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ fficxx-0.2FFICXX.Generate.QQ.VerbatimFFICXX.Generate.Type.ModuleFFICXX.Paths_fficxxFFICXX.Generate.Util%FFICXX.Generate.Type.PackageInterfaceFFICXX.Generate.Type.ClassFFICXX.Generate.Code.MethodDefFFICXX.Generate.Code.HsFFIFFICXX.Generate.Type.AnnotateFFICXX.Generate.Code.HsFrontEndFFICXX.Generate.ConfigFFICXX.Generate.Code.DependencyFFICXX.Generate.Code.CabalFFICXX.Generate.Code.Cpp&FFICXX.Generate.Generator.ContentMaker FFICXX.Generate.Generator.DriverFFICXX.Generate.Builder Paths_fficxxverbatimModule module_namemodule_exportsmkModuleExportsversion getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName moduleDirFilehlinetoUpperstoLowers firstLowerconn connspace conncomma connBSlashconnSemicolonBSlashconnRetconnRet2 connArrowintercalateWithintercalateWithMrenderrenderTemplateGroupsetManyAttribSafer TypeMacroTypMcro unTypMcroPackageInterface HeaderNameHdrName ClassNameClsName PackageNamePkgName DaughterMap ClassGlobalcgDaughterSelfMap cgDaughterMap ClassModulecmModulecmClasscmCIHcmImportedModulesHighNonSourcecmImportedModulesRawcmImportedModulesHighSourcecmImportedModulesForFFIClassImportHeadercihClass cihSelfHeader cihNamespace cihSelfCppcihIncludedHPkgHeadersInHcihIncludedHPkgHeadersInCPPcihIncludedCPkgHeaders NamespaceNS unNamespaceClass AbstractClass class_cabal class_name class_parentsclass_protected class_alias class_funcsCabal cabal_pkgnamecabal_cheaderprefixcabal_moduleprefixProtectedMethod Protected unProtectedTopLevelImportHeadertihHeaderFileName tihClassDeptihFuncsTopLevelFunctionTopLevelVariabletoplevelvar_rettoplevelvar_nametoplevelvar_aliastoplevelfunc_rettoplevelfunc_nametoplevelfunc_argstoplevelfunc_aliasFunction DestructorStatic NonVirtualVirtualfunc_ret func_name Constructor func_args func_aliasArgsTypesCPTCTSelfTypeVoidIsConstNoConstConstCPPTypes CPTClassRefCPTClassCTypesCPointerCTCharStarStar CTIntStar CTVoidStar CTDoubleStarCTBoolCTDoubleCTULongCTLongCTUIntCTIntCTCharCTString cvarToStr ctypToStrself_cstring_cint_int_uint_ulong_long_culong_clong_cchar_char_short_cdouble_double_doublep_float_bool_void_voidp_intp_charpp_star_cstar_selfvoidpcstringcintintuintlongulongclongculongccharcharshortcdoubledoubledoublepfloatboolintpcharppstarcstar cppclass_cppclass cppclassconst cppclassref_ cppclassref hsCTypeName hsCppTypeNamehsFrontNameForTopLevelFunction isNewFunc isDeleteFunc isVirtualFunc isStaticFunc virtualFuncsconstructorFuncsnonVirtualNotNewFuncs staticFuncs argToString argsToStringargsToStringNoSelfargToCallStringargsToCallStringrettypeToStringisAbstractClassclass_allparentsgetClassModuleBase mkDaughterMapmkDaughterSelfMap ctypToHsTyp typeclassNametypeclassNameFromStr hsClassNameexistConstructorName hsFuncTyphsFuncTypNoSelf hscFuncName hsFuncName hsFuncXformergenericFuncRetgenericFuncArgsaliasedFuncName cppStaticName cppFuncNameconstructorNamenonvirtualNamedestructorName $fOrdClass $fEqClass $fShowClass funcToDecl funcsToDecls funcToDef funcsToDefsgenHsFFI genAllHsFFIffistub ffiTemplatehsFFIClassFuncgenTopLevelFuncFFI AnnotateMapPkgType PkgMethodPkgClass PkgModule mkComment mkPostCommenthsModuleDeclTmpl genModuleDecl classprefixhsClassDeclHeaderTmplgenHsFrontDeclgenAllHsFrontDeclgenHsFrontInsthsClassInstExistCommonTmplgenHsFrontInstExistCommongenAllHsFrontInstExistCommonhsClassInstExistVirtualTmpl'hsClassInstExistVirtualMethodNoSelfTmpl%hsClassInstExistVirtualMethodSelfTmplgenHsFrontInstExistVirtual genHsFrontInstExistVirtualMethodgenAllHsFrontInstExistVirtualgenHsFrontInstNewgenAllHsFrontInstNewgenHsFrontInstNonVirtualgenAllHsFrontInstNonVirtualgenHsFrontInstStaticgenHsFrontInstCastablegenAllHsFrontInstCastablegenHsFrontInstCastableSelf rawToHighDeclrawToHighInstanceexistableInstancehsClassRawTypehsClassExistTypehsClassDeclFuncTmplhsArgsmkHsFuncArgTypemkHsFuncRetTypehsInterfaceCastableInstanceTmpl#hsInterfaceCastableInstanceSelfTmplhsExistentialGADTBodyTmplhsExistentialCastBodyTmplgenHsFrontUpcastClassgenAllHsFrontUpcastClasshsUpcastClassTmplgenHsFrontDowncastClassgenAllHsFrontDowncastClasshsDowncastClassTmpl genExport!genExportConstructorAndNonvirtualgenExportStatic genExportListimportOneClassimportSOURCEOneClassgenImportInModulegenImportInFFIgenImportInInterfacegenImportInCastgenImportInImplementationgenImportInExistentialgenTopLevelFuncDef FFICXXConfigfficxxconfig_scriptBaseDirfficxxconfig_workingDirfficxxconfig_installBaseDirDep4FuncreturnDependencyargumentDependencymkPkgHeaderFileNamemkPkgCppFileNamemkPkgIncludeHeadersInHmkPkgIncludeHeadersInCPPmkCIHextractClassFromTypeextractClassDep"extractClassDepForTopLevelFunctionmkModuleDepRawmkModuleDepHighNonSourcemkModuleDepHighSourcemkModuleDepCppmkModuleDepFFI4OnemkModuleDepFFI mkClassModulemkAll_ClassModules_CIH_TIHmkHSBOOTCandidateListcabalIndentationgenExposedModulesgenOtherModulesgenCppHeaderTmplTypegenAllCppHeaderTmplTypegenCppHeaderTmplVirtualgenAllCppHeaderTmplVirtualgenCppHeaderTmplNonVirtualgenAllCppHeaderTmplNonVirtualgenCppHeaderInstVirtualgenCppHeaderInstNonVirtualgenAllCppHeaderInstNonVirtualgenCppDefTmplVirtualgenAllCppDefTmplVirtualgenCppDefTmplNonVirtualgenAllCppDefTmplNonVirtualgenCppDefInstVirtualgenCppDefInstNonVirtualgenAllCppDefInstNonVirtualgenAllCppHeaderIncludegenModuleIncludeHeadergenIncludeFiles genCsrcFiles genCppFilesgenTopLevelFuncCppHeadergenTopLevelFuncCppDefinitionsrcDircsrcDirpkgModuleTemplatemoduleTemplatehsbootTemplatedeclarationTemplatetypeDeclHeaderFileNamedeclbodyTemplatefuncdeclTemplatedefinitionTemplateclassDefTemplatefunctionTemplatefuncbodyTemplateheaderFileName cppFileName hscFileName hsFileNametypeHsFileNameexistHsFileNamerawtypeHsFileNameffiHscFileNameinterfaceHsFileNamecastHsFileNameimplementationHsFileNameexistentialHsFileNamemkGlobal mkDaughterDef mkParentDefmkProtectedFunctionListmkTypeDeclHeader mkDeclHeader mkDefMainmkTopLevelFunctionHeadermkTopLevelFunctionCppDefmkFFIHsc mkRawTypeHs mkInterfaceHsmkCastHsmkImplementationHsmkExistentialEachmkExistentialHsmkInterfaceHSBOOT mkModuleHsmkPkgHsmkPackageInterfacewriteTypeDeclHeaderswriteDeclHeaderswriteTopLevelFunctionHeaders writeCppDefwriteTopLevelFunctionCppDefwriteRawTypeHs writeFFIHscwriteInterfaceHs writeCastHswriteImplementationHswriteExistentialHswriteInterfaceHSBOOT writeModuleHs writePkgHsnotExistThenCreatecopyFileWithMD5Check copyCppFiles copyModule cabalTemplate mkCabalFilemacrofy simpleBuildercatchIObindirlibdirdatadir libexecdir sysconfdir