diff options
Diffstat (limited to 'src/pkg/container/vector/vector.go')
-rw-r--r-- | src/pkg/container/vector/vector.go | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/src/pkg/container/vector/vector.go b/src/pkg/container/vector/vector.go index 986321b14..f43e4d23c 100644 --- a/src/pkg/container/vector/vector.go +++ b/src/pkg/container/vector/vector.go @@ -104,8 +104,8 @@ func (p *Vector) Set(i int, x interface{}) { (*p)[i] = x } func (p *Vector) Last() interface{} { return (*p)[len(*p)-1] } -// Data returns all the elements as a slice. -func (p *Vector) Data() []interface{} { +// Copy makes a copy of the vector and returns it. +func (p *Vector) Copy() Vector { arr := make(Vector, len(*p)) copy(arr, *p) return arr @@ -199,23 +199,6 @@ func (p *Vector) Swap(i, j int) { } -// Iterate over all elements; driver for range -func (p *Vector) iterate(c chan<- interface{}) { - for _, v := range *p { - c <- v - } - close(c) -} - - -// Channel iterator for range. -func (p *Vector) Iter() <-chan interface{} { - c := make(chan interface{}) - go p.iterate(c) - return c -} - - // Do calls function f for each element of the vector, in order. // The behavior of Do is undefined if f changes *p. func (p *Vector) Do(f func(elem interface{})) { |