ptr

package
v0.0.16 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Clean

func Clean[V comparable](p *V) *V

ゼロ値を除いたポインタを返す。

func Collect

func Collect[V1 any, V2 any](p *V1, f func(V1) (V2, bool, error)) (*V2, error)

条件を満たす値を変換したポインタを返す。

func ContainsAll

func ContainsAll[V comparable](p *V, subset *V) bool

他のポインタの値がすべて存在していたらtrueを返す。

func ContainsAny

func ContainsAny[V comparable](p *V, subset *V) bool

他のポインタの値がひとつでも存在していたらtrueを返す。

func Count

func Count[V comparable](p *V, v V) int

一致する値の数を返す。

func CountBy

func CountBy[V any](p *V, f func(V) (bool, error)) (int, error)

条件を満たす値の数を返す。

func Distinct

func Distinct[V comparable](p *V) *V

重複を除いたポインタを返す。

func Drop

func Drop[V any](p *V, n int) *V

先頭n個の値を除いたポインタを返す。

func DropWhile

func DropWhile[V comparable](p *V, v V) *V

一致し続ける先頭の値を除いたポインタを返す。

func DropWhileBy

func DropWhileBy[V any](p *V, f func(V) (bool, error)) (*V, error)

条件を満たし続ける先頭の値を除いたポインタを返す。

func EndsWith

func EndsWith[V comparable](p *V, subset *V) bool

終端が他のポインタと一致していたらtrueを返す。

func Equal

func Equal[V comparable](p1 *V, p2 *V) bool

他のポインタと一致していたらtrueを返す。

func EqualBy

func EqualBy[V any](p1 *V, p2 *V, f func(V, V) (bool, error)) (bool, error)

他のポインタと関数で比較し、一致していたらtrueを返す。

func Exists

func Exists[V comparable](p *V, v V) bool

一致する値が存在したらtrueを返す。

func ExistsBy

func ExistsBy[V any](p *V, f func(V) (bool, error)) (bool, error)

条件を満たす値が存在したらtrueを返す。

func Filter

func Filter[V comparable](p *V, v V) *V

一致する値だけのポインタを返す。

func FilterBy

func FilterBy[V any](p *V, f func(V) (bool, error)) (*V, error)

条件を満たす値だけのポインタを返す。

func FilterNot

func FilterNot[V comparable](p *V, v V) *V

一致する値を除いたポインタを返す。

func FilterNotBy

func FilterNotBy[V any](p *V, f func(V) (bool, error)) (*V, error)

条件を満たす値を除いたポインタを返す。

func Find

func Find[V comparable](p *V, v V) (V, bool)

一致する値を返す。

func FindBy

func FindBy[V any](p *V, f func(V) (bool, error)) (V, bool, error)

条件を満たす値を返す。

func FlatMap

func FlatMap[V1 any, V2 any](p *V1, f func(V1) (*V2, error)) (*V2, error)

値をポインタに変換し、それらを結合したポインタを返す。

func Flatten

func Flatten[V any](p **V) *V

平坦化したポインタを返す。

func Fold

func Fold[V1 any, V2 any](p *V1, v V2, f func(V2, V1) (V2, error)) (V2, error)

初期値と値を順に演算する。

func ForAll

func ForAll[V comparable](p *V, v V) bool

すべての値が一致したらtrueを返す。

func ForAllBy

func ForAllBy[V any](p *V, f func(V) (bool, error)) (bool, error)

すべての値が条件を満たせばtrueを返す。

func ForEach

func ForEach[V any](p *V, f func(V) error) error

値ごとに関数を実行する。

func From

func From[V any](v V) *V

値からポインタをつくる。

func FromFunc

func FromFunc[V any](f func() *V) *V

関数を実行した結果からポインタをつくる。

func FromIter

func FromIter[V any](iter iter.Iter[V]) *V

イテレータからポインタをつくる。 ふたつ目以降の値は無視される。

func FromMap

func FromMap[K comparable, V any](m map[K]V) *tuple.T2[K, V]

マップからポインタをつくる。 ふたつ目以降の値は無視される。

func FromMapKeys

func FromMapKeys[K comparable, V any](m map[K]V) *K

マップのキーからポインタをつくる。 ふたつ目以降の値は無視される。

func FromMapValues

func FromMapValues[K comparable, V any](m map[K]V) *V

マップの値からポインタをつくる。 ふたつ目以降の値は無視される。

func FromSlice

func FromSlice[V any](slice []V) *V

スライスからポインタをつくる。 ふたつ目以降の値は無視される。

func Get

