Documentation
¶
Overview ¶
Package bimap is an in-memory bi-directional map. Serialization is the caller's concern — this type is generic over comparable K/V, and the internal Lux wire format is ZAP, which is element-typed. Use a typed ZAP schema (or a typed snapshot struct) at the call site to persist a bimap; do not bolt a generic marshaler onto BiMap itself.
Index ¶
- type BiMap
- func (m *BiMap[K, V]) DeleteKey(key K) (V, bool)
- func (m *BiMap[K, V]) DeleteValue(val V) (K, bool)
- func (m *BiMap[K, V]) GetKey(val V) (K, bool)
- func (m *BiMap[K, V]) GetValue(key K) (V, bool)
- func (m *BiMap[K, _]) HasKey(key K) bool
- func (m *BiMap[_, V]) HasValue(val V) bool
- func (m *BiMap[K, _]) Keys() []K
- func (m *BiMap[K, V]) Len() int
- func (m *BiMap[K, V]) Put(key K, val V) []Entry[K, V]
- func (m *BiMap[_, V]) Values() []V
- type Entry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BiMap ¶
type BiMap[K, V comparable] struct { // contains filtered or unexported fields }
BiMap is a bi-directional map.
func (*BiMap[K, V]) DeleteKey ¶
DeleteKey removes [key] from the map and returns the value it mapped to.
func (*BiMap[K, V]) DeleteValue ¶
DeleteValue removes [val] from the map and returns the key that mapped to it.
func (*BiMap[K, _]) Keys ¶
func (m *BiMap[K, _]) Keys() []K
Keys returns the keys of the map. The keys will be in an indeterminate order.
Click to show internal directories.
Click to hide internal directories.