dynamic_array

package
v0.2.0 Latest Latest
Warning

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

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

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DynamicArray

type DynamicArray[T any] []T

A resizable array.

Equivalent to a slice.

func New added in v0.2.0

func New[T any]() DynamicArray[T]

func (*DynamicArray[T]) Back

func (d *DynamicArray[T]) Back() *T

Return a pointer to the last element.

Example
da := New[int]()

da.PushBack(42)
da.PushBack(12)
da.PushBack(99)

fmt.Println(*da.Back())
Output:

99

func (*DynamicArray[T]) Begin

func (d *DynamicArray[T]) Begin() Iterator[T]

Return an iterator points to the first element.

Example
da := DynamicArray[int]{1, 2, 3}
iter := da.Begin()
fmt.Print(iter.Get())
Output:

1

func (*DynamicArray[T]) Cap

func (d *DynamicArray[T]) Cap() int

Return the capacity.

Example
da := New[int]()

da.PushBack(42)
da.PushBack(12)
da.PushBack(99)

fmt.Println(da.Cap())
Output:

4

func (*DynamicArray[T]) End

func (d *DynamicArray[T]) End() Iterator[T]

Return an iterator one pass the last element.

Example
da := DynamicArray[int]{1, 2, 3}
iterator := da.End()
fmt.Print(iterator.index)
Output:

3

func (*DynamicArray[T]) Front

func (d *DynamicArray[T]) Front() *T

Return a pointer to the first element.

Example
da := New[int]()

da.PushBack(42)
da.PushBack(12)
da.PushBack(99)

fmt.Println(*da.Front())
Output:

42

func (*DynamicArray[T]) Len

func (d *DynamicArray[T]) Len() int

Return the number of element.

Example
da := New[int]()

da.PushBack(42)
da.PushBack(12)
da.PushBack(99)

fmt.Println(da.Len())
Output:

3

func (*DynamicArray[T]) PopBack

func (d *DynamicArray[T]) PopBack()

Remove the last element.

It also zero it for the GC to clean up.

Example
da := New[int]()

da.PushBack(42)
da.PushBack(12)

da.PopBack()

fmt.Println(da)
Output:

[42]

func (*DynamicArray[T]) PushBack

func (d *DynamicArray[T]) PushBack(e T)

Append e to the array.

Example
da := New[int]()

da.PushBack(42)
da.PushBack(12)

fmt.Println(da)
Output:

[42 12]

type Iterator

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

A dynamic array iterator that traverse element by indexing order.

Example
da := DynamicArray[int]{1, 2, 3}
for iter := da.Begin(); iter != da.End(); iter.Next() {
	fmt.Println(iter.Get())
	iter.Set(iter.Get() * 2)
}

for iter := da.Begin(); iter.HasNext(); iter.Next() {
	fmt.Println(iter.Get())
}
Output:

1
2
3
2
4
6

func (*Iterator[T]) Advance added in v0.2.0

func (i *Iterator[T]) Advance(n int)

Advance the iterator by n position.

func (*Iterator[T]) Get

func (i *Iterator[T]) Get() T

Return the value.

func (*Iterator[T]) HasNext

func (i *Iterator[T]) HasNext() bool

Return true if can advance.

func (*Iterator[T]) Next

func (i *Iterator[T]) Next()

Advance the iterator.

func (*Iterator[T]) Set added in v0.1.1

func (i *Iterator[T]) Set(value T)

Set the value.

Jump to

Keyboard shortcuts

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