| // Copyright 2009 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package array |
| |
| import "array" |
| |
| export type IntArray struct { |
| // TODO do not export field |
| array.Array; |
| } |
| |
| |
| func (p *IntArray) Init(len int) *IntArray { |
| p.Array.Init(len); |
| return p; |
| } |
| |
| |
| export func NewIntArray(len int) *IntArray { |
| return new(*IntArray).Init(len) |
| } |
| |
| |
| func (p *IntArray) At(i int) int { |
| return p.Array.At(i).(int) |
| } |
| |
| |
| func (p *IntArray) Set(i int, x int) { |
| p.Array.Set(i, x) |
| } |
| |
| |
| func (p *IntArray) Last() int { |
| return p.Array.Last().(int) |
| } |
| |
| |
| func (p *IntArray) Insert(i int, x int) { |
| p.Array.Insert(i, x) |
| } |
| |
| |
| func (p *IntArray) Remove(i int) int { |
| return p.Array.Remove(i).(int) |
| } |
| |
| |
| func (p *IntArray) Push(x int) { |
| p.Array.Push(x) |
| } |
| |
| |
| func (p *IntArray) Pop() int { |
| return p.Array.Pop().(int) |
| } |
| |
| |
| // SortInterface support |
| func (p *IntArray) Less(i, j int) bool { |
| return p.At(i) < p.At(j) |
| } |