func Get[V any](p *V) (V, bool)

値を返す。

func GetOrElse

func GetOrElse[V any](p *V, v V) V

値を返す。無い場合はvを返す。

func GetOrFunc added in v0.0.3

func GetOrFunc[V any](p *V, f func() (V, error)) (V, error)

値を返す。無い場合は関数の実行結果を返す。

func GetOrZero added in v0.0.6

func GetOrZero[V any](p *V) V

値を返す。無い場合はゼロ値を返す。

func GroupBy

func GroupBy[K comparable, V any](p *V, f func(V) (K, error)) (map[K][]V, error)

値ごとに関数の返すキーでグルーピングしたマップを返す。

func Index

func Index[V comparable](p *V, v V) int

一致する最初の値の位置を返す。

func IndexBy

func IndexBy[V any](p *V, f func(V) (bool, error)) (int, error)

条件を満たす最初の値の位置を返す。

func Indices

func Indices[V any](p *V) *int

位置のポインタを返す。

func IsEmpty added in v0.0.5

func IsEmpty[V any](p *V) bool

空のときtrueを返す。

func Join

func Join[V any](p *V, separator V) *V

値のあいだにseparatorを挿入したポインタを返す。

func LastIndex

func LastIndex[V comparable](p *V, v V) int

一致する最後の値の位置を返す。

func LastIndexBy

func LastIndexBy[V any](p *V, f func(V) (bool, error)) (int, error)

条件を満たす最後の値の位置を返す。

func Len

func Len[V any](p *V) int

値の数を返す。

func Map

func Map[V1 any, V2 any](p *V1, f func(V1) (V2, error)) (*V2, error)

値を変換したポインタを返す。

func Max

func Max[V constraints.Ordered](p *V) V

最大の値を返す。

func MaxBy

func MaxBy[V1 any, V2 constraints.Ordered](p *V1, f func(V1) (V2, error)) (V2, error)

値を変換して最大の値を返す。

func Min

func Min[V constraints.Ordered](p *V) V

最小の値を返す。

func MinBy

func MinBy[V1 any, V2 constraints.Ordered](p *V1, f func(V1) (V2, error)) (V2, error)

値を変換して最小の値を返す。

func MustCollect added in v0.0.5

func MustCollect[V1 any, V2 any](p *V1, f func(V1) (V2, bool, error)) *V2

条件を満たす値を変換したポインタを返す。実行中にエラーが起きた場合 panic する。

func MustCountBy added in v0.0.5

func MustCountBy[V any](p *V, f func(V) (bool, error)) int

条件を満たす値の数を返す。実行中にエラーが起きた場合 panic する。

func MustDropWhileBy added in v0.0.5

func MustDropWhileBy[V any](p *V, f func(V) (bool, error)) *V

条件を満たし続ける先頭の値を除いたポインタを返す。実行中にエラーが起きた場合 panic する。

func MustEqualBy added in v0.0.5

func MustEqualBy[V any](p1 *V, p2 *V, f func(V, V) (bool, error)) bool

他のポインタと関数で比較し、一致していたらtrueを返す。実行中にエラーが起きた場合 panic する。

func MustExistsBy added in v0.0.5

func MustExistsBy[V any](p *V, f func(V) (bool, error)) bool

条件を満たす値が存在したらtrueを返す。実行中にエラーが起きた場合 panic する。

func MustFilterBy added in v0.0.5

func MustFilterBy[V any](p *V, f func(V) (bool, error)) *V

条件を満たす値だけのポインタを返す。実行中にエラーが起きた場合 panic する。

func MustFilterNotBy added in v0.0.5

func MustFilterNotBy[V any](p *V, f func(V) (bool, error)) *V

条件を満たす値を除いたポインタを返す。実行中にエラーが起きた場合 panic する。

func MustFindBy added in v0.0.5

func MustFindBy[V any](p *V, f func(V) (bool, error)) (V, bool)

条件を満たす値を返す。実行中にエラーが起きた場合 panic する。

func MustFlatMap added in v0.0.5

func MustFlatMap[V1 any, V2 any](p *V1, f func(V1) (*V2, error)) *V2

値をポインタに変換し、それらを結合したポインタを返す。実行中にエラーが起きた場合 panic する。

func MustFold added in v0.0.5

func MustFold[V1 any, V2 any](p *V1, v V2, f func(V2, V1) (V2, error)) V2

初期値と値を順に演算する。実行中にエラーが起きた場合 panic する。

func MustForAllBy added in v0.0.5

func MustForAllBy[V any](p *V, f func(V) (bool, error)) bool

