Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data CTypes
- = CTBool
- | CTChar
- | CTClock
- | CTDouble
- | CTFile
- | CTFloat
- | CTFpos
- | CTInt
- | CTIntMax
- | CTIntPtr
- | CTJmpBuf
- | CTLLong
- | CTLong
- | CTPtrdiff
- | CTSChar
- | CTSUSeconds
- | CTShort
- | CTSigAtomic
- | CTSize
- | CTTime
- | CTUChar
- | CTUInt
- | CTUIntMax
- | CTUIntPtr
- | CTULLong
- | CTULong
- | CTUSeconds
- | CTUShort
- | CTWchar
- | CTInt8
- | CTInt16
- | CTInt32
- | CTInt64
- | CTUInt8
- | CTUInt16
- | CTUInt32
- | CTUInt64
- | CTVoidStar
- | CTString
- | CEnum CTypes String
- | CPointer CTypes
- | CRef CTypes
- data CPPTypes
- data IsConst
- data TemplateArgType
- data TemplateAppInfo = TemplateAppInfo {}
- data Types
- data Arg = Arg {}
- data Function
- = Constructor {
- func_args :: [Arg]
- func_alias :: Maybe String
- | Virtual { }
- | NonVirtual { }
- | Static { }
- | Destructor { }
- = Constructor {
- newtype Variable = Variable {
- unVariable :: Arg
- data TemplateMemberFunction = TemplateMemberFunction {}
- data TopLevel
- filterTLOrdinary :: [TopLevel] -> [TLOrdinary]
- filterTLTemplate :: [TopLevel] -> [TLTemplate]
- data TLOrdinary
- data TLTemplate = TopLevelTemplateFunction {}
- 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]
- newtype ProtectedMethod = Protected {
- unProtected :: [String]
- data ClassAlias = ClassAlias {}
- data Class
- = Class { }
- | AbstractClass { }
- data OpExp
- data TemplateFunction
- = TFun { }
- | TFunNew {
- tfun_new_args :: [Arg]
- tfun_new_alias :: Maybe String
- | TFunDelete
- | TFunOp { }
- argsFromOpExp :: OpExp -> [Arg]
- opSymbol :: OpExp -> String
- data Form
- data TemplateClass = TmplCls {
- tclass_cabal :: Cabal
- tclass_name :: String
- tclass_cxxform :: Form
- tclass_params :: [String]
- tclass_funcs :: [TemplateFunction]
- tclass_vars :: [Variable]
- data ClassGlobal = ClassGlobal {}
- data Selfness
- isAbstractClass :: Class -> Bool
- hasProxy :: Class -> Bool
- type DaughterMap = Map String [Class]
- data Accessor
Documentation
C types
C++ types
const flag
data TemplateArgType Source #
Argument type which can be used as an template argument like float in vectorfloat. For now, this distinguishes Class and non-Class.
Instances
Show TemplateArgType Source # | |
Defined in FFICXX.Generate.Type.Class showsPrec :: Int -> TemplateArgType -> ShowS # show :: TemplateArgType -> String # showList :: [TemplateArgType] -> ShowS # |
data TemplateAppInfo Source #
Instances
Show TemplateAppInfo Source # | |
Defined in FFICXX.Generate.Type.Class showsPrec :: Int -> TemplateAppInfo -> ShowS # show :: TemplateAppInfo -> String # showList :: [TemplateAppInfo] -> ShowS # |
Supported C++ types.
Void | |
SelfType | |
CT CTypes IsConst | |
CPT CPPTypes IsConst | |
TemplateApp TemplateAppInfo | like vectorfloat* |
TemplateAppRef TemplateAppInfo | like vectorfloat& |
TemplateAppMove TemplateAppInfo | like unique_ptrfloat (using std::move) |
TemplateType TemplateClass | template self? TODO: clarify this. |
TemplateParam String | |
TemplateParamPointer String | this is A* with templateA |
Function argument, type and variable name.
Regular member functions in a ordinary class
Member variable. Isomorphic to Arg
data TemplateMemberFunction Source #
Member functions of a template class.
Instances
Show TemplateMemberFunction Source # | |
Defined in FFICXX.Generate.Type.Class showsPrec :: Int -> TemplateMemberFunction -> ShowS # show :: TemplateMemberFunction -> String # showList :: [TemplateMemberFunction] -> ShowS # |
Function defined at top level like ordinary C functions, i.e. no owning class.
filterTLOrdinary :: [TopLevel] -> [TLOrdinary] Source #
filterTLTemplate :: [TopLevel] -> [TLTemplate] Source #
data TLOrdinary Source #
Instances
Show TLOrdinary Source # | |
Defined in FFICXX.Generate.Type.Class showsPrec :: Int -> TLOrdinary -> ShowS # show :: TLOrdinary -> String # showList :: [TLOrdinary] -> ShowS # |
data TLTemplate Source #
Instances
Show TLTemplate Source # | |
Defined in FFICXX.Generate.Type.Class showsPrec :: Int -> TLTemplate -> ShowS # show :: TLTemplate -> String # showList :: [TLTemplate] -> ShowS # |
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 #
newtype ProtectedMethod Source #
Protected | |
|
Instances
Monoid ProtectedMethod Source # | |
Defined in FFICXX.Generate.Type.Class mappend :: ProtectedMethod -> ProtectedMethod -> ProtectedMethod # mconcat :: [ProtectedMethod] -> ProtectedMethod # | |
Semigroup ProtectedMethod Source # | |
Defined in FFICXX.Generate.Type.Class (<>) :: ProtectedMethod -> ProtectedMethod -> ProtectedMethod # sconcat :: NonEmpty ProtectedMethod -> ProtectedMethod # stimes :: Integral b => b -> ProtectedMethod -> ProtectedMethod # |
data ClassAlias Source #
Class | |
| |
AbstractClass | |
|
data TemplateFunction Source #
argsFromOpExp :: OpExp -> [Arg] Source #
Positional string interpolation form. For example, "std::mapK,V::iterator" is FormNested "std::map" "iterator"].
data TemplateClass Source #
TmplCls | |
|
Instances
Show TemplateClass Source # | |
Defined in FFICXX.Generate.Type.Class showsPrec :: Int -> TemplateClass -> ShowS # show :: TemplateClass -> String # showList :: [TemplateClass] -> ShowS # | |
Eq TemplateClass Source # | |
Defined in FFICXX.Generate.Type.Class (==) :: TemplateClass -> TemplateClass -> Bool # (/=) :: TemplateClass -> TemplateClass -> Bool # | |
Ord TemplateClass Source # | |
Defined in FFICXX.Generate.Type.Class compare :: TemplateClass -> TemplateClass -> Ordering # (<) :: TemplateClass -> TemplateClass -> Bool # (<=) :: TemplateClass -> TemplateClass -> Bool # (>) :: TemplateClass -> TemplateClass -> Bool # (>=) :: TemplateClass -> TemplateClass -> Bool # max :: TemplateClass -> TemplateClass -> TemplateClass # min :: TemplateClass -> TemplateClass -> TemplateClass # |
isAbstractClass :: Class -> Bool Source #
Check abstract class