Types
Condensate[T; Base] = object
- Source Edit
CondensateFieldKind = enum CondensateTag, CondensateValue
- Source Edit
Procs
proc `=copy`[T, Base](dest: var Condensate[T, Base]; src: Condensate[T, Base]) {. nodestroy.}
- Source Edit
proc `=destroy`[T, Base](x: Condensate[T, Base]) {.nodestroy, ...raises: [], raises: [].}
- Source Edit
proc `=dup`[T, Base](x: Condensate[T, Base]): Condensate[T, Base] {.nodestroy.}
- Source Edit
proc `=sink`[T, Base](dest: var Condensate[T, Base]; src: Condensate[T, Base]) {. nodestroy.}
- Source Edit
proc `=trace`[T, Base](x: var Condensate[T, Base]; env: pointer) {.nodestroy.}
- Source Edit
proc `=wasMoved`[T, Base](x: var Condensate[T, Base])
- Source Edit
proc condensate[T; Base, Tag](x: T; _: typedesc[Tagged[Base, Tag]]): Condensate[ T, Tagged[Base, Tag]] {.inline, nodestroy.}
- Source Edit
proc decondense[T; Base, Tag](x: Condensate[T, Tagged[Base, Tag]]): T {.inline, nodestroy.}
- Source Edit
Templates
template condensateInline[T; Base, Tag](_: typedesc[T]; tag: Tag; base: Base): Condensate[ T, Tagged[Base, Tag]]
- Source Edit
template rawCondensate[T; Base, Tag](t: typedesc[ Condensate[T, Tagged[Base, Tag]]]; tag: Tag; base: Base): t:type
- Source Edit
template rawDecondense[T; Base, Tag; V](val: Condensate[T, Tagged[Base, Tag]]; _: typedesc[V]): V
- Source Edit
template rawTag[T; Base, Tag](val: Condensate[T, Tagged[Base, Tag]]): Tag
- Source Edit