Documentation
¶
Overview ¶
Package pqueue provides concurrency-safe priority queue implementations.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ConcurrencySafetyError = errors.New("concurrency-safety error: one or more queues share the same underlying" +
"ID. ensure that all queues are being created via their designated constructors")
)
Functions ¶
This section is empty.
Types ¶
type Binary ¶ added in v1.1.0
Binary is a concurrency-safe, min-priority queue built on a binary heap.
type CircularBuffer ¶ added in v1.2.0
type CircularBuffer[T any] struct { // contains filtered or unexported fields }
func NewCircularBuffer ¶ added in v1.2.0
func NewCircularBuffer[T any]() *CircularBuffer[T]
func (*CircularBuffer[T]) Clear ¶ added in v1.2.2
func (cb *CircularBuffer[T]) Clear()
func (*CircularBuffer[T]) Meld ¶ added in v1.2.0
func (cb *CircularBuffer[T]) Meld(other *CircularBuffer[T])
func (*CircularBuffer[T]) Peek ¶ added in v1.2.0
func (cb *CircularBuffer[T]) Peek() T
func (*CircularBuffer[T]) Pop ¶ added in v1.2.0
func (cb *CircularBuffer[T]) Pop() (v T, ok bool)
func (*CircularBuffer[T]) Push ¶ added in v1.2.0
func (cb *CircularBuffer[T]) Push(v T)
func (*CircularBuffer[T]) Size ¶ added in v1.2.2
func (cb *CircularBuffer[T]) Size() int
type CrossMeldable ¶ added in v1.2.0
type CrossMeldable interface {
CrossMeld(other CrossMeldable)
}
type Pairing ¶
Pairing is a concurrency-safe, min-priority queue built on a pairing heap.
type Skew ¶
Skew is a concurrency-safe, min-priority queue built on a skew heap.
type SkewBinomial ¶ added in v1.1.0
SkewBinomial is a concurrency-safe, min-priority queue built on a skew binomial heap.
func NewSkewBinomial ¶ added in v1.1.0
func NewSkewBinomial[K cmp.Ordered, V any]() *SkewBinomial[K, V]
func (*SkewBinomial[K, V]) Clear ¶ added in v1.1.0
func (sb *SkewBinomial[K, V]) Clear()
func (*SkewBinomial[K, V]) Meld ¶ added in v1.1.0
func (sb *SkewBinomial[K, V]) Meld(other *SkewBinomial[K, V])
func (*SkewBinomial[K, V]) Peek ¶ added in v1.1.0
func (sb *SkewBinomial[K, V]) Peek() V
func (*SkewBinomial[K, V]) Pop ¶ added in v1.1.0
func (sb *SkewBinomial[K, V]) Pop() (v V, ok bool)
func (*SkewBinomial[K, V]) Push ¶ added in v1.1.0
func (sb *SkewBinomial[K, V]) Push(v V, priority K)
func (*SkewBinomial[K, V]) Size ¶ added in v1.1.0
func (sb *SkewBinomial[K, V]) Size() int
Source Files
¶
Click to show internal directories.
Click to hide internal directories.
