funcx

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: May 21, 2022 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IntrincsLess

func IntrincsLess[T common.IntrincsOrd](a, b T) bool

func IntrincsMax

func IntrincsMax[T common.IntrincsOrd](arr ...T) T

func IntrincsMax2

func IntrincsMax2[T common.IntrincsOrd](a, b T) T

func IntrincsMin

func IntrincsMin[T common.IntrincsOrd](arr ...T) T

func IntrincsMin2

func IntrincsMin2[T common.IntrincsOrd](a, b T) T

func NewSliceBy

func NewSliceBy[T any](len int, cap int, f func(int) T) []T

func NewSliceFilling

func NewSliceFilling[T any](len int, cap int, elem T) []T

func SliceClone

func SliceClone[T any](sl []T, keepCap bool) []T

func SliceFilter

func SliceFilter[T any](sl []T, f func(int, T) bool) []T

func SliceFlatMap

func SliceFlatMap[T, U any](sl []T, f func(int, T) []U) []U

func SliceForeach

func SliceForeach[T any](sl []T, f func(int, T))

func SliceHeapSort

func SliceHeapSort[T any](sl []T, lessOp LessOp[T])

func SliceHeapSortIntrincs

func SliceHeapSortIntrincs[T common.IntrincsOrd](sl []T)

func SliceInsertionSort

func SliceInsertionSort[T any](sl []T, lessOp LessOp[T])

func SliceInsertionSortIntrincs

func SliceInsertionSortIntrincs[T common.IntrincsOrd](sl []T)

func SliceIsSorted

func SliceIsSorted[T any](sl []T, lessOp LessOp[T]) bool

func SliceIsSortedIntrincs

func SliceIsSortedIntrincs[T common.IntrincsOrd](sl []T, lessOp LessOp[T]) bool

func SliceMap

func SliceMap[T, U any](sl []T, f func(int, T) U) []U

func SliceMax

func SliceMax[T any](sl []T, lessOp func(T, T) bool) T

func SliceMaxIntrincs

func SliceMaxIntrincs[T common.IntrincsOrd](sl []T) T

func SliceMin

func SliceMin[T any](sl []T, lessOp func(T, T) bool) T

func SliceMinIntrincs

func SliceMinIntrincs[T common.IntrincsOrd](sl []T) T

func SliceNthElement

func SliceNthElement[T any](sl []T, n int, lessOp LessOp[T])

func SliceNthElementIntrincs

func SliceNthElementIntrincs[T common.IntrincsOrd](sl []T, n int)

func SlicePartialSort

func SlicePartialSort[T any](sl []T, n int, lessOp LessOp[T])

func SlicePartialSortIntrincs

func SlicePartialSortIntrincs[T common.IntrincsOrd](sl []T, n int)

func SliceQuickSort

func SliceQuickSort[T any](sl []T, lessOp LessOp[T])

func SliceQuickSortIntrincs

func SliceQuickSortIntrincs[T common.IntrincsOrd](sl []T)

func SliceReduce

func SliceReduce[T, U any](sl []T, f func(U, int, T) U, init U) U

func SliceReverse

func SliceReverse[T any](sl []T)

func SliceScan

func SliceScan[T, U any](sl []T, f func(U, int, T) U, init U) []U

func SliceStableSort

func SliceStableSort[T any](sl []T, lessOp LessOp[T])

func SliceStableSortIntrincs

func SliceStableSortIntrincs[T common.IntrincsOrd](sl []T)

func SliceSwapRange

func SliceSwapRange[T any](sl []T, i, j, n int)

func SliceZip2By

func SliceZip2By[T, U, V any](slA []T, slB []U, f func(int, T, U) V) []V

func SliceZip3By

func SliceZip3By[T, U, V, W any](slA []T, slB []U, slC []V, f func(int, T, U, V) W) []W

Types

type LessOp

type LessOp[T any] func(T, T) bool

type Optional

type Optional[T any] struct {
	// contains filtered or unexported fields
}

func NewOptionalNone

func NewOptionalNone[T any]() *Optional[T]

