Class: Antlr4::Runtime::Array2DHashSet::SetIterator
- Inherits:
-
Object
- Object
- Antlr4::Runtime::Array2DHashSet::SetIterator
- Defined in:
- lib/antlr4/runtime/array_2d_hash_set.rb
Instance Method Summary collapse
- #has_next ⇒ Object
-
#initialize(data, parent) ⇒ SetIterator
constructor
A new instance of SetIterator.
- #next ⇒ Object
- #remove ⇒ Object
Constructor Details
#initialize(data, parent) ⇒ SetIterator
Returns a new instance of SetIterator.
390 391 392 393 394 395 |
# File 'lib/antlr4/runtime/array_2d_hash_set.rb', line 390 def initialize(data, parent) @data = data @parent = parent @next_index = 0 @removed = true end |
Instance Method Details
#has_next ⇒ Object
397 398 399 |
# File 'lib/antlr4/runtime/array_2d_hash_set.rb', line 397 def has_next @next_index < @data.length end |
#next ⇒ Object
401 402 403 404 405 406 407 408 |
# File 'lib/antlr4/runtime/array_2d_hash_set.rb', line 401 def next raise StandardError unless has_next @removed = false result = @data[@next_index] @next_index += 1 result end |
#remove ⇒ Object
410 411 412 413 414 415 |
# File 'lib/antlr4/runtime/array_2d_hash_set.rb', line 410 def remove raise IllegalStateException if @removed parent.remove(@data[@next_index - 1]) @removed = true end |