Javolution 6.0.0 java
BitSetIteratorImpl.java
Go to the documentation of this file.
1 /*
2  * Javolution - Java(TM) Solution for Real-Time and Embedded Systems
3  * Copyright (C) 2012 - Javolution (http://javolution.org/)
4  * All rights reserved.
5  *
6  * Permission to use, copy, modify, and distribute this software is
7  * freely granted, provided that this notice is preserved.
8  */
9 package javolution.util.internal.bitset;
10 
11 import java.util.Iterator;
12 import java.util.NoSuchElementException;
13 
14 import javolution.util.Index;
16 
20 public final class BitSetIteratorImpl implements Iterator<Index> {
21 
22  private final BitSetService that;
23 
24  private int nextIndex;
25 
26  private int currentIndex = -1;
27 
28  public BitSetIteratorImpl(BitSetService that, int index) {
29  this.that = that;
30  this.nextIndex = that.nextSetBit(index);
31  }
32 
33  public boolean hasNext() {
34  return (nextIndex >= 0);
35  }
36 
37  public Index next() {
38  if (nextIndex < 0)
39  throw new NoSuchElementException();
42  return Index.valueOf(currentIndex);
43  }
44 
45  public void remove() {
46  if (currentIndex < 0)
47  throw new IllegalStateException();
49  currentIndex = -1;
50  }
51 }
javolution
javolution.util.service
Definition: BitSetService.java:9
javolution.util.Index.valueOf
static Index valueOf(int value)
Definition: Index.java:111
javolution.util.internal.bitset.BitSetIteratorImpl
Definition: BitSetIteratorImpl.java:20
javolution.util.internal.bitset.BitSetIteratorImpl.that
final BitSetService that
Definition: BitSetIteratorImpl.java:22
javolution.util.internal.bitset.BitSetIteratorImpl.hasNext
boolean hasNext()
Definition: BitSetIteratorImpl.java:33
javolution.util.internal.bitset.BitSetIteratorImpl.currentIndex
int currentIndex
Definition: BitSetIteratorImpl.java:26
javolution.util.service.BitSetService
Definition: BitSetService.java:23
javolution.util.Index
Definition: Index.java:44
javolution.util.service.BitSetService.nextSetBit
int nextSetBit(int fromIndex)
javolution.util.internal.bitset.BitSetIteratorImpl.nextIndex
int nextIndex
Definition: BitSetIteratorImpl.java:24
javolution.util.service.BitSetService.clear
void clear(int bitIndex)
javolution.util.internal.bitset.BitSetIteratorImpl.next
Index next()
Definition: BitSetIteratorImpl.java:37
javolution.util.internal.bitset.BitSetIteratorImpl.BitSetIteratorImpl
BitSetIteratorImpl(BitSetService that, int index)
Definition: BitSetIteratorImpl.java:28
javolution.util
Definition: FastBitSet.java:9