generic

package
v2.3.49 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 18, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CacheCallback

func CacheCallback[
	EM ~func(F) F,
	LLT ~func() LT,
	LT ~func() T,
	F ~func(A) T,
	KF func(A) K,
	C ~func(K, LLT) LT,
	A any, K comparable, T any](kf KF, getOrCreate C) EM

CacheCallback converts a unary function into a unary function that caches the value depending on the parameter

func ContramapMemoize

func ContramapMemoize[F ~func(A) T, KF func(A) K, A any, K comparable, T any](kf KF) func(F) F

ContramapMemoize converts a unary function into a memoized version that caches results by a derived key.

kf extracts a comparable cache key from the input. Two inputs a1, a2 with kf(a1) == kf(a2) share one cache entry: the result computed on the first call for that key is returned for all later calls that map to it, regardless of the actual input. The caller is responsible for ensuring that equal keys imply equal outputs — violating this produces silently incorrect results.

func Memoize

func Memoize[F ~func(K) T, K comparable, T any](f F) F

Memoize converts a unary function into a unary function that caches the value depending on the parameter

func SingleElementCache

func SingleElementCache[
	LLT ~func() LT,
	K comparable,
	LT ~func() T,
	T any,
]() func(K, LLT) LT

SingleElementCache is a cache with a capacity of a single element

func Switch

func Switch[HF ~func(T) R, N ~map[K]HF, KF ~func(T) K, K comparable, T, R any](kf KF, n N, d HF) HF

Switch applies a handler to different cases. The handers are stored in a map. A key function extracts the case from a value.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL