sync/spsc_queue

Source   Edit  

Types

SpscQueue[T] = object
  
Source   Edit  

Procs

proc `=copy`[T](dest: var SpscQueue[T]; source: SpscQueue[T]) {.error.}
Source   Edit  
proc `=destroy`[T](self: var SpscQueue[T])
Source   Edit  
proc cap[T](self: SpscQueue[T]): int
Source   Edit  
proc init[T](self: out SpscQueue[T]; capacity: Natural)
Source   Edit  
proc len[T](self: SpscQueue[T]): int
Source   Edit  
proc newSpscQueue[T](cap: int): SpscQueue[T]
Source   Edit  
proc tryPop[T](self: var SpscQueue[T]; value: var T): bool
Source   Edit  
proc tryPush[T](self: var SpscQueue[T]; value: var Isolated[T]): bool {.
    nodestroy.}
Source   Edit  

Templates

template tryPush[T](self: SpscQueue[T]; value: T): bool
Warning: Using this template in a loop causes multiple evaluations of value.
Source   Edit