diff options
| author | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2018-07-17 18:22:09 -0300 |
|---|---|---|
| committer | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2018-07-17 18:22:09 -0300 |
| commit | 27955d04989bf819c60632999ceaef4e985da6f7 (patch) | |
| tree | 4884b257da360b65d5c409799e40ce062c2dc7bd /base/src/main/java/bjc/utils/esodata/SingleTape.java | |
| parent | cb9ce4c0c6fd68b2aa7664eb7c143e186f3033f6 (diff) | |
Update tape interface
This adds a seekTo method, among other things
Diffstat (limited to 'base/src/main/java/bjc/utils/esodata/SingleTape.java')
| -rw-r--r-- | base/src/main/java/bjc/utils/esodata/SingleTape.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/base/src/main/java/bjc/utils/esodata/SingleTape.java b/base/src/main/java/bjc/utils/esodata/SingleTape.java index 636c04c..d57bc7f 100644 --- a/base/src/main/java/bjc/utils/esodata/SingleTape.java +++ b/base/src/main/java/bjc/utils/esodata/SingleTape.java @@ -163,6 +163,22 @@ public class SingleTape<T> implements Tape<T> { return true; } + public boolean seekTo(int tgtPos) { + if(tgtPos < 0) + return false; + + if(tgtPos >= backing.size() - 1) + if(autoExtend) + while(tgtPos >= backing.size() - 1) + backing.add(null); + else + return false; + + pos = tgtPos; + + return true; + } + @Override public int hashCode() { final int prime = 31; |
