Class: Lite::Containers::TopN::Heap
- Inherits:
-
Object
- Object
- Lite::Containers::TopN::Heap
show all
- Includes:
- Abstract
- Defined in:
- lib/lite/containers/top_n/heap.rb
Constant Summary
collapse
- Backend =
Containers::Heap
Instance Attribute Summary
Attributes included from Abstract
#limit
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Abstract
#initialize, #push
#<<, #push
#count, #empty?, #length, #size
Class Method Details
.instance(type, limit: nil, filter: nil, key_extractor: nil) ⇒ Object
14
15
16
17
18
|
# File 'lib/lite/containers/top_n/heap.rb', line 14
def self.instance(type, limit: nil, filter: nil, key_extractor: nil)
comparison = Helpers::Comparison.instance(type, key_extractor: ).invert
backend = Backend.with_comparison(comparison)
new backend, limit, filter
end
|
Instance Method Details
#drain! ⇒ Object
24
25
26
|
# File 'lib/lite/containers/top_n/heap.rb', line 24
def drain!
@backend.drain!.reverse
end
|
#pop ⇒ Object
20
21
22
|
# File 'lib/lite/containers/top_n/heap.rb', line 20
def pop
@backend.pop
end
|