Safe Haskell | None |
---|---|
Language | Haskell2010 |
Interface for defining bindings to C++ variables.
Synopsis
- data Variable
- makeVariable :: Identifier -> Maybe ExtName -> Type -> Variable
- varExtName :: Variable -> ExtName
- varIdentifier :: Variable -> Identifier
- varType :: Variable -> Type
- varReqs :: Variable -> Reqs
- varAddendum :: Variable -> Addendum
- varIsConst :: Variable -> Bool
- varGetterExtName :: Variable -> ExtName
- varSetterExtName :: Variable -> ExtName
Data type
A C++ variable.
Use this data type's HasReqs
instance to make the variable accessible.
Instances
Eq Variable Source # | |
Show Variable Source # | |
HasAddendum Variable Source # | |
Defined in Foreign.Hoppy.Generator.Spec.Variable | |
Exportable Variable Source # | |
Defined in Foreign.Hoppy.Generator.Spec.Variable toExport :: Variable -> Export Source # castExport :: (Typeable Variable, Exportable b, Typeable b) => Variable -> Maybe b Source # sayExportCpp :: SayExportMode -> Variable -> Generator () Source # sayExportHaskell :: SayExportMode -> Variable -> Generator () Source # | |
HasExtNames Variable Source # | |
Defined in Foreign.Hoppy.Generator.Spec.Variable getPrimaryExtName :: Variable -> ExtName Source # getNestedExtNames :: Variable -> [ExtName] Source # | |
HasReqs Variable Source # | |
Construction
makeVariable :: Identifier -> Maybe ExtName -> Type -> Variable Source #
Creates a binding for a C++ variable.
Properties
varExtName :: Variable -> ExtName Source #
The variable's external name.
varIdentifier :: Variable -> Identifier Source #
The identifier used to refer to the variable.
varType :: Variable -> Type Source #
The variable's type. This may be
constT
to indicate that the variable is
read-only.
varAddendum :: Variable -> Addendum Source #
The variable's addendum.
varIsConst :: Variable -> Bool Source #
Returns whether the variable is constant, i.e. whether its type is
.constT
...
varGetterExtName :: Variable -> ExtName Source #
Returns the external name of the getter function for the variable.
varSetterExtName :: Variable -> ExtName Source #
Returns the external name of the setter function for the variable.