Documentation ¶
Index ¶
- type Hash
- type HashLink
- type HashList
- type HashListLink
- type HashListMap
- type HashListMapLink
- type HashMap
- type HashMapKeyType
- type HashMapLink
- type HashedKeyValue
- type List
- type ListInterface
- type ListLink
- type Map
- type MapKeyType
- type MapLink
- type PriorityQueue
- type PriorityQueueLink
- type PriorityType
- type TableInterface
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Hash ¶
type Hash[T any] interface { TableInterface Remove(obj *T) *T Insert(hashValue HashedKeyValue, obj *T) *T Move(obj *T, newHashValue HashedKeyValue) FindFirst(hashValue HashedKeyValue) *T FindNext(prevResult *T) *T GetKey(obj *T) HashedKeyValue IsContained(obj *T) bool WalkFirst() *T WalkNext(prevResult *T) *T }
func NewHashDynamic ¶
type HashLink ¶
type HashLink[M any] struct { // contains filtered or unexported fields }
HashLink is a link to the map container
type HashList ¶
type HashList[T any] interface { TableInterface ListInterface[HashedKeyValue, T] }
func NewHashListDynamic ¶
type HashListLink ¶
type HashListLink[M any] struct { // contains filtered or unexported fields }
HashListLink is a link to the map container
type HashListMap ¶
type HashListMap[TKey HashMapKeyType, T any] interface { TableInterface ListInterface[TKey, T] RemoveAllByKey(key TKey) RemoveAllByUniqueKey(key TKey) }
func NewHashListMapDynamic ¶
func NewHashListMapDynamic[TKey HashMapKeyType, T any](linkField uintptr) HashListMap[TKey, T]
func NewHashListMapStatic ¶
func NewHashListMapStatic[TKey HashMapKeyType, T any](linkField uintptr, tableSize int) HashListMap[TKey, T]
type HashListMapLink ¶
type HashListMapLink[TKey HashMapKeyType, T any] struct { // contains filtered or unexported fields }
HashListMapLink is a link to the map container
type HashMap ¶
type HashMap[TKey HashMapKeyType, T any] interface { TableInterface Remove(obj *T) *T Insert(key TKey, obj *T) *T Move(obj *T, newKey TKey) FindFirst(key TKey) *T FindNext(prevResult *T) *T GetKey(obj *T) TKey IsContained(obj *T) bool RemoveAllByKey(key TKey) RemoveAllByUniqueKey(key TKey) WalkFirst() *T WalkNext(prevResult *T) *T }
func NewHashMapDynamic ¶
func NewHashMapDynamic[TKey HashMapKeyType, T any](linkField uintptr) HashMap[TKey, T]
func NewHashMapStatic ¶
func NewHashMapStatic[TKey HashMapKeyType, T any](linkField uintptr, tableSize int) HashMap[TKey, T]
type HashMapKeyType ¶
type HashMapKeyType interface { constraints.Ordered }
type HashMapLink ¶
type HashMapLink[TKey HashMapKeyType, M any] struct { // contains filtered or unexported fields }
HashMapLink is a link to the list container
type HashedKeyValue ¶
type HashedKeyValue uint64
func HashKey ¶
func HashKey[TKey HashMapKeyType](key TKey) HashedKeyValue
type List ¶
type List[T any] interface { First() *T Last() *T Next(cur *T) *T Prev(cur *T) *T Position(index int) *T Remove(obj *T) *T RemoveFirst() *T RemoveLast() *T RemoveAll() InsertFirst(cur *T) *T InsertLast(cur *T) *T InsertAfter(prev, cur *T) *T InsertBefore(after, cur *T) *T MoveFirst(cur *T) MoveLast(cur *T) MoveAfter(dest, cur *T) MoveBefore(dest, cur *T) Count() int IsEmpty() bool IsContained(cur *T) bool }
type ListInterface ¶
type ListInterface[TKey any, T any] interface { First() *T Last() *T Next(cur *T) *T Prev(cur *T) *T Position(index int) *T Remove(obj *T) *T RemoveFirst() *T RemoveLast() *T RemoveAll() InsertFirst(key TKey, obj *T) *T InsertLast(key TKey, obj *T) *T InsertAfter(key TKey, prev, obj *T) *T InsertBefore(key TKey, after, obj *T) *T Move(obj *T, newKey TKey) MoveFirst(obj *T) MoveLast(obj *T) MoveAfter(dest, obj *T) MoveBefore(dest, obj *T) FindFirst(key TKey) *T FindNext(prevResult *T) *T GetKey(obj *T) TKey IsContained(obj *T) bool }
type ListLink ¶
type ListLink[M any] struct { // contains filtered or unexported fields }
ListLink is a link to the list container
type Map ¶
type Map[TKey MapKeyType, T any] interface { First() *T Last() *T Next(cur *T) *T Prev(cur *T) *T Position(index int) *T Count() int Remove(obj *T) *T RemoveFirst() *T RemoveLast() *T RemoveAll() Insert(key TKey, obj *T) *T Move(obj *T, newKey TKey) GetKey(obj *T) TKey IsEmpty() bool IsContained(obj *T) bool GetPosition(obj *T) int Find(key TKey) *T FindFirst(key TKey) *T FindNext(cur *T) *T FindLowerInclusive(key TKey) *T FindUpperInclusive(key TKey) *T FindLowerExclusive(key TKey) *T FindUpperExclusive(key TKey) *T }
type MapKeyType ¶
type MapKeyType interface { constraints.Ordered }
type MapLink ¶
type MapLink[TKey, T any] struct { // contains filtered or unexported fields }
MapLink is a link to the map container
type PriorityQueue ¶
type PriorityQueue[P PriorityType, T any] interface { Top() *T TopWithPriority(priority P) *T Insert(priority P, entry *T) *T Remove(entry *T) *T RemoveTop() *T RemoveTopWithPriority(priority P) *T RemoveAll() Count() int IsEmpty() bool GetPriority(entry *T) *P IsContained(entry *T) bool }
func NewPriorityQueue ¶
func NewPriorityQueue[P PriorityType, T any](linkField uintptr) PriorityQueue[P, T]
type PriorityQueueLink ¶
type PriorityQueueLink[P PriorityType] struct { // contains filtered or unexported fields }
PriorityQueueLink is a link to the priority queue container
type PriorityType ¶
type PriorityType interface { constraints.Ordered }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.