(n int64)
| 64 | } |
| 65 | |
| 66 | func (s *stack) bury(n int64) error { |
| 67 | if n < 0 || n >= int64(len(*s)) { |
| 68 | return errors.Wrapf(errors.WithData(ErrStackRange, "len(stack)", len(*s)), "bury %d", n) |
| 69 | } |
| 70 | v := *s |
| 71 | item := v[len(v)-1] |
| 72 | i := int64(len(v)) - n - 1 |
| 73 | copy(v[i+1:], v[i:len(v)-1]) |
| 74 | v[i] = item |
| 75 | return nil |
| 76 | } |
| 77 | |
| 78 | func (s *stack) Len() int { |
| 79 | return len(*s) |