summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/esodata/Tape.java
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2017-10-08 22:39:59 -0300
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2017-10-08 22:39:59 -0300
commitc82e3b3b2de0633317ec8fc85925e91422820597 (patch)
tree96567416ce23c5ce85601f9cedc3a94bb1c55cba /BJC-Utils2/src/main/java/bjc/utils/esodata/Tape.java
parentb3ac1c8690c3e14c879913e5dcc03a5f5e14876e (diff)
Start splitting into maven modules
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/esodata/Tape.java')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/esodata/Tape.java126
1 files changed, 0 insertions, 126 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/esodata/Tape.java b/BJC-Utils2/src/main/java/bjc/utils/esodata/Tape.java
deleted file mode 100644
index b6a2c01..0000000
--- a/BJC-Utils2/src/main/java/bjc/utils/esodata/Tape.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package bjc.utils.esodata;
-
-/**
- * Interface for something that acts like a tape.
- *
- * A tape is essentially a 1D array with a cursor attached to it, and you can
- * only affect elements at that cursor. The size of the array is theoretically
- * unbounded to the right, but in practice bounded by available memory.
- *
- * @param <T>
- * The element type of the tape.
- *
- * @author bjculkin
- */
-public interface Tape<T> {
- /**
- * Get the item the tape is currently on.
- *
- * @return The item the tape is on.
- */
- T item();
-
- /**
- * Set the item the tape is currently on.
- *
- * @param itm
- * The new value for the tape item.
- */
- void item(T itm);
-
- /**
- * Get the current number of elements in the tape.
- *
- * @return The current number of elements in the tape.
- */
- int size();
-
- /**
- * Get the position of the current item.
- *
- * @return The position of the current item.
- */
- int position();
-
- /**
- * Insert an element before the current item.
- *
- * @param itm
- * The item to add.
- */
- void insertBefore(T itm);
-
- /**
- * Insert an element after the current item.
- *
- * @param itm
- * The item to insert.
- */
- void insertAfter(T itm);
-
- /**
- * Remove the current element.
- *
- * Also moves the cursor back one step if possible to maintain relative
- * position.
- *
- * @return The removed item.
- */
- T remove();
-
- /**
- * Move the cursor to the left-most position.
- */
- void first();
-
- /**
- * Move the cursor the right-most position.
- */
- void last();
-
- /**
- * Move the cursor one space left.
- *
- * The cursor can't go past zero.
- *
- * @return True if the cursor was moved left.
- */
- boolean left();
-
- /**
- * Move the cursor the specified amount left.
- *
- * The cursor can't go past zero. Attempts to move the cursor by amounts
- * that would exceed zero don't move the cursor at all.
- *
- * @param amt
- * The amount to attempt to move the cursor left.
- *
- * @return True if the cursor was moved left.
- */
- boolean left(int amt);
-
- /**
- * Move the cursor one space right.
- *
- * @return Whether the cursor was moved right.
- */
- boolean right();
-
- /**
- * Move the cursor the specified amount right.
- *
- * @param amt
- * The amount to move the cursor right by.
- *
- * @return Whether the cursor was moved right.
- */
- boolean right(int amt);
-
- /**
- * Is this tape double sided?
- *
- * @return Whether or not this tape is double-sided.
- */
- boolean isDoubleSided();
-}