class Hamster::MutableQueue

@api private

Public Class Methods

[](*items) click to toggle source
# File lib/hamster/experimental/mutable_queue.rb, line 9
def self.[](*items)
  MutableQueue.new(Deque[*items])
end

Public Instance Methods

dequeue() click to toggle source
# File lib/hamster/experimental/mutable_queue.rb, line 17
def dequeue
  head = nil
  transform do |queue|
    head = queue.head
    queue.dequeue
  end
  head
end
enqueue(item) click to toggle source
# File lib/hamster/experimental/mutable_queue.rb, line 13
def enqueue(item)
  transform { |queue| queue.enqueue(item) }
end