すべての値が条件を満たせばtrueを返す。実行中にエラーが起きた場合 panic する。

func MustForEach added in v0.0.5

func MustForEach[V any](p *V, f func(V) error)

値ごとに関数を実行する。実行中にエラーが起きた場合 panic する。

func MustGetOrFunc added in v0.0.5

func MustGetOrFunc[V any](p *V, f func() (V, error)) V

値を返す。無い場合は関数の実行結果を返す。実行中にエラーが起きた場合 panic する。

func MustGroupBy added in v0.0.5

func MustGroupBy[K comparable, V any](p *V, f func(V) (K, error)) map[K][]V

値ごとに関数の返すキーでグルーピングしたマップを返す。実行中にエラーが起きた場合 panic する。

func MustIndexBy added in v0.0.5

func MustIndexBy[V any](p *V, f func(V) (bool, error)) int

条件を満たす最初の値の位置を返す。実行中にエラーが起きた場合 panic する。

func MustLastIndexBy added in v0.0.5

func MustLastIndexBy[V any](p *V, f func(V) (bool, error)) int

条件を満たす最後の値の位置を返す。実行中にエラーが起きた場合 panic する。

func MustMap added in v0.0.5

func MustMap[V1 any, V2 any](p *V1, f func(V1) (V2, error)) *V2

値を変換したポインタを返す。実行中にエラーが起きた場合 panic する。

func MustMaxBy added in v0.0.5

func MustMaxBy[V1 any, V2 constraints.Ordered](p *V1, f func(V1) (V2, error)) V2

値を変換して最大の値を返す。実行中にエラーが起きた場合 panic する。

func MustMinBy added in v0.0.5

func MustMinBy[V1 any, V2 constraints.Ordered](p *V1, f func(V1) (V2, error)) V2

値を変換して最小の値を返す。実行中にエラーが起きた場合 panic する。

func MustPartitionBy added in v0.0.5

func MustPartitionBy[V any](p *V, f func(V) (bool, error)) (*V, *V)

条件を満たすポインタと満たさないポインタを返す。実行中にエラーが起きた場合 panic する。

func MustReduce added in v0.0.5

func MustReduce[V any](p *V, f func(V, V) (V, error)) V

値を順に演算する。実行中にエラーが起きた場合 panic する。

func MustSpanBy added in v0.0.5

func MustSpanBy[V any](p *V, f func(V) (bool, error)) (*V, *V)

条件を満たし続ける先頭部分と残りの部分、ふたつのポインタを返す。実行中にエラーが起きた場合 panic する。

func MustSplitAfterBy added in v0.0.5

func MustSplitAfterBy[V any](p *V, f func(V) (bool, error)) (*V, *V)

条件を満たす値の直後で分割したふたつのポインタを返す。実行中にエラーが起きた場合 panic する。

func MustSplitBy added in v0.0.5

func MustSplitBy[V any](p *V, f func(V) (bool, error)) (*V, *V)

条件を満たす値の直前で分割したふたつのポインタを返す。実行中にエラーが起きた場合 panic する。

func MustSumBy added in v0.0.5

func MustSumBy[V1 any, V2 constraints.Ordered | constraints.Complex](p *V1, f func(V1) (V2, error)) V2

値を変換して合計を演算する。実行中にエラーが起きた場合 panic する。

func MustTakeWhileBy added in v0.0.5

func MustTakeWhileBy[V any](p *V, f func(V) (bool, error)) *V

条件を満たし続ける先頭の値のポインタを返す。実行中にエラーが起きた場合 panic する。

func Option

func Option[V any](v V, ok bool) *V

値と値の有無を受け取ってポインタをつくる。

func Partition

func Partition[V comparable](p *V, v V) (*V, *V)

値の一致するポインタと一致しないポインタを返す。

func PartitionBy

func PartitionBy[V any](p *V, f func(V) (bool, error)) (*V, *V, error)

条件を満たすポインタと満たさないポインタを返す。

func Reduce

func Reduce[V any](p *V, f func(V, V) (V, error)) (V, error)

値を順に演算する。

func Replace

func Replace[V comparable](p *V, old V, new V) *V

ひとつめのoldをnewで置き換えたポインタを返す。

func ReplaceAll

func ReplaceAll[V comparable](p *V, old V, new V) *V

すべてのoldをnewで置き換えたポインタを返す。

func Span

func Span[V comparable](p *V, v V) (*V, *V)

一致し続ける先頭部分と残りの部分、ふたつのポインタを返す。

func SpanBy

func SpanBy[V any](p *V, f func(V) (bool, error)) (*V, *V, error)

