org.apache.cassandra.utils.btree

## Class Cursor<K,V extends K>

- java.lang.Object
- - org.apache.cassandra.utils.btree.Path
  - - org.apache.cassandra.utils.btree.Cursor<K,V>

Type Parameters:
  `V` -

All Implemented Interfaces:
  java.util.Iterator<V>

    public final class Cursor<K,V extends K>
    extends Path
    implements java.util.Iterator<V>

An extension of Path which provides a public interface for iterating over or counting a subrange of the tree

### Constructor Summary

Constructors
Constructor and Description
`Cursor()`

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `count()`
`boolean` `hasNext()`
`V` `next()`
`void` `remove()`
`void` `reset(java.lang.Object[] btree, boolean forwards)` Reset this cursor for the provided tree, to iterate over its entire range
`void` `reset(java.lang.Object[] btree, java.util.Comparator<K> comparator, K lowerBound, boolean inclusiveLowerBound, K upperBound, boolean inclusiveUpperBound, boolean forwards)` Reset this cursor for the provided tree, to iterate between the provided start and end
`void` `reset(java.lang.Object[] btree, java.util.Comparator<K> comparator, K lowerBound, K upperBound, boolean forwards)` Reset this cursor for the provided tree, to iterate between the provided start and end

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface java.util.Iterator

`forEachRemaining`

### Constructor Detail

#### Cursor

    public Cursor()

### Method Detail

#### reset

    public void reset(java.lang.Object[] btree,
                      boolean forwards)

Reset this cursor for the provided tree, to iterate over its entire range

Parameters:
  `btree` - the tree to iterate over
  `forwards` - if false, the cursor will start at the end and move backwards

#### reset

    public void reset(java.lang.Object[] btree,
                      java.util.Comparator<K> comparator,
                      K lowerBound,
                      K upperBound,
                      boolean forwards)

Reset this cursor for the provided tree, to iterate between the provided start and end

Parameters:
  `btree` - the tree to iterate over
  `comparator` - the comparator that defines the ordering over the items in the tree
  `lowerBound` - the first item to include, inclusive
  `upperBound` - the last item to include, exclusive
  `forwards` - if false, the cursor will start at the end and move backwards

#### reset

    public void reset(java.lang.Object[] btree,
                      java.util.Comparator<K> comparator,
                      K lowerBound,
                      boolean inclusiveLowerBound,
                      K upperBound,
                      boolean inclusiveUpperBound,
                      boolean forwards)

Reset this cursor for the provided tree, to iterate between the provided start and end

Parameters:
  `btree` - the tree to iterate over
  `comparator` - the comparator that defines the ordering over the items in the tree
  `lowerBound` - the first item to include
  `inclusiveLowerBound` - should include start in the iterator, if present in the tree
  `upperBound` - the last item to include
  `inclusiveUpperBound` - should include end in the iterator, if present in the tree
  `forwards` - if false, the cursor will start at the end and move backwards

#### hasNext

    public boolean hasNext()

Specified by:
  `hasNext` in interface `java.util.Iterator<V extends K>`

#### next

    public V next()

Specified by:
  `next` in interface `java.util.Iterator<V extends K>`

#### count

    public int count()

#### remove

    public void remove()

Specified by:
  `remove` in interface `java.util.Iterator<V extends K>`