Initializer
init(name:visibility:parameters:guard:post:body:isMain:overrides:documentation:)
Creates a new MTL template.
init(name: String, visibility: MTLVisibility = .public, parameters: [MTLVariable] = [], guard: MTLExpression? = nil, post: MTLExpression? = nil, body: MTLBlock, isMain: Bool = false, overrides: String? = nil, documentation: String? = nil)
Parameters
name-
The template name for invocation
visibility-
The visibility level (default: .public)
parameters-
The parameter list (default: empty)
guard-
Optional guard condition (default: nil)
post-
Optional post-condition (default: nil)
body-
The template body
isMain-
Whether this is a main template (default: false)
overrides-
Optional parent template name (default: nil)
documentation-
Optional documentation (default: nil)