条件を満たし続ける先頭部分と残りの部分、ふたつのポインタを返す。

func Split

func Split[V comparable](p *V, v V) (*V, *V)

一致する値の直前で分割したふたつのポインタを返す。

func SplitAfter

func SplitAfter[V comparable](p *V, v V) (*V, *V)

一致する値の直後で分割したふたつのポインタを返す。

func SplitAfterBy

func SplitAfterBy[V any](p *V, f func(V) (bool, error)) (*V, *V, error)

条件を満たす値の直後で分割したふたつのポインタを返す。

func SplitBy

func SplitBy[V any](p *V, f func(V) (bool, error)) (*V, *V, error)

条件を満たす値の直前で分割したふたつのポインタを返す。

func StartsWith

func StartsWith[V comparable](p *V, subset *V) bool

先頭が他のポインタと一致していたらtrueを返す。

func Sum

func Sum[V constraints.Ordered | constraints.Complex](p *V) V

値の合計を演算する。

func SumBy

func SumBy[V1 any, V2 constraints.Ordered | constraints.Complex](p *V1, f func(V1) (V2, error)) (V2, error)

値を変換して合計を演算する。

func Take

func Take[V any](p *V, n int) *V

先頭n個の値のポインタを返す。

func TakeWhile

func TakeWhile[V comparable](p *V, v V) *V

一致し続ける先頭の値のポインタを返す。

func TakeWhileBy

func TakeWhileBy[V any](p *V, f func(V) (bool, error)) (*V, error)

条件を満たし続ける先頭の値のポインタを返す。

func ToIter

func ToIter[V any](p *V) iter.Iter[V]

ポインタからイテレータをつくる。

func ToSlice

func ToSlice[V any](p *V) []V

ポインタからスライスをつくる。

func Unzip2

func Unzip2[V1 any, V2 any](p *tuple.T2[V1, V2]) (*V1, *V2)

値のペアを分離して2つのポインタを返す。

func Unzip3

func Unzip3[V1 any, V2 any, V3 any](p *tuple.T3[V1, V2, V3]) (*V1, *V2, *V3)

値のペアを分離して3つのポインタを返す。

func Unzip4

func Unzip4[V1 any, V2 any, V3 any, V4 any](p *tuple.T4[V1, V2, V3, V4]) (*V1, *V2, *V3, *V4)

値のペアを分離して4つのポインタを返す。

func Unzip5

func Unzip5[V1 any, V2 any, V3 any, V4 any, V5 any](p *tuple.T5[V1, V2, V3, V4, V5]) (*V1, *V2, *V3, *V4, *V5)

値のペアを分離して5つのポインタを返す。

func Unzip6

func Unzip6[V1 any, V2 any, V3 any, V4 any, V5 any, V6 any](p *tuple.T6[V1, V2, V3, V4, V5, V6]) (*V1, *V2, *V3, *V4, *V5, *V6)

値のペアを分離して6つのポインタを返す。

func Zip2

func Zip2[V1 any, V2 any](p1 *V1, p2 *V2) *tuple.T2[V1, V2]

2つのポインタの同じ位置の値をペアにしたポインタを返す。

func Zip3

func Zip3[V1 any, V2 any, V3 any](p1 *V1, p2 *V2, p3 *V3) *tuple.T3[V1, V2, V3]

3つのポインタの同じ位置の値をペアにしたポインタを返す。

func Zip4

func Zip4[V1 any, V2 any, V3 any, V4 any](p1 *V1, p2 *V2, p3 *V3, p4 *V4) *tuple.T4[V1, V2, V3, V4]

4つのポインタの同じ位置の値をペアにしたポインタを返す。

func Zip5

func Zip5[V1 any, V2 any, V3 any, V4 any, V5 any](p1 *V1, p2 *V2, p3 *V3, p4 *V4, p5 *V5) *tuple.T5[V1, V2, V3, V4, V5]

5つのポインタの同じ位置の値をペアにしたポインタを返す。

func Zip6

func Zip6[V1 any, V2 any, V3 any, V4 any, V5 any, V6 any](p1 *V1, p2 *V2, p3 *V3, p4 *V4, p5 *V5, p6 *V6) *tuple.T6[V1, V2, V3, V4, V5, V6]

6つのポインタの同じ位置の値をペアにしたポインタを返す。

func ZipWithIndex

func ZipWithIndex[V any](p *V) *tuple.T2[V, int]

値と位置をペアにしたポインタを返す。

Types

This section is empty.

Jump to

Keyboard shortcuts

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