src/necsus/compiletime/directiveSet

Types

DirectiveSet[T] = ref object
All possible directives

Procs

proc `$`[T](directives: DirectiveSet[T]): string
Returns the name of this query set
proc containing(queries: DirectiveSet[TupleDirective];
                components: openArray[ComponentDef]): seq[TupleDirective] {.
    ...raises: [], tags: [], forbids: [].}
Yields all queries that reference the given components
proc directives[T](directives: DirectiveSet[T]): seq[T]
Produce all directives
proc mentioning(queries: DirectiveSet[TupleDirective];
                components: openArray[ComponentDef]): seq[TupleDirective] {.
    ...raises: [], tags: [], forbids: [].}
Yields all queries that mention the given component
proc nameOf[T](directives: DirectiveSet[T]; value: T): string
Returns the name of a directive
proc newDirectiveSet[T](prefix: string; values: openArray[T]): DirectiveSet[T]
Create a set of all directives in a set of systems
proc symbol[T](directives: DirectiveSet[T]): string
Returns the name of this query set

Iterators

iterator pairs[T](directives: DirectiveSet[T]): tuple[name: string, value: T]
Produce all directives and their property names