Object
@!macro priority_queue
@!visibility private @!macro internal_implementation_note
@!macro priority_queue_method_clear
# File lib/concurrent/collection/ruby_non_concurrent_priority_queue.rb, line 18 def clear @queue = [nil] @length = 0 true end
@!macro priority_queue_method_delete
# File lib/concurrent/collection/ruby_non_concurrent_priority_queue.rb, line 25 def delete(item) return false if empty? original_length = @length k = 1 while k <= @length if @queue[k] == item swap(k, @length) @length -= 1 sink(k) @queue.pop else k += 1 end end @length != original_length end
@!macro priority_queue_method_empty
# File lib/concurrent/collection/ruby_non_concurrent_priority_queue.rb, line 43 def empty? size == 0 end
@!macro priority_queue_method_include
# File lib/concurrent/collection/ruby_non_concurrent_priority_queue.rb, line 48 def include?(item) @queue.include?(item) end
@!macro priority_queue_method_length
# File lib/concurrent/collection/ruby_non_concurrent_priority_queue.rb, line 54 def length @length end
@!macro priority_queue_method_peek
# File lib/concurrent/collection/ruby_non_concurrent_priority_queue.rb, line 60 def peek empty? ? nil : @queue[1] end
@!macro priority_queue_method_pop
# File lib/concurrent/collection/ruby_non_concurrent_priority_queue.rb, line 65 def pop return nil if empty? max = @queue[1] swap(1, @length) @length -= 1 sink(1) @queue.pop max end
Generated with the Darkfish Rdoc Generator 2.