Documentation
¶
Overview ¶
Package immutable provides immutable collection implementations
Index ¶
- type Map
- func (m Map[K, V]) All(consumer func(k K, v V) bool)
- func (m Map[K, V]) Contains(key K) (ok bool)
- func (m Map[K, V]) Conv(converter func(K, V) (K, V, error)) breakLoop.Loop[K, V]
- func (m Map[K, V]) ConvKey(converter func(K) (K, error)) breakLoop.Loop[K, V]
- func (m Map[K, V]) ConvValue(converter func(V) (V, error)) breakLoop.Loop[K, V]
- func (m Map[K, V]) Convert(converter func(K, V) (K, V)) loop.Loop[K, V]
- func (m Map[K, V]) ConvertKey(by func(K) K) loop.Loop[K, V]
- func (m Map[K, V]) ConvertValue(by func(V) V) loop.Loop[K, V]
- func (m Map[K, V]) Filt(predicate func(K, V) (bool, error)) breakLoop.Loop[K, V]
- func (m Map[K, V]) FiltKey(predicate func(K) (bool, error)) breakLoop.Loop[K, V]
- func (m Map[K, V]) FiltValue(predicate func(V) (bool, error)) breakLoop.Loop[K, V]
- func (m Map[K, V]) Filter(predicate func(K, V) bool) loop.Loop[K, V]
- func (m Map[K, V]) FilterKey(predicate func(K) bool) loop.Loop[K, V]
- func (m Map[K, V]) FilterValue(predicate func(V) bool) loop.Loop[K, V]
- func (m Map[K, V]) First() (map_.Iter[K, V], K, V, bool)deprecated
- func (m Map[K, V]) Get(key K) (element V, ok bool)
- func (m Map[K, V]) HasAny(predicate func(K, V) bool) bool
- func (m Map[K, V]) Head() map_.Iter[K, V]deprecated
- func (m Map[K, V]) IsEmpty() bool
- func (m Map[K, V]) K() MapKeys[K, V]
- func (m Map[K, V]) Keys() MapKeys[K, V]
- func (m Map[K, V]) Len() int
- func (m Map[K, V]) Loop() loop.Loop[K, V]
- func (m Map[K, V]) Map() map[K]V
- func (m Map[K, V]) Reduce(merge func(K, K, V, V) (K, V)) (K, V)
- func (m Map[K, V]) Sort(comparer slice.Comparer[K]) ordered.Map[K, V]
- func (m Map[K, V]) StableSort(comparer slice.Comparer[K]) ordered.Map[K, V]
- func (m Map[K, V]) String() string
- func (m Map[K, V]) Track(consumer func(K, V) error) error
- func (m Map[K, V]) TrackEach(consumer func(K, V))
- func (m Map[K, V]) V() MapValues[K, V]
- func (m Map[K, V]) Values() MapValues[K, V]
- type MapKeys
- func (m MapKeys[K, V]) All(consumer func(K) bool)
- func (m MapKeys[K, V]) Append(out []K) []K
- func (m MapKeys[K, V]) Conv(converter func(K) (K, error)) breakLoop.Loop[K]
- func (m MapKeys[K, V]) Convert(converter func(K) K) loop.Loop[K]
- func (m MapKeys[K, V]) Filt(predicate func(K) (bool, error)) breakLoop.Loop[K]
- func (m MapKeys[K, V]) Filter(filter func(K) bool) loop.Loop[K]
- func (m MapKeys[K, V]) First() (map_.KeyIter[K, V], K, bool)deprecated
- func (m MapKeys[K, V]) For(consumer func(K) error) error
- func (m MapKeys[K, V]) ForEach(consumer func(K))
- func (m MapKeys[K, V]) HasAny(predicate func(K) bool) bool
- func (m MapKeys[K, V]) Head() map_.KeyIter[K, V]deprecated
- func (m MapKeys[K, V]) IsEmpty() bool
- func (m MapKeys[K, V]) Len() int
- func (m MapKeys[K, V]) Loop() loop.Loop[K]
- func (m MapKeys[K, V]) Reduce(merge func(K, K) K) K
- func (m MapKeys[K, V]) Slice() []K
- func (m MapKeys[K, V]) String() string
- type MapValues
- func (m MapValues[K, V]) All(consumer func(V) bool)
- func (m MapValues[K, V]) Append(out []V) []V
- func (m MapValues[K, V]) Conv(converter func(V) (V, error)) breakLoop.Loop[V]
- func (m MapValues[K, V]) Convert(converter func(V) V) loop.Loop[V]
- func (m MapValues[K, V]) Filt(predicate func(V) (bool, error)) breakLoop.Loop[V]
- func (m MapValues[K, V]) Filter(filter func(V) bool) loop.Loop[V]
- func (m MapValues[K, V]) First() (map_.ValIter[K, V], V, bool)deprecated
- func (m MapValues[K, V]) For(consumer func(V) error) error
- func (m MapValues[K, V]) ForEach(consumer func(V))
- func (m MapValues[K, V]) HasAny(predicate func(V) bool) bool
- func (m MapValues[K, V]) Head() map_.ValIter[K, V]deprecated
- func (m MapValues[K, V]) IsEmpty() bool
- func (m MapValues[K, V]) Len() int
- func (m MapValues[K, V]) Loop() loop.Loop[V]
- func (m MapValues[K, V]) Reduce(merge func(V, V) V) V
- func (m MapValues[K, V]) Slice() []V
- func (m MapValues[K, V]) Sort(comparer slice.Comparer[V]) Vector[V]
- func (m MapValues[K, V]) String() string
- type Set
- func (s Set[T]) All(consumer func(T) bool)
- func (s Set[T]) Append(out []T) []T
- func (s Set[T]) Contains(element T) (ok bool)
- func (s Set[T]) Conv(converter func(T) (T, error)) breakLoop.Loop[T]
- func (s Set[T]) Convert(converter func(T) T) loop.Loop[T]
- func (s Set[T]) Filt(predicate func(T) (bool, error)) breakLoop.Loop[T]
- func (s Set[T]) Filter(predicate func(T) bool) loop.Loop[T]
- func (s Set[T]) First() (map_.KeyIter[T, struct{}], T, bool)deprecated
- func (s Set[T]) For(consumer func(T) error) error
- func (s Set[T]) ForEach(consumer func(T))
- func (s Set[T]) HasAny(predicate func(T) bool) bool
- func (s Set[T]) Head() map_.KeyIter[T, struct{}]deprecated
- func (s Set[T]) IsEmpty() bool
- func (s Set[T]) Len() int
- func (s Set[T]) Loop() loop.Loop[T]
- func (s Set[T]) Reduce(merge func(T, T) T) T
- func (s Set[T]) Slice() []T
- func (s Set[T]) Sort(comparer slice.Comparer[T]) ordered.Set[T]
- func (s Set[T]) StableSort(comparer slice.Comparer[T]) ordered.Set[T]
- func (s Set[T]) String() string
- type Vector
- func (v Vector[T]) All(consumer func(int, T) bool)
- func (v Vector[T]) Append(out []T) []T
- func (v Vector[T]) Conv(converter func(T) (T, error)) breakLoop.Loop[T]
- func (v Vector[T]) Convert(converter func(T) T) loop.Loop[T]
- func (v Vector[T]) Filt(predicate func(T) (bool, error)) breakLoop.Loop[T]
- func (v Vector[T]) Filter(filter func(T) bool) loop.Loop[T]
- func (v Vector[T]) First() (*slice.Iter[T], T, bool)deprecated
- func (v Vector[T]) For(consumer func(T) error) error
- func (v Vector[T]) ForEach(consumer func(T))
- func (v Vector[T]) Get(index int) (out T, ok bool)
- func (v Vector[T]) HasAny(predicate func(T) bool) bool
- func (v Vector[T]) Head() slice.Iter[T]deprecated
- func (v Vector[T]) IsEmpty() bool
- func (v Vector[T]) Last() (*slice.Iter[T], T, bool)
- func (v Vector[T]) Len() int
- func (v Vector[T]) Loop() loop.Loop[T]
- func (v Vector[T]) Reduce(merge func(T, T) T) T
- func (v Vector[T]) Slice() []T
- func (v Vector[T]) Sort(comparer slice.Comparer[T]) Vector[T]
- func (v Vector[T]) StableSort(comparer slice.Comparer[T]) Vector[T]
- func (v Vector[T]) String() string
- func (v Vector[T]) Tail() slice.Iter[T]deprecated
- func (v Vector[T]) Track(consumer func(int, T) error) error
- func (v Vector[T]) TrackEach(consumer func(int, T))
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Map ¶
type Map[K comparable, V any] struct { // contains filtered or unexported fields }
Map is a collection implementation that provides elements access by an unique key
func MapFromLoop ¶
func MapFromLoop[K comparable, V any](next func() (K, V, bool)) Map[K, V]
MapFromLoop creates a map with elements retrieved converter the 'next' function
func NewMap ¶
func NewMap[K comparable, V any](elements ...c.KV[K, V]) Map[K, V]
NewMap instantiates an map using key/value pairs
func NewMapOf ¶
func NewMapOf[K comparable, V any](elements map[K]V) Map[K, V]
NewMapOf instantiates Map populated by the 'elements' map key/values
func WrapMap ¶
func WrapMap[K comparable, V any](elements map[K]V) Map[K, V]
WrapMap instantiates Map using a map as internal storage.
func (Map[K, V]) All ¶ added in v0.0.12
All is used to iterate through the collection using `for ... range`. Supported since go 1.22 with GOEXPERIMENT=rangefunc enabled.
func (Map[K, V]) Conv ¶
Conv returns a breakable loop that applies the 'converter' function to the collection elements
func (Map[K, V]) ConvKey ¶
ConvKey returns a loop that applies the 'converter' function to keys of the map
func (Map[K, V]) ConvValue ¶
ConvValue returns a loop that applies the 'converter' function to values of the map
func (Map[K, V]) Convert ¶
Convert returns a loop that applies the 'converter' function to the collection elements
func (Map[K, V]) ConvertKey ¶
ConvertKey returns a loop that applies the 'converter' function to keys of the map
func (Map[K, V]) ConvertValue ¶
ConvertValue returns a loop that applies the 'converter' function to values of the map
func (Map[K, V]) Filt ¶
Filt returns a breakable loop consisting of elements that satisfy the condition of the 'predicate' function
func (Map[K, V]) FiltKey ¶
FiltKey returns a loop consisting of key/value pairs where the key satisfies the condition of the 'predicate' function
func (Map[K, V]) FiltValue ¶
FiltValue returns a loop consisting of key/value pairs where the value satisfies the condition of the 'predicate' function
func (Map[K, V]) Filter ¶
Filter returns a loop consisting of elements that satisfy the condition of the 'predicate' function
func (Map[K, V]) FilterKey ¶
FilterKey returns a loop consisting of key/value pairs where the key satisfies the condition of the 'predicate' function
func (Map[K, V]) FilterValue ¶
FilterValue returns a loop consisting of key/value pairs where the value satisfies the condition of the 'predicate' function
func (Map[K, V]) First
deprecated
Deprecated: First is deprecated. Will be replaced by rance-over function iterator. First returns the first key/value pair of the map, an iterator to iterate over the remaining pair, and true\false marker of availability next pairs. If no more then ok==false.
func (Map[K, V]) Get ¶
Get returns the value for a key. If ok==false, then the map does not contain the key.
func (Map[K, V]) HasAny ¶
HasAny finds the first key/value pair that satisfies the 'predicate' function condition and returns true if successful
func (Map[K, V]) Reduce ¶
func (m Map[K, V]) Reduce(merge func(K, K, V, V) (K, V)) (K, V)
Reduce reduces the key/value pairs of the map into an one pair using the 'merge' function
func (Map[K, V]) StableSort ¶
StableSort returns sorted by keys map
func (Map[K, V]) Track ¶
Track applies the 'consumer' function for all key/value pairs until the consumer returns the c.Break to stop.
type MapKeys ¶
type MapKeys[K comparable, V any] struct { // contains filtered or unexported fields }
MapKeys is the container reveal keys of a map and hides values
func WrapKeys ¶
func WrapKeys[K comparable, V any](elements map[K]V) MapKeys[K, V]
WrapKeys instantiates MapKeys using the elements as internal storage
func (MapKeys[K, V]) All ¶ added in v0.0.12
All is used to iterate through the collection using `for ... range`. Supported since go 1.22 with GOEXPERIMENT=rangefunc enabled.
func (MapKeys[K, V]) Append ¶
func (m MapKeys[K, V]) Append(out []K) []K
Append collects the values to the specified 'out' slice
func (MapKeys[K, V]) Conv ¶
Conv returns a breakable loop that applies the 'converter' function to the collection elements
func (MapKeys[K, V]) Convert ¶
Convert returns a loop that applies the 'converter' function to the collection elements
func (MapKeys[K, V]) Filt ¶
Filt returns a breakable loop consisting of elements that satisfy the condition of the 'predicate' function
func (MapKeys[K, V]) Filter ¶
Filter returns a loop consisting of elements that satisfy the condition of the 'predicate' function
func (MapKeys[K, V]) First
deprecated
Deprecated: First is deprecated. Will be replaced by rance-over function iterator. First returns the first element of the collection, an iterator to iterate over the remaining elements, and true\false marker of availability next elements. If no more elements then ok==false.
func (MapKeys[K, V]) For ¶
For applies the 'consumer' function for every key until the consumer returns the c.Break to stop.
func (MapKeys[K, V]) ForEach ¶
func (m MapKeys[K, V]) ForEach(consumer func(K))
ForEach applies the 'consumer' function for every key
func (MapKeys[K, V]) HasAny ¶
HasAny finds the first element that satisfies the 'predicate' function condition and returns true if successful
func (MapKeys[K, V]) Reduce ¶
func (m MapKeys[K, V]) Reduce(merge func(K, K) K) K
Reduce reduces the elements into an one using the 'merge' function
type MapValues ¶
type MapValues[K comparable, V any] struct { // contains filtered or unexported fields }
MapValues is the wrapper for Map'm values.
func WrapVal ¶
func WrapVal[K comparable, V any](elements map[K]V) MapValues[K, V]
WrapVal instantiates MapValues using elements as internal storage.
func (MapValues[K, V]) All ¶ added in v0.0.12
All is used to iterate through the collection using `for ... range`. Supported since go 1.22 with GOEXPERIMENT=rangefunc enabled.
func (MapValues[K, V]) Append ¶
func (m MapValues[K, V]) Append(out []V) []V
Append collects the values to the specified 'out' slice
func (MapValues[K, V]) Conv ¶
Conv returns a breakable loop that applies the 'converter' function to the collection elements
func (MapValues[K, V]) Convert ¶
Convert returns a loop that applies the 'converter' function to the collection elements
func (MapValues[K, V]) Filt ¶
Filt returns a breakable loop consisting of elements that satisfy the condition of the 'predicate' function
func (MapValues[K, V]) Filter ¶
Filter returns a loop consisting of elements that satisfy the condition of the 'predicate' function
func (MapValues[K, V]) First
deprecated
Deprecated: First is deprecated. Will be replaced by rance-over function iterator. First returns the first element of the collection, an iterator to iterate over the remaining elements, and true\false marker of availability next elements. If no more elements then ok==false.
func (MapValues[K, V]) For ¶
For applies the 'consumer' function for collection values until the consumer returns the c.Break to stop.
func (MapValues[K, V]) ForEach ¶
func (m MapValues[K, V]) ForEach(consumer func(V))
ForEach applies the 'consumer' function for every value of the collection
func (MapValues[K, V]) HasAny ¶
HasAny finds the first element that satisfies the 'predicate' function condition and returns true if successful
func (MapValues[K, V]) Reduce ¶
func (m MapValues[K, V]) Reduce(merge func(V, V) V) V
Reduce reduces the elements into an one using the 'merge' function
func (MapValues[K, V]) Slice ¶
func (m MapValues[K, V]) Slice() []V
Slice collects the values to a slice
type Set ¶
type Set[T comparable] struct { // contains filtered or unexported fields }
Set is a collection implementation that provides storage for unique elements, prevents duplication. The elements must be comparable.
func NewSet ¶
func NewSet[T comparable](elements ...T) Set[T]
NewSet instantiates set and copies elements to it
func SetFromLoop ¶
func SetFromLoop[T comparable](next func() (T, bool)) Set[T]
SetFromLoop creates a set with elements retrieved by the 'next' function. The next returns an element with true or zero value with false if there are no more elements.
func WrapSet ¶
func WrapSet[T comparable](elements map[T]struct{}) Set[T]
WrapSet creates a set using a map as the internal storage.
func (Set[T]) All ¶ added in v0.0.12
All is used to iterate through the collection using `for ... range`. Supported since go 1.22 with GOEXPERIMENT=rangefunc enabled.
func (Set[T]) Append ¶
func (s Set[T]) Append(out []T) []T
Append collects the values to the specified 'out' slice
func (Set[T]) Conv ¶
Conv returns a breakable loop that applies the 'converter' function to the collection elements
func (Set[T]) Convert ¶
Convert returns a loop that applies the 'converter' function to the collection elements
func (Set[T]) Filt ¶
Filt returns a breakable loop consisting of elements that satisfy the condition of the 'predicate' function
func (Set[T]) Filter ¶
Filter returns a loop consisting of elements that satisfy the condition of the 'predicate' function
func (Set[T]) First
deprecated
Deprecated: First is deprecated. Will be replaced by rance-over function iterator. First returns the first element of the collection, an iterator to iterate over the remaining elements, and true\false marker of availability next elements. If no more elements then ok==false.
func (Set[T]) For ¶
For applies the 'consumer' function for the elements until the consumer returns the c.Break to stop.
func (Set[T]) ForEach ¶
func (s Set[T]) ForEach(consumer func(T))
ForEach applies the 'consumer' function for every element
func (Set[T]) HasAny ¶
HasAny finds the first element that satisfies the 'predicate' function condition and returns true if successful
func (Set[T]) Reduce ¶
func (s Set[T]) Reduce(merge func(T, T) T) T
Reduce reduces the elements into an one using the 'merge' function
func (Set[T]) StableSort ¶
StableSort transforms to the ordered set with sorted elements
type Vector ¶
type Vector[T any] struct { // contains filtered or unexported fields }
Vector is a collection implementation that provides elements order and index access.
func VectorFromLoop ¶
VectorFromLoop creates a vector with elements retrieved by the 'next' function. The next returns an element with true or zero value with false if there are no more elements.
func WrapVector ¶
WrapVector instantiates Vector using a slise as internal storage.
func (Vector[T]) All ¶ added in v0.0.12
All is used to iterate through the collection using `for ... range`. Supported since go 1.22 with GOEXPERIMENT=rangefunc enabled.
func (Vector[T]) Append ¶
func (v Vector[T]) Append(out []T) []T
Append collects the values to the specified 'out' slice
func (Vector[T]) Conv ¶
Conv returns a breakable loop that applies the 'converter' function to the collection elements
func (Vector[T]) Convert ¶
Convert returns a loop that applies the 'converter' function to the collection elements
func (Vector[T]) Filt ¶
Filt returns a breakable loop consisting of elements that satisfy the condition of the 'predicate' function
func (Vector[T]) Filter ¶
Filter returns a loop consisting of elements that satisfy the condition of the 'predicate' function
func (Vector[T]) First
deprecated
Deprecated: First is deprecated. Will be replaced by rance-over function iterator. First returns the first element of the collection, an iterator to iterate over the remaining elements, and true\false marker of availability next elements. If no more elements then ok==false.
func (Vector[T]) For ¶
For applies the 'consumer' function for the elements until the consumer returns the c.Break to stop.
func (Vector[T]) ForEach ¶
func (v Vector[T]) ForEach(consumer func(T))
ForEach applies the 'consumer' function for every element
func (Vector[T]) Get ¶
Get returns an element by the index, otherwise, if the provided index is ouf of the vector len, returns zero T and false in the second result
func (Vector[T]) HasAny ¶
HasAny finds the first element that satisfies the 'predicate' function condition and returns true if successful
func (Vector[T]) Last ¶
Last returns the latest element of the collection, an iterator to reverse iterate over the remaining elements, and true\false marker of availability previous elements. If no more elements then ok==false.
func (Vector[T]) Reduce ¶
func (v Vector[T]) Reduce(merge func(T, T) T) T
Reduce reduces the elements into an one using the 'merge' function
func (Vector[T]) StableSort ¶
StableSort returns a stable sorted clone of the Vector
Directories
¶
Path | Synopsis |
---|---|
Package map_ provides immutable.Map constructors
|
Package map_ provides immutable.Map constructors |
Package ordered provides immutable ordered collection implementations
|
Package ordered provides immutable ordered collection implementations |
map_
Package map_ provides immutale ordered.Map constructors
|
Package map_ provides immutale ordered.Map constructors |
set
Package set provides ordered.Set constructors and helpers
|
Package set provides ordered.Set constructors and helpers |
Package set provides unordered immutable.Set constructors and helpers
|
Package set provides unordered immutable.Set constructors and helpers |
Package vector provides ordered immutable.Vector constructors and helpers
|
Package vector provides ordered immutable.Vector constructors and helpers |