func NewOptionalSome

func NewOptionalSome[T any](data T) *Optional[T]

func OptionalFlatMap

func OptionalFlatMap[T, U any](o *Optional[T], f func(T) *Optional[U]) *Optional[U]

func OptionalMap

func OptionalMap[T, U any](o *Optional[T], f func(T) U) *Optional[U]

func (*Optional[T]) Get

func (o *Optional[T]) Get() (T, bool)

func (*Optional[T]) IsNone

func (o *Optional[T]) IsNone() bool

func (*Optional[T]) Set

func (o *Optional[T]) Set(data T)

type Result

type Result[T any] struct {
	// contains filtered or unexported fields
}

func NewResult

func NewResult[T any](data T, err error) *Result[T]

func NewResultErr

func NewResultErr[T any](err error) *Result[T]

func NewResultOk

func NewResultOk[T any](data T) *Result[T]

func ResultFlatMap

func ResultFlatMap[T, U any](r *Result[T], f func(T) *Result[U]) *Result[U]

func ResultFlatMapCascade2

func ResultFlatMapCascade2[T1, T2, T3 any](r *Result[T1], f1 func(T1) *Result[T2], f2 func(T2) *Result[T3]) *Result[T3]

func ResultFlatMapCascade3

func ResultFlatMapCascade3[T1, T2, T3, T4 any](r *Result[T1], f1 func(T1) *Result[T2], f2 func(T2) *Result[T3],
	f3 func(T3) *Result[T4]) *Result[T4]

func ResultFlatMapCascade4

func ResultFlatMapCascade4[T1, T2, T3, T4, T5 any](r *Result[T1], f1 func(T1) *Result[T2], f2 func(T2) *Result[T3],
	f3 func(T3) *Result[T4], f4 func(T4) *Result[T5]) *Result[T5]

func ResultFlatMapCascade5

func ResultFlatMapCascade5[T1, T2, T3, T4, T5, T6 any](r *Result[T1], f1 func(T1) *Result[T2], f2 func(T2) *Result[T3],
	f3 func(T3) *Result[T4], f4 func(T4) *Result[T5], f5 func(T5) *Result[T6]) *Result[T6]

func ResultFlatMapCascade6

func ResultFlatMapCascade6[T1, T2, T3, T4, T5, T6, T7 any](r *Result[T1], f1 func(T1) *Result[T2], f2 func(T2) *Result[T3],
	f3 func(T3) *Result[T4], f4 func(T4) *Result[T5], f5 func(T5) *Result[T6], f6 func(T6) *Result[T7]) *Result[T7]

func ResultFlatMapRaw

func ResultFlatMapRaw[T, U any](r *Result[T], f ResultRawFunc[T, U]) *Result[U]

func ResultFlatMapRawCascade2

func ResultFlatMapRawCascade2[T1, T2, T3 any](r *Result[T1], f1 ResultRawFunc[T1, T2], f2 ResultRawFunc[T2, T3]) *Result[T3]

func ResultFlatMapRawCascade3

func ResultFlatMapRawCascade3[T1, T2, T3, T4 any](r *Result[T1], f1 ResultRawFunc[T1, T2], f2 ResultRawFunc[T2, T3],
	f3 ResultRawFunc[T3, T4]) *Result[T4]

func ResultFlatMapRawCascade4

func ResultFlatMapRawCascade4[T1, T2, T3, T4, T5 any](r *Result[T1], f1 ResultRawFunc[T1, T2], f2 ResultRawFunc[T2, T3],
	f3 ResultRawFunc[T3, T4], f4 ResultRawFunc[T4, T5]) *Result[T5]

func ResultFlatMapRawCascade5

func ResultFlatMapRawCascade5[T1, T2, T3, T4, T5, T6 any](r *Result[T1], f1 ResultRawFunc[T1, T2], f2 ResultRawFunc[T2, T3],
	f3 ResultRawFunc[T3, T4], f4 ResultRawFunc[T4, T5], f5 ResultRawFunc[T5, T6]) *Result[T6]

func ResultFlatMapRawCascade6

