diff options
author | Fazlul Shahriar <fshahriar@gmail.com> | 2010-05-31 15:53:55 -0700 |
---|---|---|
committer | Fazlul Shahriar <fshahriar@gmail.com> | 2010-05-31 15:53:55 -0700 |
commit | 55453a7019a59e01ecba0864822b718212aef058 (patch) | |
tree | 178e526302b8f81c9baa0fbb84fd2828e8e9fd64 | |
parent | 79b0c08ebd51a92acae1f8afcd30e98ef60e4b38 (diff) | |
download | golang-55453a7019a59e01ecba0864822b718212aef058.tar.gz |
vector: undo changes to autogenerated files
Also, move Do() to vector.go, so that Do() for IntVector and StringVector
is autogenerated.
The only files edited are Makefile, defs.go, and vector.go. The rest are
autogenerated with "make generate".
R=r
CC=golang-dev, hoisie
http://codereview.appspot.com/1435041
Committer: Rob Pike <r@golang.org>
-rw-r--r-- | src/pkg/container/vector/Makefile | 2 | ||||
-rw-r--r-- | src/pkg/container/vector/defs.go | 27 | ||||
-rw-r--r-- | src/pkg/container/vector/intvector.go | 9 | ||||
-rw-r--r-- | src/pkg/container/vector/intvector_test.go | 15 | ||||
-rw-r--r-- | src/pkg/container/vector/stringvector.go | 9 | ||||
-rw-r--r-- | src/pkg/container/vector/stringvector_test.go | 21 | ||||
-rw-r--r-- | src/pkg/container/vector/vector.go | 9 |
7 files changed, 50 insertions, 42 deletions
diff --git a/src/pkg/container/vector/Makefile b/src/pkg/container/vector/Makefile index ffd8937a7..c456c6a6c 100644 --- a/src/pkg/container/vector/Makefile +++ b/src/pkg/container/vector/Makefile @@ -44,6 +44,7 @@ generate: vector.go vector_test.go | gofmt -r='TestDo -> TestIntDo'\ | gofmt -r='TestIter -> TestIntIter'\ | gofmt -r='TestVectorData -> TestIntVectorData'\ + | gofmt -r='interface{} -> int'\ > intvector_test.go\ < vector_test.go cat\ @@ -66,4 +67,5 @@ generate: vector.go vector_test.go | gofmt -r='TestDo -> TestStrDo'\ | gofmt -r='TestIter -> TestStrIter'\ | gofmt -r='TestVectorData -> TestStrVectorData'\ + | gofmt -r='interface{} -> string'\ > stringvector_test.go diff --git a/src/pkg/container/vector/defs.go b/src/pkg/container/vector/defs.go index 7502865c9..a2febb6de 100644 --- a/src/pkg/container/vector/defs.go +++ b/src/pkg/container/vector/defs.go @@ -49,30 +49,3 @@ func (p *IntVector) Less(i, j int) bool { return (*p)[i] < (*p)[j] } // Less returns a boolean denoting whether the i'th element is less than the j'th element. func (p *StringVector) Less(i, j int) bool { return (*p)[i] < (*p)[j] } - - -// 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{})) { - for _, e := range *p { - f(e) - } -} - - -// Do calls function f for each element of the vector, in order. -// The behavior of Do is undefined if f changes *p. -func (p *IntVector) Do(f func(elem int)) { - for _, e := range *p { - f(e) - } -} - - -// Do calls function f for each element of the vector, in order. -// The behavior of Do is undefined if f changes *p. -func (p *StringVector) Do(f func(elem string)) { - for _, e := range *p { - f(e) - } -} diff --git a/src/pkg/container/vector/intvector.go b/src/pkg/container/vector/intvector.go index 708108b18..6aad358e3 100644 --- a/src/pkg/container/vector/intvector.go +++ b/src/pkg/container/vector/intvector.go @@ -214,3 +214,12 @@ func (p *IntVector) Iter() <-chan int { 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 *IntVector) Do(f func(elem int)) { + for _, e := range *p { + f(e) + } +} diff --git a/src/pkg/container/vector/intvector_test.go b/src/pkg/container/vector/intvector_test.go index b8900478b..c80dd52cc 100644 --- a/src/pkg/container/vector/intvector_test.go +++ b/src/pkg/container/vector/intvector_test.go @@ -279,8 +279,9 @@ func TestIntDo(t *testing.T) { a.Set(i, int2IntValue(salt*i)) } count := 0 - a.Do(func(i int) { - if i != count*salt { + a.Do(func(e int) { + i := intf2IntValue(e) + if i != int2IntValue(count*salt) { t.Error(tname(a), "value at", count, "should be", count*salt, "not", i) } count++ @@ -294,8 +295,9 @@ func TestIntDo(t *testing.T) { (*b)[i] = int2IntValue(salt * i) } count = 0 - b.Do(func(i int) { - if i != count*salt { + b.Do(func(e int) { + i := intf2IntValue(e) + if i != int2IntValue(count*salt) { t.Error(tname(b), "b) value at", count, "should be", count*salt, "not", i) } count++ @@ -310,8 +312,9 @@ func TestIntDo(t *testing.T) { c[i] = int2IntValue(salt * i) } count = 0 - c.Do(func(i int) { - if i != count*salt { + c.Do(func(e int) { + i := intf2IntValue(e) + if i != int2IntValue(count*salt) { t.Error(tname(c), "c) value at", count, "should be", count*salt, "not", i) } count++ diff --git a/src/pkg/container/vector/stringvector.go b/src/pkg/container/vector/stringvector.go index 86563ca20..ddc030f81 100644 --- a/src/pkg/container/vector/stringvector.go +++ b/src/pkg/container/vector/stringvector.go @@ -214,3 +214,12 @@ func (p *StringVector) Iter() <-chan string { 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 *StringVector) Do(f func(elem string)) { + for _, e := range *p { + f(e) + } +} diff --git a/src/pkg/container/vector/stringvector_test.go b/src/pkg/container/vector/stringvector_test.go index 5bc8a626b..859dac2fd 100644 --- a/src/pkg/container/vector/stringvector_test.go +++ b/src/pkg/container/vector/stringvector_test.go @@ -279,9 +279,10 @@ func TestStrDo(t *testing.T) { a.Set(i, int2StrValue(salt*i)) } count := 0 - a.Do(func(s string) { - if s != int2StrValue(count*salt) { - t.Error(tname(a), "value at", count, "should be", count*salt, "not", s) + a.Do(func(e string) { + i := intf2StrValue(e) + if i != int2StrValue(count*salt) { + t.Error(tname(a), "value at", count, "should be", count*salt, "not", i) } count++ }) @@ -294,9 +295,10 @@ func TestStrDo(t *testing.T) { (*b)[i] = int2StrValue(salt * i) } count = 0 - b.Do(func(s string) { - if s != int2StrValue(count*salt) { - t.Error(tname(b), "b) value at", count, "should be", count*salt, "not", s) + b.Do(func(e string) { + i := intf2StrValue(e) + if i != int2StrValue(count*salt) { + t.Error(tname(b), "b) value at", count, "should be", count*salt, "not", i) } count++ }) @@ -310,9 +312,10 @@ func TestStrDo(t *testing.T) { c[i] = int2StrValue(salt * i) } count = 0 - c.Do(func(s string) { - if s != int2StrValue(count*salt) { - t.Error(tname(c), "c) value at", count, "should be", count*salt, "not", s) + c.Do(func(e string) { + i := intf2StrValue(e) + if i != int2StrValue(count*salt) { + t.Error(tname(c), "c) value at", count, "should be", count*salt, "not", i) } count++ }) diff --git a/src/pkg/container/vector/vector.go b/src/pkg/container/vector/vector.go index 077172096..986321b14 100644 --- a/src/pkg/container/vector/vector.go +++ b/src/pkg/container/vector/vector.go @@ -214,3 +214,12 @@ func (p *Vector) Iter() <-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{})) { + for _, e := range *p { + f(e) + } +} |