ammer.def.*
types
The types in the ammer.def
package are all "marker" types: the types themselves have no meaning and should not be used directly, but they are used as super types for ammer
definitions. Any Haxe class that extends one of the types below will be processed by ammer
.
About the parent:Lib
type parameter
The types listed below are written with parent:Lib
as a type parameter. This indicates that the type parameter should be filled in with the type name of a type that itself extends ammer.def.Library
. This indicates that the given type is the "parent" of the one being declared. See linking subdefinitions.
ammer.def.Library<id:String>
Library definition. See library definition for examples.
Type parameters
id:String
— The identifier used for this library. This identifier is used in the library configuration, so it must only consist of letters and underscores. It must be unique.
Allowed fields
Applicable metadata
@:ammer.lib.define
@:ammer.lib.framework
@:ammer.lib.frameworks
@:ammer.lib.includePath
@:ammer.lib.includePaths
@:ammer.lib.language
@:ammer.lib.libraryPath
@:ammer.lib.libraryPaths
@:ammer.lib.linkName
@:ammer.lib.linkNames
@:ammer.lib.headers.include
@:ammer.lib.headers.import
@:ammer.lib.headers.includeLocal
@:ammer.lib.headers.importLocal
@:ammer.lib.headers.includeGlobal
@:ammer.lib.headers.importGlobal
@:ammer.nativePrefix
@:ammer.sub
ammer.def.Opaque<type:String, parent:Lib>
Opaque type definition. See opaque type definition for examples.
Type parameters
type:String
— The C name of this opaque type. This can be any valid C type declaration, which may contain spaces or asterisks.parent:Lib
— parent library.
Allowed fields
Applicable metadata
ammer.def.Struct<type:String, parent:Lib>
Struct definition. See struct definition for examples.
Type parameters
type:String
— The C name of this struct. This can be any valid C type declaration, which may contain spaces or asterisks. Note that although the type that extendsammer.def.Struct
represents a pointer to the struct, the final asterisk should not be written in this type parameter.parent:Lib
— parent library.
Allowed fields
Applicable metadata
@:ammer.alloc
@:ammer.nativePrefix
@:ammer.sub
@:ammer.gen.alloc
@:ammer.gen.free
@:ammer.gen.nullPtr
ammer.def.Sublibrary<parent:Lib>
Sublibrary definition. See sublibrary definition for examples.
Type parameters
parent:Lib
— parent library.