Documentation ¶
Index ¶
- Variables
- type Byte
- type CollectionVisitor
- type Comparable
- type Complex128
- type Complex64
- type Deque
- func MakeDeque[T any]() *Deque[T]
- func MakeDequeFromData[T any](values ...T) *Deque[T]
- func MakeDequeFromDataRef[T any](values ...*T) *Deque[T]
- func MakeDequeFromDeque[T any](other Deque[T]) *Deque[T]
- func NewDeque[T any]() Deque[T]
- func NewDequeFromData[T any](values ...T) Deque[T]
- func NewDequeFromDataRef[T any](values ...*T) Deque[T]
- func NewDequeFromDeque[T any](other Deque[T]) Deque[T]
- func (d *Deque[T]) Back() T
- func (d *Deque[T]) BackRef() *T
- func (d *Deque[T]) Clear()
- func (d *Deque[T]) Data() []T
- func (d *Deque[T]) Front() T
- func (d *Deque[T]) FrontRef() *T
- func (d *Deque[T]) IsEmpty() bool
- func (d *Deque[T]) PopBack()
- func (d *Deque[T]) PopFront()
- func (d *Deque[T]) PushBack(value T)
- func (d *Deque[T]) PushBackRef(value *T)
- func (d *Deque[T]) PushFront(value T)
- func (d *Deque[T]) PushFrontRef(value *T)
- func (d *Deque[T]) Size() int
- func (d *Deque[T]) String() string
- func (d *Deque[T]) Swap(other *Deque[T])
- type Destructible
- type EqualityComparable
- type Float32
- func (i *Float32) Equal(other Float32) bool
- func (i *Float32) GreaterThan(other Float32) bool
- func (i *Float32) GreaterThanOrEqual(other Float32) bool
- func (i *Float32) LesserThan(other Float32) bool
- func (i *Float32) LesserThanOrEqual(other Float32) bool
- func (i *Float32) NotEqual(other Float32) bool
- type Float64
- func (i *Float64) Equal(other Float64) bool
- func (i *Float64) GreaterThan(other Float64) bool
- func (i *Float64) GreaterThanOrEqual(other Float64) bool
- func (i *Float64) LesserThan(other Float64) bool
- func (i *Float64) LesserThanOrEqual(other Float64) bool
- func (i *Float64) NotEqual(other Float64) bool
- type GeneralCollector
- type Int
- type Int16
- type Int32
- type Int64
- type Int8
- type List
- func MakeList[T any]() *List[T]
- func MakeListFromData[T any](values ...T) *List[T]
- func MakeListFromDataRef[T any](values ...*T) *List[T]
- func MakeListFromList[T any](other List[T]) *List[T]
- func NewList[T any]() List[T]
- func NewListFromData[T any](values ...T) List[T]
- func NewListFromDataRef[T any](values ...*T) List[T]
- func NewListFromList[T any](other List[T]) List[T]
- func (l *List[T]) Back() T
- func (l *List[T]) BackRef() *T
- func (l *List[T]) Clear()
- func (l *List[T]) ContainsRef(value *T) bool
- func (l *List[T]) ContainsValue(value T) bool
- func (l *List[T]) Erase(index int)
- func (l *List[T]) Front() T
- func (l *List[T]) FrontRef() *T
- func (l *List[T]) Insert(index int, value T)
- func (l *List[T]) InsertRef(index int, value *T)
- func (l *List[T]) IsEmpty() bool
- func (l *List[T]) OrderedRefSearch(value *T) (found bool, index int)
- func (l *List[T]) OrderedRefSearchRef(value *T) *T
- func (l *List[T]) OrderedSearch(value T) (found bool, index int)
- func (l *List[T]) OrderedSearchRef(value T) *T
- func (l *List[T]) PopBack()
- func (l *List[T]) PopFront()
- func (l *List[T]) PushBack(value T)
- func (l *List[T]) PushBackRef(value *T)
- func (l *List[T]) PushFront(value T)
- func (l *List[T]) PushFrontRef(value *T)
- func (l *List[T]) RefSearch(value *T) (found bool, index int)
- func (l *List[T]) RefSearchRef(value *T) *T
- func (l *List[T]) Search(value T) (found bool, index int)
- func (l *List[T]) SearchRef(value T) *T
- func (l *List[T]) Size() int
- func (l *List[T]) String() string
- func (l *List[T]) Swap(other *List[T])
- func (l *List[T]) Visit(visitor CollectionVisitor[T])
- func (l *List[T]) VisitReverse(visitor CollectionVisitor[T])
- type NVector
- func (v *NVector[T]) At(index int) T
- func (v *NVector[T]) AtRef(index int) *T
- func (v *NVector[T]) Back() T
- func (v *NVector[T]) BackRef() *T
- func (v *NVector[T]) Clear()
- func (v *NVector[T]) ContainsRef(value *T) bool
- func (v *NVector[T]) ContainsValue(value T) bool
- func (v *NVector[T]) Data() []T
- func (v *NVector[T]) Erase(index int)
- func (v *NVector[T]) Front() T
- func (v *NVector[T]) FrontRef() *T
- func (v *NVector[T]) Insert(index int, value T)
- func (v *NVector[T]) InsertRef(index int, value *T)
- func (v *NVector[T]) IsEmpty() bool
- func (v *NVector[T]) OrderedRefSearch(value *T) (found bool, index int)
- func (v *NVector[T]) OrderedRefSearchRef(value *T) *T
- func (v *NVector[T]) OrderedSearch(value T) (found bool, index int)
- func (v *NVector[T]) OrderedSearchRef(value T) *T
- func (v *NVector[T]) PopBack()
- func (v *NVector[T]) PopFront()
- func (v *NVector[T]) PushBack(value T)
- func (v *NVector[T]) PushBackRef(value *T)
- func (v *NVector[T]) PushFront(value T)
- func (v *NVector[T]) PushFrontRef(value *T)
- func (v *NVector[T]) RefSearch(value *T) (found bool, index int)
- func (v *NVector[T]) RefSearchRef(value *T) (ret *T)
- func (v *NVector[T]) Resize(new_size int)
- func (v *NVector[T]) SafeAt(index int) T
- func (v *NVector[T]) SafeAtRef(index int) *T
- func (v *NVector[T]) Search(value T) (found bool, index int)
- func (v *NVector[T]) SearchRef(value T) (ret *T)
- func (v *NVector[T]) Size() int
- func (v *NVector[T]) String() string
- func (v *NVector[T]) Swap(other *NVector[T])
- func (v *NVector[T]) Visit(visitor CollectionVisitor[T])
- func (v *NVector[T]) VisitReverse(visitor CollectionVisitor[T])
- type NativeComparable
- type NativeEquatable
- type Queue
- func MakeQueue[T any]() *Queue[T]
- func MakeQueueFromData[T any](values ...T) *Queue[T]
- func MakeQueueFromDataRef[T any](values ...*T) *Queue[T]
- func MakeQueueFromQueue[T any](other Queue[T]) *Queue[T]
- func NewQueue[T any]() Queue[T]
- func NewQueueFromData[T any](values ...T) Queue[T]
- func NewQueueFromDataRef[T any](values ...*T) Queue[T]
- func NewQueueFromQueue[T any](other Queue[T]) Queue[T]
- func (q *Queue[T]) Clear()
- func (q *Queue[T]) Data() []T
- func (q *Queue[T]) Front() T
- func (q *Queue[T]) FrontRef() *T
- func (q *Queue[T]) IsEmpty() bool
- func (q *Queue[T]) PopFront()
- func (q *Queue[T]) PushBack(value T)
- func (q *Queue[T]) PushBackRef(value *T)
- func (q *Queue[T]) Size() int
- func (q *Queue[T]) String() string
- func (q *Queue[T]) Swap(other *Queue[T])
- type Rune
- type SortableVector
- func MakeSortableVector[T constraints.Ordered]() *SortableVector[T]
- func MakeSortableVectorFromData[T constraints.Ordered](values ...T) *SortableVector[T]
- func MakeSortableVectorFromDataRef[T constraints.Ordered](values ...*T) *SortableVector[T]
- func MakeSortableVectorFromVector[T constraints.Ordered](other SortableVector[T]) *SortableVector[T]
- func NewSortableVector[T constraints.Ordered]() SortableVector[T]
- func NewSortableVectorFromData[T constraints.Ordered](values ...T) SortableVector[T]
- func NewSortableVectorFromDataRef[T constraints.Ordered](values ...*T) SortableVector[T]
- func NewSortableVectorFromVector[T constraints.Ordered](other SortableVector[T]) SortableVector[T]
- func (v *SortableVector[T]) IsSorted() bool
- func (v *SortableVector[T]) IsSortedFunc(f func(left *T, right *T) bool) bool
- func (v *SortableVector[T]) Sort()
- func (v *SortableVector[T]) SortFunc(f func(left *T, right *T) bool)
- func (v *SortableVector[T]) StableSort()
- func (v *SortableVector[T]) StableSortFunc(f func(left *T, right *T) bool)
- type Stack
- func MakeStack[T any]() *Stack[T]
- func MakeStackFromData[T any](values ...T) *Stack[T]
- func MakeStackFromDataRef[T any](values ...*T) *Stack[T]
- func MakeStackFromStack[T any](other Stack[T]) *Stack[T]
- func NewStack[T any]() Stack[T]
- func NewStackFromData[T any](values ...T) Stack[T]
- func NewStackFromDataRef[T any](values ...*T) Stack[T]
- func NewStackFromStack[T any](other Stack[T]) Stack[T]
- func (s *Stack[T]) Clear()
- func (s *Stack[T]) Data() []T
- func (s *Stack[T]) IsEmpty() bool
- func (s *Stack[T]) Pop()
- func (s *Stack[T]) Push(value T)
- func (s *Stack[T]) PushRef(value *T)
- func (s *Stack[T]) Size() int
- func (s *Stack[T]) String() string
- func (s *Stack[T]) Swap(other *Stack[T])
- func (s *Stack[T]) Top() T
- func (s *Stack[T]) TopRef() *T
- type String
- type Uint
- type Uint16
- type Uint32
- type Uint64
- type Uint8
- type UintPtr
- func (i *UintPtr) Equal(other UintPtr) bool
- func (i *UintPtr) GreaterThan(other UintPtr) bool
- func (i *UintPtr) GreaterThanOrEqual(other UintPtr) bool
- func (i *UintPtr) LesserThan(other UintPtr) bool
- func (i *UintPtr) LesserThanOrEqual(other UintPtr) bool
- func (i *UintPtr) NotEqual(other UintPtr) bool
- type Vector
- func MakeVector[T any]() *Vector[T]
- func MakeVectorFromData[T any](values ...T) *Vector[T]
- func MakeVectorFromDataRef[T any](values ...*T) *Vector[T]
- func MakeVectorFromVector[T any](other Vector[T]) *Vector[T]
- func NewVector[T any]() Vector[T]
- func NewVectorFromData[T any](values ...T) Vector[T]
- func NewVectorFromDataRef[T any](values ...*T) Vector[T]
- func NewVectorFromNVector[T NativeEquatable](other NVector[T]) Vector[T]
- func NewVectorFromVector[T any](other Vector[T]) Vector[T]
- func (v *Vector[T]) At(index int) T
- func (v *Vector[T]) AtRef(index int) *T
- func (v *Vector[T]) Back() T
- func (v *Vector[T]) BackRef() *T
- func (v *Vector[T]) Clear()
- func (v *Vector[T]) ContainsRef(value *T) bool
- func (v *Vector[T]) ContainsValue(value T) bool
- func (v *Vector[T]) Data() []T
- func (v *Vector[T]) Erase(index int)
- func (v *Vector[T]) Front() T
- func (v *Vector[T]) FrontRef() *T
- func (v *Vector[T]) Insert(index int, value T)
- func (v *Vector[T]) InsertRef(index int, value *T)
- func (v *Vector[T]) IsEmpty() bool
- func (v *Vector[T]) OrderedRefSearch(value *T) (found bool, index int)
- func (v *Vector[T]) OrderedRefSearchRef(value *T) *T
- func (v *Vector[T]) OrderedSearch(value T) (found bool, index int)
- func (v *Vector[T]) OrderedSearchRef(value T) *T
- func (v *Vector[T]) PopBack()
- func (v *Vector[T]) PopFront()
- func (v *Vector[T]) PushBack(value T)
- func (v *Vector[T]) PushBackRef(value *T)
- func (v *Vector[T]) PushFront(value T)
- func (v *Vector[T]) PushFrontRef(value *T)
- func (v *Vector[T]) RefSearch(value *T) (found bool, index int)
- func (v *Vector[T]) RefSearchRef(value *T) *T
- func (v *Vector[T]) Resize(new_size int)
- func (v *Vector[T]) SafeAt(index int) T
- func (v *Vector[T]) SafeAtRef(index int) *T
- func (v *Vector[T]) Search(value T) (found bool, index int)
- func (v *Vector[T]) SearchRef(value T) *T
- func (v *Vector[T]) Size() int
- func (v *Vector[T]) String() string
- func (v *Vector[T]) Swap(other *Vector[T])
- func (v *Vector[T]) Visit(visitor CollectionVisitor[T])
- func (v *Vector[T]) VisitReverse(visitor CollectionVisitor[T])
Constants ¶
This section is empty.
Variables ¶
var ChunkMultiplier = 4 // TODO: try to fine-tune this magic number a little bit
ChunkMultiplier influences how large a Vector must be before Searches are performed in parallel.
Functions ¶
This section is empty.
Types ¶
type Byte ¶ added in v0.1.2
type Byte byte
func (*Byte) GreaterThan ¶ added in v0.1.2
func (*Byte) GreaterThanOrEqual ¶ added in v0.1.2
func (*Byte) LesserThan ¶ added in v0.1.2
func (*Byte) LesserThanOrEqual ¶ added in v0.1.2
type CollectionVisitor ¶ added in v0.1.2
CollectionVisitor is a function that will be called on every element of a collection.
type Comparable ¶ added in v0.1.2
type Complex128 ¶ added in v0.1.2
type Complex128 complex128
func (*Complex128) Equal ¶ added in v0.1.2
func (i *Complex128) Equal(other Complex128) bool
func (*Complex128) NotEqual ¶ added in v0.1.2
func (i *Complex128) NotEqual(other Complex128) bool
type Deque ¶
type Deque[T any] struct { // contains filtered or unexported fields }
func MakeDequeFromData ¶
func MakeDequeFromDataRef ¶
func MakeDequeFromDeque ¶
func NewDequeFromData ¶
func NewDequeFromDataRef ¶
func NewDequeFromDeque ¶
func (*Deque[T]) PushBackRef ¶
func (d *Deque[T]) PushBackRef(value *T)
func (*Deque[T]) PushFrontRef ¶
func (d *Deque[T]) PushFrontRef(value *T)
type Destructible ¶
type Destructible interface {
Destruct()
}
Destructible identifies a type that should have some kind of tear-down code executed when they are no longer being used.
type EqualityComparable ¶ added in v0.1.2
type Float32 ¶ added in v0.1.2
type Float32 float32
func (*Float32) GreaterThan ¶ added in v0.1.2
func (*Float32) GreaterThanOrEqual ¶ added in v0.1.2
func (*Float32) LesserThan ¶ added in v0.1.2
func (*Float32) LesserThanOrEqual ¶ added in v0.1.2
type Float64 ¶ added in v0.1.2
type Float64 float64
func (*Float64) GreaterThan ¶ added in v0.1.2
func (*Float64) GreaterThanOrEqual ¶ added in v0.1.2
func (*Float64) LesserThan ¶ added in v0.1.2
func (*Float64) LesserThanOrEqual ¶ added in v0.1.2
type GeneralCollector ¶ added in v0.1.2
type GeneralCollector[T any] interface { Front() T FrontRef() *T Back() T BackRef() *T IsEmpty() bool Size() int Clear() Insert(index int, value T) InsertRef(index int, value *T) Erase(index int) PushBack(value T) PushBackRef(value *T) PushFront(value T) PushFrontRef(value *T) PopBack() PopFront() Visit(visitor CollectionVisitor[T]) VisitReverse(visitor CollectionVisitor[T]) ContainsValue(value T) bool ContainsRef(value *T) bool OrderedSearch(value T) (found bool, index int) OrderedRefSearch(value *T) (found bool, index int) OrderedSearchRef(value T) *T OrderedRefSearchRef(value *T) *T Search(value T) (found bool, index int) RefSearch(value *T) (found bool, index int) SearchRef(value T) *T RefSearchRef(value *T) *T fmt.Stringer }
GeneralCollector identifies a general-purpose collection type.
type Int ¶ added in v0.1.2
type Int int
func (*Int) GreaterThan ¶ added in v0.1.2
func (*Int) GreaterThanOrEqual ¶ added in v0.1.2
func (*Int) LesserThan ¶ added in v0.1.2
func (*Int) LesserThanOrEqual ¶ added in v0.1.2
type Int16 ¶ added in v0.1.2
type Int16 int16
func (*Int16) GreaterThan ¶ added in v0.1.2
func (*Int16) GreaterThanOrEqual ¶ added in v0.1.2
func (*Int16) LesserThan ¶ added in v0.1.2
func (*Int16) LesserThanOrEqual ¶ added in v0.1.2
type Int32 ¶ added in v0.1.2
type Int32 int32
func (*Int32) GreaterThan ¶ added in v0.1.2
func (*Int32) GreaterThanOrEqual ¶ added in v0.1.2
func (*Int32) LesserThan ¶ added in v0.1.2
func (*Int32) LesserThanOrEqual ¶ added in v0.1.2
type Int64 ¶ added in v0.1.2
type Int64 int64
func (*Int64) GreaterThan ¶ added in v0.1.2
func (*Int64) GreaterThanOrEqual ¶ added in v0.1.2
func (*Int64) LesserThan ¶ added in v0.1.2
func (*Int64) LesserThanOrEqual ¶ added in v0.1.2
type Int8 ¶ added in v0.1.2
type Int8 int8
func (*Int8) GreaterThan ¶ added in v0.1.2
func (*Int8) GreaterThanOrEqual ¶ added in v0.1.2
func (*Int8) LesserThan ¶ added in v0.1.2
func (*Int8) LesserThanOrEqual ¶ added in v0.1.2
type List ¶ added in v0.1.2
type List[T any] struct { // contains filtered or unexported fields }
func MakeListFromData ¶ added in v0.1.2
func MakeListFromDataRef ¶ added in v0.1.2
func MakeListFromList ¶ added in v0.1.2
func NewListFromData ¶ added in v0.1.2
func NewListFromDataRef ¶ added in v0.1.2
func NewListFromList ¶ added in v0.1.2
func (*List[T]) ContainsRef ¶ added in v0.1.3
func (*List[T]) ContainsValue ¶ added in v0.1.3
func (*List[T]) OrderedRefSearch ¶ added in v0.1.3
func (*List[T]) OrderedRefSearchRef ¶ added in v0.1.3
func (l *List[T]) OrderedRefSearchRef(value *T) *T
func (*List[T]) OrderedSearch ¶ added in v0.1.3
func (*List[T]) OrderedSearchRef ¶ added in v0.1.3
func (l *List[T]) OrderedSearchRef(value T) *T
func (*List[T]) PushBackRef ¶ added in v0.1.2
func (l *List[T]) PushBackRef(value *T)
func (*List[T]) PushFrontRef ¶ added in v0.1.2
func (l *List[T]) PushFrontRef(value *T)
func (*List[T]) RefSearchRef ¶ added in v0.1.3
func (l *List[T]) RefSearchRef(value *T) *T
func (*List[T]) Visit ¶ added in v0.1.2
func (l *List[T]) Visit(visitor CollectionVisitor[T])
func (*List[T]) VisitReverse ¶ added in v0.1.2
func (l *List[T]) VisitReverse(visitor CollectionVisitor[T])
type NVector ¶ added in v0.1.2
type NVector[T NativeEquatable] struct { // contains filtered or unexported fields }
func NewNVector ¶ added in v0.1.2
func NewNVector[T NativeEquatable]() NVector[T]
func NewNVectorFromData ¶ added in v0.1.2
func NewNVectorFromData[T NativeEquatable](values ...T) NVector[T]
func NewNVectorFromNVector ¶ added in v0.1.2
func NewNVectorFromNVector[T NativeEquatable](other NVector[T]) NVector[T]
func NewNVectorFromVector ¶ added in v0.1.2
func NewNVectorFromVector[T NativeEquatable](other Vector[T]) NVector[T]
func (*NVector[T]) ContainsRef ¶ added in v0.1.2
func (*NVector[T]) ContainsValue ¶ added in v0.1.2
func (*NVector[T]) OrderedRefSearch ¶ added in v0.1.2
func (*NVector[T]) OrderedRefSearchRef ¶ added in v0.1.2
func (v *NVector[T]) OrderedRefSearchRef(value *T) *T
func (*NVector[T]) OrderedSearch ¶ added in v0.1.2
func (*NVector[T]) OrderedSearchRef ¶ added in v0.1.2
func (v *NVector[T]) OrderedSearchRef(value T) *T
func (*NVector[T]) PushBackRef ¶ added in v0.1.2
func (v *NVector[T]) PushBackRef(value *T)
func (*NVector[T]) PushFrontRef ¶ added in v0.1.2
func (v *NVector[T]) PushFrontRef(value *T)
func (*NVector[T]) RefSearchRef ¶ added in v0.1.2
func (v *NVector[T]) RefSearchRef(value *T) (ret *T)
func (*NVector[T]) Visit ¶ added in v0.1.2
func (v *NVector[T]) Visit(visitor CollectionVisitor[T])
func (*NVector[T]) VisitReverse ¶ added in v0.1.2
func (v *NVector[T]) VisitReverse(visitor CollectionVisitor[T])
type NativeComparable ¶ added in v0.1.2
type NativeComparable interface { ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr | ~int | ~int8 | ~int16 | ~int32 | ~int64 | ~float32 | ~float64 | ~string }
NativeComparable identifies the set of types that can have the `<`, `>`, `<=`, and `>=` operators used on them.
type NativeEquatable ¶ added in v0.1.2
type NativeEquatable interface { ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr | ~int | ~int8 | ~int16 | ~int32 | ~int64 | ~float32 | ~float64 | ~complex64 | ~complex128 | ~string | ~bool }
NativeEquatable identifies the set of types that can have the `==` and `!=` operators used on them.
type Queue ¶
type Queue[T any] struct { // contains filtered or unexported fields }
func MakeQueueFromData ¶
func MakeQueueFromDataRef ¶
func MakeQueueFromQueue ¶
func NewQueueFromData ¶
func NewQueueFromDataRef ¶
func NewQueueFromQueue ¶
func (*Queue[T]) PushBackRef ¶
func (q *Queue[T]) PushBackRef(value *T)
type Rune ¶ added in v0.1.2
type Rune rune
func (*Rune) GreaterThan ¶ added in v0.1.2
func (*Rune) GreaterThanOrEqual ¶ added in v0.1.2
func (*Rune) LesserThan ¶ added in v0.1.2
func (*Rune) LesserThanOrEqual ¶ added in v0.1.2
type SortableVector ¶
type SortableVector[T constraints.Ordered] struct { Vector[T] }
func MakeSortableVector ¶
func MakeSortableVector[T constraints.Ordered]() *SortableVector[T]
func MakeSortableVectorFromData ¶
func MakeSortableVectorFromData[T constraints.Ordered](values ...T) *SortableVector[T]
func MakeSortableVectorFromDataRef ¶
func MakeSortableVectorFromDataRef[T constraints.Ordered](values ...*T) *SortableVector[T]
func MakeSortableVectorFromVector ¶
func MakeSortableVectorFromVector[T constraints.Ordered](other SortableVector[T]) *SortableVector[T]
func NewSortableVector ¶
func NewSortableVector[T constraints.Ordered]() SortableVector[T]
func NewSortableVectorFromData ¶
func NewSortableVectorFromData[T constraints.Ordered](values ...T) SortableVector[T]
func NewSortableVectorFromDataRef ¶
func NewSortableVectorFromDataRef[T constraints.Ordered](values ...*T) SortableVector[T]
func NewSortableVectorFromVector ¶
func NewSortableVectorFromVector[T constraints.Ordered](other SortableVector[T]) SortableVector[T]
func (*SortableVector[T]) IsSorted ¶
func (v *SortableVector[T]) IsSorted() bool
func (*SortableVector[T]) IsSortedFunc ¶
func (v *SortableVector[T]) IsSortedFunc(f func(left *T, right *T) bool) bool
func (*SortableVector[T]) Sort ¶
func (v *SortableVector[T]) Sort()
func (*SortableVector[T]) SortFunc ¶
func (v *SortableVector[T]) SortFunc(f func(left *T, right *T) bool)
func (*SortableVector[T]) StableSort ¶
func (v *SortableVector[T]) StableSort()
func (*SortableVector[T]) StableSortFunc ¶
func (v *SortableVector[T]) StableSortFunc(f func(left *T, right *T) bool)
type Stack ¶
type Stack[T any] struct { // contains filtered or unexported fields }
func MakeStackFromData ¶
func MakeStackFromDataRef ¶
func MakeStackFromStack ¶
func NewStackFromData ¶
func NewStackFromDataRef ¶
func NewStackFromStack ¶
type String ¶ added in v0.1.2
type String string
func (*String) GreaterThan ¶ added in v0.1.2
func (*String) GreaterThanOrEqual ¶ added in v0.1.2
func (*String) LesserThan ¶ added in v0.1.2
func (*String) LesserThanOrEqual ¶ added in v0.1.2
type Uint ¶ added in v0.1.2
type Uint uint
func (*Uint) GreaterThan ¶ added in v0.1.2
func (*Uint) GreaterThanOrEqual ¶ added in v0.1.2
func (*Uint) LesserThan ¶ added in v0.1.2
func (*Uint) LesserThanOrEqual ¶ added in v0.1.2
type Uint16 ¶ added in v0.1.2
type Uint16 uint16
func (*Uint16) GreaterThan ¶ added in v0.1.2
func (*Uint16) GreaterThanOrEqual ¶ added in v0.1.2
func (*Uint16) LesserThan ¶ added in v0.1.2
func (*Uint16) LesserThanOrEqual ¶ added in v0.1.2
type Uint32 ¶ added in v0.1.2
type Uint32 uint32
func (*Uint32) GreaterThan ¶ added in v0.1.2
func (*Uint32) GreaterThanOrEqual ¶ added in v0.1.2
func (*Uint32) LesserThan ¶ added in v0.1.2
func (*Uint32) LesserThanOrEqual ¶ added in v0.1.2
type Uint64 ¶ added in v0.1.2
type Uint64 uint64
func (*Uint64) GreaterThan ¶ added in v0.1.2
func (*Uint64) GreaterThanOrEqual ¶ added in v0.1.2
func (*Uint64) LesserThan ¶ added in v0.1.2
func (*Uint64) LesserThanOrEqual ¶ added in v0.1.2
type Uint8 ¶ added in v0.1.2
type Uint8 uint8
func (*Uint8) GreaterThan ¶ added in v0.1.2
func (*Uint8) GreaterThanOrEqual ¶ added in v0.1.2
func (*Uint8) LesserThan ¶ added in v0.1.2
func (*Uint8) LesserThanOrEqual ¶ added in v0.1.2
type UintPtr ¶ added in v0.1.2
type UintPtr uintptr
func (*UintPtr) GreaterThan ¶ added in v0.1.2
func (*UintPtr) GreaterThanOrEqual ¶ added in v0.1.2
func (*UintPtr) LesserThan ¶ added in v0.1.2
func (*UintPtr) LesserThanOrEqual ¶ added in v0.1.2
type Vector ¶
type Vector[T any] struct { // contains filtered or unexported fields }
Vector is a general-purpose collection that can be used for any type.
It does have special functionality for element types that implement the Destructible interface.
Note, if you want a Vector of a native type, you will most likely get significantly better performance out of an NVector.
func MakeVector ¶
MakeVector creates a new empty Vector instance.
func MakeVectorFromData ¶
MakeVectorFromData creates a new Vector instance using the elements in values.
func MakeVectorFromDataRef ¶
MakeVectorFromDataRef creates a new Vector instance using pointers to the elements in values.
func MakeVectorFromVector ¶
MakeVectorFromVector creates a new Vector instance using the values of another.
func NewVectorFromData ¶
NewVectorFromData creates a new Vector using the elements in values, by value.
func NewVectorFromDataRef ¶
NewVectorFromDataRef creates a new Vector using pointers to the elements in values, by value.
func NewVectorFromNVector ¶ added in v0.1.2
func NewVectorFromNVector[T NativeEquatable](other NVector[T]) Vector[T]
func NewVectorFromVector ¶
NewVectorFromVector creates a new Vector using the values of another, by value.
func (*Vector[T]) At ¶
At gets the element at index by value.
Note, this function does no bounds checking besides what the Go runtime does already.
func (*Vector[T]) AtRef ¶
AtRef gets a pointer to the element at index.
Note, this function does no bounds checking besides what the Go runtime does already.
func (*Vector[T]) Back ¶
func (v *Vector[T]) Back() T
Back gets the element at the back of the Vector by value.
func (*Vector[T]) BackRef ¶
func (v *Vector[T]) BackRef() *T
BackRef gets a pointer to the element at the back of the Vector.
func (*Vector[T]) Clear ¶
func (v *Vector[T]) Clear()
Clear removes all the elements from the Vector.
If the elements implement the Destructible interface, then they will have the Destruct method called on them.
func (*Vector[T]) ContainsRef ¶ added in v0.1.2
ContainsRef returns true if the Vector contains the exact reference of value.
func (*Vector[T]) ContainsValue ¶ added in v0.1.2
ContainsValue returns true if the Vector contains value.
func (*Vector[T]) Data ¶
func (v *Vector[T]) Data() []T
Data gets the underlying slice of the elements.
func (*Vector[T]) Erase ¶
Erase removes an element at the specified index, moving all later elements one index forward.
func (*Vector[T]) Front ¶
func (v *Vector[T]) Front() T
Front gets the element at the front of the Vector by value.
func (*Vector[T]) FrontRef ¶
func (v *Vector[T]) FrontRef() *T
FrontRef gets a pointer to the element at the front of the Vector.
func (*Vector[T]) Insert ¶
Insert adds an element at the specified index, moving all later elements one further index back.
func (*Vector[T]) InsertRef ¶
Insert adds an element at the specified index, moving all later elements one further index back.
func (*Vector[T]) OrderedRefSearch ¶ added in v0.1.2
OrderedRefSearch searches for an instance, and returns the index to the first match.
func (*Vector[T]) OrderedRefSearchRef ¶ added in v0.1.2
func (v *Vector[T]) OrderedRefSearchRef(value *T) *T
OrderedRefSearchRef searches for an instance, and returns a pointer to the first match.
func (*Vector[T]) OrderedSearch ¶ added in v0.1.2
OrderedSearch searches for a value, and returns the index to the first match.
func (*Vector[T]) OrderedSearchRef ¶ added in v0.1.2
func (v *Vector[T]) OrderedSearchRef(value T) *T
OrderedSearchRef searches for a value, and returns a pointer to the first match.
func (*Vector[T]) PopBack ¶
func (v *Vector[T]) PopBack()
PopBack removes an element from the back of the Vector.
If the element implements the Destructible interface, it will have the Destruct method called on it.
func (*Vector[T]) PopFront ¶
func (v *Vector[T]) PopFront()
PopFront removes an element from the front of the Vector, moving all later elements one index forward.
If the element implements the Destructible interface, it will have the Destruct method called on it.
func (*Vector[T]) PushBack ¶
func (v *Vector[T]) PushBack(value T)
PushBack adds an element to the back of the Vector.
func (*Vector[T]) PushBackRef ¶
func (v *Vector[T]) PushBackRef(value *T)
PushBackRef adds an element to the back of the Vector.
func (*Vector[T]) PushFront ¶
func (v *Vector[T]) PushFront(value T)
PushFront adds an element to the front of the Vector, moving all later elements one index backward.
func (*Vector[T]) PushFrontRef ¶
func (v *Vector[T]) PushFrontRef(value *T)
PushFrontRef adds an element to the front of the Vector, moving all later elements one index backward.
func (*Vector[T]) RefSearch ¶ added in v0.1.2
RefSearch searches for an instance, and returns an index to a match.
Note, this method may perform a search in parallel, so the match might not be the first in the Vector.
func (*Vector[T]) RefSearchRef ¶ added in v0.1.2
func (v *Vector[T]) RefSearchRef(value *T) *T
SearchRef searches for an instance, and returns a pointer to a match.
Note, this method may perform a search in parallel, so the match might not be the first in the Vector.
func (*Vector[T]) Resize ¶
Resize resizes the Vector.
If the size increases, the new elements are zero-valued.
If the size decreases and the removed elements implement the Destructible interface, they will have the Destruct method called on them.
func (*Vector[T]) SafeAt ¶
SafeAt gets the element at index by value.
Note, this function does do bounds checking.
func (*Vector[T]) SafeAtRef ¶
SafeAtRef gets a pointer to the element at index.
Note, this function does do bounds checking.
func (*Vector[T]) Search ¶ added in v0.1.2
Search searches for a value, and returns an index to a match.
Note, this method may perform a search in parallel, so the match might not be the first in the Vector.
func (*Vector[T]) SearchRef ¶ added in v0.1.2
func (v *Vector[T]) SearchRef(value T) *T
SearchRef searches for a value, and returns a pointer to a match.
Note, this method may perform a search in parallel, so the match might not be the first in the Vector.
func (*Vector[T]) String ¶ added in v0.1.2
String returns a string representation of the Vector and it's contents.
func (*Vector[T]) Visit ¶ added in v0.1.2
func (v *Vector[T]) Visit(visitor CollectionVisitor[T])
Visit calls a function for every element in the Vector.
func (*Vector[T]) VisitReverse ¶ added in v0.1.2
func (v *Vector[T]) VisitReverse(visitor CollectionVisitor[T])
Visit calls a function for every element in the Vector in reverse order.