func ResultFlatMapRawCascade6[T1, T2, T3, T4, T5, T6, T7 any](r *Result[T1], f1 ResultRawFunc[T1, T2], f2 ResultRawFunc[T2, T3],
	f3 ResultRawFunc[T3, T4], f4 ResultRawFunc[T4, T5], f5 ResultRawFunc[T5, T6], f6 ResultRawFunc[T6, T7]) *Result[T7]

func ResultMap

func ResultMap[T, U any](r *Result[T], f func(T) U) *Result[U]

func (*Result[T]) GetData

func (r *Result[T]) GetData() (T, bool)

func (*Result[T]) GetError

func (r *Result[T]) GetError() error

func (*Result[T]) IsErr

func (r *Result[T]) IsErr() bool

type ResultRawFunc

type ResultRawFunc[T, U any] func(T) (U, error)

type Tuple2

type Tuple2[T0, T1 any] struct {
	A T0
	B T1
}

func SliceZip2

func SliceZip2[T, U any](slA []T, slB []U, f func(int, T, U) Tuple2[T, U]) []Tuple2[T, U]

type Tuple3

type Tuple3[T0, T1, T2 any] struct {
	A T0
	B T1
	C T2
}

func SliceZip3

func SliceZip3[T, U, V any](slA []T, slB []U, slC []V, f func(int, T, U, V) Tuple3[T, U, V]) []Tuple3[T, U, V]

type Tuple4

type Tuple4[T0, T1, T2, T3 any] struct {
	A T0
	B T1
	C T2
	D T3
}

type Tuple5

type Tuple5[T0, T1, T2, T3, T4 any] struct {
	A T0
	B T1
	C T2
	D T3
	E T4
}

type Tuple6

type Tuple6[T0, T1, T2, T3, T4, T5 any] struct {
	A T0
	B T1
	C T2
	D T3
	E T4
	F T5
}

type Variant2

type Variant2[T0, T1 any] struct {
	// contains filtered or unexported fields
}

func NewVariant2A

func NewVariant2A[T0, T1 any](a T0) *Variant2[T0, T1]

func NewVariant2B

func NewVariant2B[T0, T1 any](b T1) *Variant2[T0, T1]

func (*Variant2[T0, T1]) A

func (v *Variant2[T0, T1]) A() (T0, bool)

func (*Variant2[T0, T1]) B

func (v *Variant2[T0, T1]) B() (T1, bool)

func (*Variant2) Index

func (v *Variant2) Index() uint8

func (*Variant2[T0, T1]) SetA

func (v *Variant2[T0, T1]) SetA(a T0)

func (*Variant2[T0, T1]) SetB

func (v *Variant2[T0, T1]) SetB(b T1)

type Variant3

type Variant3[T0, T1, T2 any] struct {
	// contains filtered or unexported fields
}

func NewVariant3A

func NewVariant3A[T0, T1, T2 any](a T0) *Variant3[T0, T1, T2]

func NewVariant3B

func NewVariant3B[T0, T1, T2 any](b T1) *Variant3[T0, T1, T2]

func NewVariant3C

func NewVariant3C[T0, T1, T2 any](c T2) *Variant3[T0, T1, T2]

func (*Variant3[T0, T1, T2]) A

func (v *Variant3[T0, T1, T2]) A() (T0, bool)

func (*Variant3[T0, T1, T2]) B

func (v *Variant3[T0, T1, T2]) B() (T1, bool)

func (*Variant3[T0, T1, T2]) C

func (v *Variant3[T0, T1, T2]) C() (T2, bool)

func (*Variant3) Index

func (v *Variant3) Index() uint8

func (*Variant3[T0, T1, T2]) SetA

func (v *Variant3[T0, T1, T2]) SetA(a T0)

func (*Variant3[T0, T1, T2]) SetB

func (v *Variant3[T0, T1, T2]) SetB(b T1)

func (*Variant3[T0, T1, T2]) SetC

func (v *Variant3[T0, T1, T2]) SetC(c T2)

Jump to

Keyboard shortcuts

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