collections/functions/types.go

25 lines
746 B
Go
Raw Normal View History

2023-07-26 22:13:21 +02:00
package functions
type (
// Consumer takes an argument of type T and returns nothing
Consumer[T any] func(T)
// Function takes an argument of type T and returns a result of type U
Function[T, U any] func(T) U
// Predicate takes an argument of type T and returns a boolean result
Predicate[T any] func(T) bool
// Supplier takes no argument and returns a result of type T
Supplier[T any] func() T
// UnaryOperator takes an argument of type T and returns a result of type T
UnaryOperator[T any] func(T) T
// BinaryOperator takes two arguments of type T and returns a result of type T
BinaryOperator[T any] func(T, T) T
// Comparator takes two arguments of type T and returns a boolean result
Comparator[T any] func(T, T) bool
)