Documentation ¶
Index ¶
- type Comparable
- type GenericHeap
- type TimePriorityQueue
- func (t *TimePriorityQueue[T]) Dequeue(ctx context.Context) T
- func (t *TimePriorityQueue[T]) Enqueue(at time.Time, priority int, v T)
- func (t *TimePriorityQueue[T]) GetAll() []T
- func (t *TimePriorityQueue[T]) Len() int
- func (t *TimePriorityQueue[T]) Peek() T
- func (t *TimePriorityQueue[T]) Remove(v T)
- func (t *TimePriorityQueue[T]) Reset() []T
- type TimeQueue
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Comparable ¶ added in v1.3.0
type GenericHeap ¶ added in v1.3.0
type GenericHeap[T Comparable[T]] []T
genericHeap is a generic heap implementation that can be used with any type that satisfies the constraints.Ordered interface.
func (GenericHeap[T]) Len ¶ added in v1.3.0
func (h GenericHeap[T]) Len() int
func (GenericHeap[T]) Less ¶ added in v1.3.0
func (h GenericHeap[T]) Less(i, j int) bool
func (GenericHeap[T]) Peek ¶ added in v1.3.0
func (h GenericHeap[T]) Peek() T
func (*GenericHeap[T]) Pop ¶ added in v1.3.0
func (h *GenericHeap[T]) Pop() interface{}
Pop pops an element from the heap. Do not call directly, use heap.Pop
func (*GenericHeap[T]) Push ¶ added in v1.3.0
func (h *GenericHeap[T]) Push(x interface{})
Push pushes an element onto the heap. Do not call directly, use heap.Push
func (GenericHeap[T]) Swap ¶ added in v1.3.0
func (h GenericHeap[T]) Swap(i, j int)
type TimePriorityQueue ¶
type TimePriorityQueue[T equals[T]] struct {
// contains filtered or unexported fields
}
TimePriorityQueue is a priority queue that dequeues elements at (or after) a specified time, and prioritizes elements based on a priority value. It is safe for concurrent use.
func NewTimePriorityQueue ¶
func NewTimePriorityQueue[T equals[T]]() *TimePriorityQueue[T]
func (*TimePriorityQueue[T]) Dequeue ¶
func (t *TimePriorityQueue[T]) Dequeue(ctx context.Context) T
func (*TimePriorityQueue[T]) Enqueue ¶
func (t *TimePriorityQueue[T]) Enqueue(at time.Time, priority int, v T)
func (*TimePriorityQueue[T]) GetAll ¶ added in v0.17.2
func (t *TimePriorityQueue[T]) GetAll() []T
func (*TimePriorityQueue[T]) Len ¶
func (t *TimePriorityQueue[T]) Len() int
func (*TimePriorityQueue[T]) Peek ¶
func (t *TimePriorityQueue[T]) Peek() T
func (*TimePriorityQueue[T]) Remove ¶ added in v0.17.2
func (t *TimePriorityQueue[T]) Remove(v T)
func (*TimePriorityQueue[T]) Reset ¶
func (t *TimePriorityQueue[T]) Reset() []T
type TimeQueue ¶
type TimeQueue[T equals[T]] struct {
// contains filtered or unexported fields
}
TimeQueue is a priority queue that dequeues elements at (or after) a specified time. It is safe for concurrent use.
func NewTimeQueue ¶
func NewTimeQueue[T equals[T]]() *TimeQueue[T]
Click to show internal directories.
Click to hide internal directories.