## sdlip.helpers
Class RangeEnumerator

    java.lang.Object
      |
      +--sdlip.helpers.RangeEnumerator

public class RangeEnumerator
extends java.lang.Object

Enumerates integers using one-based selection. Examples: "1-" all positive integers "1,3-5,7" = "1,3,4,5,7" next() or nextRange() must be called before calling get() for the first time

Field Summary
`static int` `INFINITY`
`static int` `NONE`

Constructor Summary
`RangeEnumerator(java.lang.String selection)`

Method Summary
`int` `get()` Gets the current position -1: invalid position
`int` `limit()` Gets the current position -1: invalid position
`static void` `main(java.lang.String[] args)`
`boolean` `next()` moves the pointer to the next position false if no more
`boolean` `nextRange()` moves the pointer to the next range e.g., if range is 1-3,7-9,15- and get() returns 8, after nextRange(), get() will return 15.
`void` `set(int nv)` Sets the current position
`java.lang.String` `toString()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### NONE

    public static final int NONE

See Also:
  Constant Field Values

### INFINITY

    public static final int INFINITY

See Also:
  Constant Field Values

Constructor Detail

### RangeEnumerator

    public RangeEnumerator(java.lang.String selection)

Method Detail

### next

    public boolean next()

  moves the pointer to the next position false if no more

### nextRange

    public boolean nextRange()

  moves the pointer to the next range e.g., if range is 1-3,7-9,15- and get() returns 8, after nextRange(), get() will return 15. For all other cases, it behaves the same as next() false if no more

### get

    public int get()

  Gets the current position -1: invalid position

### limit

    public int limit()

  Gets the current position -1: invalid position

### set

    public void set(int nv)

  Sets the current position

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

### main

    public static void main(java.lang.String[] args)
                     throws java.lang.Exception

    `java.lang.Exception`