Versions in this module Expand all Collapse all v0 v0.7.0-beta.3 Aug 20, 2025 v0.7.0-beta.2 Aug 15, 2025 v0.7.0-beta.1 Aug 12, 2025 v0.6.2 Jul 28, 2025 v0.6.1 Jul 27, 2025 v0.6.0 Jul 2, 2025 v0.5.2 Jul 1, 2025 v0.5.1 May 5, 2025 v0.5.0 May 4, 2025 v0.4.4 Apr 26, 2025 v0.4.3 Apr 20, 2025 v0.4.2 Apr 1, 2025 v0.4.1 Mar 12, 2025 v0.4.0 Mar 11, 2025 v0.3.4 Mar 5, 2025 v0.3.3 Mar 3, 2025 v0.3.2 Feb 26, 2025 v0.3.1 Feb 16, 2025 Changes in this version + type Node struct + Children [2]*Node[K, V] + Key K + Parent *Node[K, V] + Value V + func (n *Node[K, V]) Next() *Node[K, V] + func (n *Node[K, V]) Prev() *Node[K, V] + func (n *Node[K, V]) Size() int + func (n *Node[K, V]) String() string + type Option func(*Tree[K, V]) error + func WithNodeFormatter[K comparable, V any](fn func(K, V) string) Option[K, V] + func WithSafe[K comparable, V any]() Option[K, V] + type Tree struct + func NewFromMap[K comparable, V any](m map[K]V, cmp func(K, K) int, ops ...Option[K, V]) (*Tree[K, V], error) + func NewFromOrderedMap[K cmp.Ordered, V any](m map[K]V, ops ...Option[K, V]) (*Tree[K, V], error) + func NewFromSlice[V any](slice []V, ops ...Option[int, V]) (*Tree[int, V], error) + func NewOrderedKeys[K cmp.Ordered, V any](ops ...Option[K, V]) (*Tree[K, V], error) + func New[K comparable, V any](cmp func(K, K) int, ops ...Option[K, V]) (*Tree[K, V], error) + func (t *Tree[K, V]) Ceiling(key K) (K, V, bool) + func (t *Tree[K, V]) Clear() + func (t *Tree[K, V]) Delete(key K) + func (t *Tree[K, V]) Floor(key K) (K, V, bool) + func (t *Tree[K, V]) Get(key K) (v V, found bool) + func (t *Tree[K, V]) Height() int + func (t *Tree[K, V]) InOrder(fn func(key K, value V) bool) + func (t *Tree[K, V]) IsEmpty() bool + func (t *Tree[K, V]) Keys() []K + func (t *Tree[K, V]) LevelOrder(fn func(key K, value V) bool) + func (t *Tree[K, V]) MarshalJSON() ([]byte, error) + func (t *Tree[K, V]) Max() (K, V, bool) + func (t *Tree[K, V]) Min() (K, V, bool) + func (t *Tree[K, V]) PostOrder(fn func(key K, value V) bool) + func (t *Tree[K, V]) PreOrder(fn func(key K, value V) bool) + func (t *Tree[K, V]) Put(key K, val V) + func (t *Tree[K, V]) Size() int + func (t *Tree[K, V]) String() string + func (t *Tree[K, V]) UnmarshalJSON(data []byte) error + func (t *Tree[K, V]) Values() []V