@Override public DocIdSetIterator iterator() throws IOException { if (cardinality == 0) { return null; } return new Iterator(); }
@Override public int advance(int target) throws IOException { final int targetBlock = target >>> 16; if (targetBlock != block) { block = targetBlock; if (block >= docIdSets.length) { sub = null; return doc = NO_MORE_DOCS; } if (docIdSets[block] == null) { return firstDocFromNextBlock(); } sub = docIdSets[block].iterator(); } final int subNext = sub.advance(target & 0xFFFF); if (subNext == NO_MORE_DOCS) { return firstDocFromNextBlock(); } return doc = (block << 16) | subNext; }
@Override public int advance(int target) throws IOException { final int targetBlock = target >>> 16; if (targetBlock != block) { block = targetBlock; if (block >= docIdSets.length) { sub = null; return doc = NO_MORE_DOCS; } if (docIdSets[block] == null) { return firstDocFromNextBlock(); } sub = docIdSets[block].iterator(); } final int subNext = sub.advance(target & 0xFFFF); if (subNext == NO_MORE_DOCS) { return firstDocFromNextBlock(); } return doc = (block << 16) | subNext; }
@Override public int advance(int target) throws IOException { final int targetBlock = target >>> 16; if (targetBlock != block) { block = targetBlock; if (block >= docIdSets.length) { sub = null; return doc = NO_MORE_DOCS; } if (docIdSets[block] == null) { return firstDocFromNextBlock(); } sub = docIdSets[block].iterator(); } final int subNext = sub.advance(target & 0xFFFF); if (subNext == NO_MORE_DOCS) { return firstDocFromNextBlock(); } return doc = (block << 16) | subNext; }
@Override public int nextDoc() throws IOException { final int subNext = sub.nextDoc(); if (subNext == NO_MORE_DOCS) { return firstDocFromNextBlock(); } return doc = (block << 16) | subNext; }
@Override public DocIdSetIterator iterator() throws IOException { if (cardinality == 0) { return null; } return new Iterator(); }
@Override public int nextDoc() throws IOException { final int subNext = sub.nextDoc(); if (subNext == NO_MORE_DOCS) { return firstDocFromNextBlock(); } return doc = (block << 16) | subNext; }
@Override public DocIdSetIterator iterator() throws IOException { if (cardinality == 0) { return null; } return new Iterator(); }
@Override public int nextDoc() throws IOException { final int subNext = sub.nextDoc(); if (subNext == NO_MORE_DOCS) { return firstDocFromNextBlock(); } return doc = (block << 16) | subNext; }
@Override public int advance(int target) throws IOException { final int targetBlock = target >>> 16; if (targetBlock != block) { block = targetBlock; if (block >= docIdSets.length) { sub = null; return doc = NO_MORE_DOCS; } if (docIdSets[block] == null) { return firstDocFromNextBlock(); } sub = docIdSets[block].iterator(); } final int subNext = sub.advance(target & 0xFFFF); if (subNext == NO_MORE_DOCS) { return firstDocFromNextBlock(); } return doc = (block << 16) | subNext; }
@Override public DocIdSetIterator iterator() throws IOException { if (cardinality == 0) { return null; } return new Iterator(); }
@Override public int nextDoc() throws IOException { final int subNext = sub.nextDoc(); if (subNext == NO_MORE_DOCS) { return firstDocFromNextBlock(); } return doc = (block << 16) | subNext; }