Class ByteStack

    • Constructor Detail

      • ByteStack

        public ByteStack()
        New instance with sane defaults.
      • ByteStack

        public ByteStack​(int expectedElements)
        New instance with sane defaults.
        Parameters:
        expectedElements - The expected number of elements guaranteed not to cause buffer expansion (inclusive).
      • ByteStack

        public ByteStack​(int expectedElements,
                         ArraySizingStrategy resizer)
        New instance with sane defaults.
        Parameters:
        expectedElements - The expected number of elements guaranteed not to cause buffer expansion (inclusive).
        resizer - Underlying buffer sizing strategy.
      • ByteStack

        public ByteStack​(ByteContainer container)
        Create a stack by pushing all elements of another container to it.
    • Method Detail

      • push

        public void push​(byte e1)
        Adds one byte to the stack.
      • push

        public void push​(byte e1,
                         byte e2)
        Adds two bytes to the stack.
      • push

        public void push​(byte e1,
                         byte e2,
                         byte e3)
        Adds three bytes to the stack.
      • push

        public void push​(byte e1,
                         byte e2,
                         byte e3,
                         byte e4)
        Adds four bytes to the stack.
      • push

        public void push​(byte[] elements,
                         int start,
                         int len)
        Add a range of array elements to the stack.
      • push

        public final void push​(byte... elements)
        Vararg-signature method for pushing elements at the top of the stack.

        This method is handy, but costly if used in tight loops (anonymous array passing)

      • pushAll

        public int pushAll​(ByteContainer container)
        Pushes all elements from another container to the top of the stack.
      • pushAll

        public int pushAll​(java.lang.Iterable<? extends ByteCursor> iterable)
        Pushes all elements from another iterable to the top of the stack.
      • discard

        public void discard​(int count)
        Discard an arbitrary number of elements from the top of the stack.
      • discard

        public void discard()
        Discard the top element from the stack.
      • pop

        public byte pop()
        Remove the top element from the stack and return it.
      • peek

        public byte peek()
        Peek at the top element on the stack.
      • from

        public static ByteStack from​(byte... elements)
        Create a stack by pushing a variable number of arguments to it.
      • clone

        public ByteStack clone()
        Clone this object. The returned clone will reuse the same hash function and array resizing strategy.
        Overrides:
        clone in class ByteArrayList