Documentation
¶
Overview ¶
Package list implements a generic doubly linked list. It is re-implementation of container/list with generics.
Index ¶
- func All[T comparable](l *List[T], value T) bool
- func AllBy[T any](l *List[T], f func(int, T) bool) bool
- func Any[T comparable](l *List[T], value T) bool
- func AnyBy[T any](l *List[T], f func(index int, value T) bool) bool
- func Count[T comparable](l *List[T], value T) int
- func CountBy[T any](l *List[T], f func(index int, value T) bool) int
- func Reduce[T, U any](l *List[T], f func(i int, acc U, item T) U, init U) U
- func Unzip2[T1, T2 any](l *List[tuple.Tuple2[T1, T2]]) (*List[T1], *List[T2])
- func Unzip3[T1, T2, T3 any](l *List[tuple.Tuple3[T1, T2, T3]]) (*List[T1], *List[T2], *List[T3])
- func Unzip4[T1, T2, T3, T4 any](l *List[tuple.Tuple4[T1, T2, T3, T4]]) (*List[T1], *List[T2], *List[T3], *List[T4])
- func Unzip5[T1, T2, T3, T4, T5 any](l *List[tuple.Tuple5[T1, T2, T3, T4, T5]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5])
- func Unzip6[T1, T2, T3, T4, T5, T6 any](l *List[tuple.Tuple6[T1, T2, T3, T4, T5, T6]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6])
- func Unzip7[T1, T2, T3, T4, T5, T6, T7 any](l *List[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7])
- func Unzip8[T1, T2, T3, T4, T5, T6, T7, T8 any](l *List[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], ...)
- func Unzip9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](l *List[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], ...)
- func Unzip10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](l *List[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], ...)
- func Unzip11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 any](l *List[tuple.Tuple11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], ...)
- func Unzip12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 any](l *List[tuple.Tuple12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], ...)
- func Unzip13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 any](l *List[tuple.Tuple13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], ...)
- func Unzip14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 any](...) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], ...)
- func Unzip15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 any](...) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], ...)
- func Unzip16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 any](...) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], ...)
- type Element
- type List
- func Filter[T any](l *List[T], f func(index int, value T) bool) *List[T]
- func FilterFalse[T any](l *List[T], f func(index int, value T) bool) *List[T]
- func Map[T, U any](l *List[T], f func(int, T) U) *List[U]
- func New[T any]() *List[T]
- func Zip2[T1, T2 any](l1 *List[T1], l2 *List[T2]) *List[tuple.Tuple2[T1, T2]]
- func Zip3[T1, T2, T3 any](l1 *List[T1], l2 *List[T2], l3 *List[T3]) *List[tuple.Tuple3[T1, T2, T3]]
- func Zip4[T1, T2, T3, T4 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4]) *List[tuple.Tuple4[T1, T2, T3, T4]]
- func Zip5[T1, T2, T3, T4, T5 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5]) *List[tuple.Tuple5[T1, T2, T3, T4, T5]]
- func Zip6[T1, T2, T3, T4, T5, T6 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], ...) *List[tuple.Tuple6[T1, T2, T3, T4, T5, T6]]
- func Zip7[T1, T2, T3, T4, T5, T6, T7 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], ...) *List[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
- func Zip8[T1, T2, T3, T4, T5, T6, T7, T8 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], ...) *List[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
- func Zip9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], ...) *List[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
- func Zip10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], ...) *List[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
- func Zip11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], ...) *List[tuple.Tuple11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11]]
- func Zip12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], ...) *List[tuple.Tuple12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12]]
- func Zip13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], ...) *List[tuple.Tuple13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13]]
- func Zip14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], ...) ...
- func Zip15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], ...) ...
- func Zip16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], ...) ...
- func (l *List[T]) Back() *Element[T]
- func (l *List[T]) Front() *Element[T]
- func (l *List[T]) Init() *List[T]
- func (l *List[T]) InsertAfter(v T, mark *Element[T]) *Element[T]
- func (l *List[T]) InsertBefore(v T, mark *Element[T]) *Element[T]
- func (l *List[T]) Len() int
- func (l *List[T]) MoveAfter(e, mark *Element[T])
- func (l *List[T]) MoveBefore(e, mark *Element[T])
- func (l *List[T]) MoveToBack(e *Element[T])
- func (l *List[T]) MoveToFront(e *Element[T])
- func (l *List[T]) PushBack(v T) *Element[T]
- func (l *List[T]) PushBackList(other *List[T])
- func (l *List[T]) PushFront(v T) *Element[T]
- func (l *List[T]) PushFrontList(other *List[T])
- func (l *List[T]) Remove(e *Element[T]) T
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func All ¶
func All[T comparable](l *List[T], value T) bool
All returns whether all elements of l are value.
Example ¶
package main
import (
"fmt"
"github.com/shogo82148/hi/list"
)
func main() {
var l list.List[int]
l.PushBack(5)
l.PushBack(5)
l.PushBack(5)
l.PushBack(5)
l.PushBack(5)
fmt.Println(list.All(&l, 5))
fmt.Println(list.Any(&l, 6))
}
Output: true false
func AllBy ¶
AllBy returns whether f returns true for all elements in l.
Example ¶
package main
import (
"fmt"
"github.com/shogo82148/hi/list"
)
func main() {
var l list.List[int]
l.PushBack(1)
l.PushBack(2)
l.PushBack(3)
l.PushBack(4)
l.PushBack(5)
fmt.Println(list.AllBy(&l, func(_, v int) bool { return v > 0 }))
fmt.Println(list.AllBy(&l, func(_, v int) bool { return v > 3 }))
}
Output: true false
func Any ¶
func Any[T comparable](l *List[T], value T) bool
Any returns whether l has value at least one.
Example ¶
package main
import (
"fmt"
"github.com/shogo82148/hi/list"
)
func main() {
var l list.List[int]
l.PushBack(1)
l.PushBack(2)
l.PushBack(3)
l.PushBack(4)
l.PushBack(5)
fmt.Println(list.Any(&l, 5))
fmt.Println(list.Any(&l, 6))
}
Output: true false
func AnyBy ¶
AnyBy returns whether l has an element for that f returns true.
Example ¶
package main
import (
"fmt"
"github.com/shogo82148/hi/list"
)
func main() {
var l list.List[int]
l.PushBack(1)
l.PushBack(2)
l.PushBack(3)
l.PushBack(4)
l.PushBack(5)
fmt.Println(list.AnyBy(&l, func(_, v int) bool { return v > 3 }))
fmt.Println(list.AnyBy(&l, func(_, v int) bool { return v > 5 }))
}
Output: true false
func Count ¶
func Count[T comparable](l *List[T], value T) int
Count counts the number of elements in the collection that compare equal to value.
Example ¶
package main
import (
"fmt"
"github.com/shogo82148/hi/list"
)
func main() {
var l list.List[int]
l.PushBack(3)
l.PushBack(1)
l.PushBack(4)
l.PushBack(1)
l.PushBack(5)
l.PushBack(9)
l.PushBack(2)
l.PushBack(6)
l.PushBack(5)
l.PushBack(3)
l.PushBack(5)
cnt := list.Count(&l, 5)
fmt.Println(cnt)
}
Output: 3
func CountBy ¶
CountBy counts the number of elements that counter returns true.
Example ¶
package main
import (
"fmt"
"github.com/shogo82148/hi/list"
)
func main() {
var l list.List[int]
l.PushBack(1)
l.PushBack(2)
l.PushBack(3)
l.PushBack(4)
l.PushBack(5)
cnt := list.CountBy(&l, func(_, v int) bool { return v > 3 })
fmt.Println(cnt)
}
Output: 2
func Unzip2 ¶
Unzip2 converts a list of 2-tuple to lists of each elements.
Example ¶
package main
import (
"fmt"
"github.com/shogo82148/hi/list"
"github.com/shogo82148/hi/tuple"
)
func main() {
var l list.List[tuple.Tuple2[int, string]]
l.PushBack(tuple.New2(1, "one"))
l.PushBack(tuple.New2(2, "two"))
l.PushBack(tuple.New2(3, "three"))
l1, l2 := list.Unzip2(&l)
for e := l1.Front(); e != nil; e = e.Next() {
fmt.Println(e.Value)
}
for e := l2.Front(); e != nil; e = e.Next() {
fmt.Println(e.Value)
}
}
Output: 1 2 3 one two three
func Unzip4 ¶
func Unzip4[T1, T2, T3, T4 any](l *List[tuple.Tuple4[T1, T2, T3, T4]]) (*List[T1], *List[T2], *List[T3], *List[T4])
Unzip4 converts a list of 4-tuple to lists of each elements.
func Unzip5 ¶
func Unzip5[T1, T2, T3, T4, T5 any](l *List[tuple.Tuple5[T1, T2, T3, T4, T5]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5])
Unzip5 converts a list of 5-tuple to lists of each elements.
func Unzip6 ¶
func Unzip6[T1, T2, T3, T4, T5, T6 any](l *List[tuple.Tuple6[T1, T2, T3, T4, T5, T6]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6])
Unzip6 converts a list of 6-tuple to lists of each elements.
func Unzip7 ¶
func Unzip7[T1, T2, T3, T4, T5, T6, T7 any](l *List[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7])
Unzip7 converts a list of 7-tuple to lists of each elements.
func Unzip8 ¶
func Unzip8[T1, T2, T3, T4, T5, T6, T7, T8 any](l *List[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], *List[T8])
Unzip8 converts a list of 8-tuple to lists of each elements.
func Unzip9 ¶
func Unzip9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](l *List[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], *List[T8], *List[T9])
Unzip9 converts a list of 9-tuple to lists of each elements.
func Unzip10 ¶
func Unzip10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](l *List[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], *List[T8], *List[T9], *List[T10])
Unzip10 converts a list of 10-tuple to lists of each elements.
func Unzip11 ¶
func Unzip11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 any](l *List[tuple.Tuple11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], *List[T8], *List[T9], *List[T10], *List[T11])
Unzip11 converts a list of 11-tuple to lists of each elements.
func Unzip12 ¶
func Unzip12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 any](l *List[tuple.Tuple12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], *List[T8], *List[T9], *List[T10], *List[T11], *List[T12])
Unzip12 converts a list of 12-tuple to lists of each elements.
func Unzip13 ¶
func Unzip13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 any](l *List[tuple.Tuple13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], *List[T8], *List[T9], *List[T10], *List[T11], *List[T12], *List[T13])
Unzip13 converts a list of 13-tuple to lists of each elements.
func Unzip14 ¶
func Unzip14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 any](l *List[tuple.Tuple14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], *List[T8], *List[T9], *List[T10], *List[T11], *List[T12], *List[T13], *List[T14])
Unzip14 converts a list of 14-tuple to lists of each elements.
func Unzip15 ¶
func Unzip15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 any](l *List[tuple.Tuple15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], *List[T8], *List[T9], *List[T10], *List[T11], *List[T12], *List[T13], *List[T14], *List[T15])
Unzip15 converts a list of 15-tuple to lists of each elements.
func Unzip16 ¶
func Unzip16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 any](l *List[tuple.Tuple16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16]]) (*List[T1], *List[T2], *List[T3], *List[T4], *List[T5], *List[T6], *List[T7], *List[T8], *List[T9], *List[T10], *List[T11], *List[T12], *List[T13], *List[T14], *List[T15], *List[T16])
Unzip16 converts a list of 16-tuple to lists of each elements.
Types ¶
type Element ¶
type Element[T any] struct { Value T // contains filtered or unexported fields }
type List ¶
type List[T any] struct { // contains filtered or unexported fields }
func Filter ¶
Filter iterates over elements of collection, returning a list of all elements predicate returns true for.
Example ¶
package main
import (
"fmt"
"github.com/shogo82148/hi/list"
)
func main() {
var l list.List[int]
l.PushBack(1)
l.PushBack(2)
l.PushBack(3)
l.PushBack(4)
l.PushBack(5)
m := list.Filter(&l, func(_, v int) bool { return v > 3 })
for e := m.Front(); e != nil; e = e.Next() {
fmt.Println(e.Value)
}
}
Output: 4 5
func FilterFalse ¶
FilterFalse iterates over elements of collection, returning a list of all elements predicate returns false for.
func Zip2 ¶
Zip2 returns a list of 2-tuples. The returned list have the length of the shortest list.
Example ¶
package main
import (
"fmt"
"github.com/shogo82148/hi/list"
)
func main() {
var l1 list.List[int]
var l2 list.List[string]
l1.PushBack(1)
l1.PushBack(2)
l1.PushBack(3)
l2.PushBack("one")
l2.PushBack("two")
l2.PushBack("three")
l := list.Zip2(&l1, &l2)
for e := l.Front(); e != nil; e = e.Next() {
fmt.Println(e.Value)
}
}
Output: (1, one) (2, two) (3, three)
func Zip3 ¶
Zip3 returns a list of 3-tuples. The returned list have the length of the shortest list.
func Zip4 ¶
func Zip4[T1, T2, T3, T4 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4]) *List[tuple.Tuple4[T1, T2, T3, T4]]
Zip4 returns a list of 4-tuples. The returned list have the length of the shortest list.
func Zip5 ¶
func Zip5[T1, T2, T3, T4, T5 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5]) *List[tuple.Tuple5[T1, T2, T3, T4, T5]]
Zip5 returns a list of 5-tuples. The returned list have the length of the shortest list.
func Zip6 ¶
func Zip6[T1, T2, T3, T4, T5, T6 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], l6 *List[T6]) *List[tuple.Tuple6[T1, T2, T3, T4, T5, T6]]
Zip6 returns a list of 6-tuples. The returned list have the length of the shortest list.
func Zip7 ¶
func Zip7[T1, T2, T3, T4, T5, T6, T7 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], l6 *List[T6], l7 *List[T7]) *List[tuple.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
Zip7 returns a list of 7-tuples. The returned list have the length of the shortest list.
func Zip8 ¶
func Zip8[T1, T2, T3, T4, T5, T6, T7, T8 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], l6 *List[T6], l7 *List[T7], l8 *List[T8]) *List[tuple.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
Zip8 returns a list of 8-tuples. The returned list have the length of the shortest list.
func Zip9 ¶
func Zip9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], l6 *List[T6], l7 *List[T7], l8 *List[T8], l9 *List[T9]) *List[tuple.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
Zip9 returns a list of 9-tuples. The returned list have the length of the shortest list.
func Zip10 ¶
func Zip10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], l6 *List[T6], l7 *List[T7], l8 *List[T8], l9 *List[T9], l10 *List[T10]) *List[tuple.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
Zip10 returns a list of 10-tuples. The returned list have the length of the shortest list.
func Zip11 ¶
func Zip11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], l6 *List[T6], l7 *List[T7], l8 *List[T8], l9 *List[T9], l10 *List[T10], l11 *List[T11]) *List[tuple.Tuple11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11]]
Zip11 returns a list of 11-tuples. The returned list have the length of the shortest list.
func Zip12 ¶
func Zip12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], l6 *List[T6], l7 *List[T7], l8 *List[T8], l9 *List[T9], l10 *List[T10], l11 *List[T11], l12 *List[T12]) *List[tuple.Tuple12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12]]
Zip12 returns a list of 12-tuples. The returned list have the length of the shortest list.
func Zip13 ¶
func Zip13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], l6 *List[T6], l7 *List[T7], l8 *List[T8], l9 *List[T9], l10 *List[T10], l11 *List[T11], l12 *List[T12], l13 *List[T13]) *List[tuple.Tuple13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13]]
Zip13 returns a list of 13-tuples. The returned list have the length of the shortest list.
func Zip14 ¶
func Zip14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], l6 *List[T6], l7 *List[T7], l8 *List[T8], l9 *List[T9], l10 *List[T10], l11 *List[T11], l12 *List[T12], l13 *List[T13], l14 *List[T14]) *List[tuple.Tuple14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14]]
Zip14 returns a list of 14-tuples. The returned list have the length of the shortest list.
func Zip15 ¶
func Zip15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], l6 *List[T6], l7 *List[T7], l8 *List[T8], l9 *List[T9], l10 *List[T10], l11 *List[T11], l12 *List[T12], l13 *List[T13], l14 *List[T14], l15 *List[T15]) *List[tuple.Tuple15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15]]
Zip15 returns a list of 15-tuples. The returned list have the length of the shortest list.
func Zip16 ¶
func Zip16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 any](l1 *List[T1], l2 *List[T2], l3 *List[T3], l4 *List[T4], l5 *List[T5], l6 *List[T6], l7 *List[T7], l8 *List[T8], l9 *List[T9], l10 *List[T10], l11 *List[T11], l12 *List[T12], l13 *List[T13], l14 *List[T14], l15 *List[T15], l16 *List[T16]) *List[tuple.Tuple16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16]]
Zip16 returns a list of 16-tuples. The returned list have the length of the shortest list.
func (*List[T]) InsertAfter ¶
InsertAfter inserts a new element e with value v immediately after mark and returns e. If mark is not an element of l, the list is not modified. The mark must not be nil.
func (*List[T]) InsertBefore ¶
InsertBefore inserts a new element e with value v immediately before mark and returns e. If mark is not an element of l, the list is not modified. The mark must not be nil.
func (*List[T]) MoveAfter ¶
MoveAfter moves element e to its new position after mark. If e or mark is not an element of l, or e == mark, the list is not modified. The element and mark must not be nil.
func (*List[T]) MoveBefore ¶
MoveBefore moves element e to its new position before mark. If e or mark is not an element of l, or e == mark, the list is not modified. The element and mark must not be nil.
func (*List[T]) MoveToBack ¶
MoveToBack moves element e to the back of list l. If e is not an element of l, the list is not modified. The element must not be nil.
func (*List[T]) MoveToFront ¶
MoveToFront moves element e to the front of list l. If e is not an element of l, the list is not modified. The element must not be nil.
func (*List[T]) PushBack ¶
PushBack inserts a new element e with value v at the back of list l and returns e.
func (*List[T]) PushBackList ¶
PushBackList inserts a copy of another list at the back of list l. The lists l and other may be the same. They must not be nil.
func (*List[T]) PushFront ¶
PushFront inserts a new element e with value v at the front of list l and returns e.
func (*List[T]) PushFrontList ¶
PushFrontList inserts a copy of another list at the front of list l. The lists l and other may be the same. They must not be nil.