Package org.python.modules.itertools

# Class cycle

java.lang.Object
org.python.core.PyObject
org.python.core.PyIterator
org.python.modules.itertools.cycle

All Implemented Interfaces:
  `Serializable`, `Iterable<Object>`, `Traverseproc`

Direct Known Subclasses:
  `cycleDerived`

public class cycle extends PyIterator

See Also:
  - Serialized Form

## Nested Class Summary

## Nested classes/interfaces inherited from class org.python.core.PyObject

`PyObject.ConversionException`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`cycle_doc`
`static final PyType`
`TYPE`

### Fields inherited from class org.python.core.PyIterator

`__doc__next`

### Fields inherited from class org.python.core.PyObject

`gcMonitorGlobal`

## Constructor Summary

Constructors
Constructor
Description
`cycle()`
`cycle(PyObject sequence)`
Creates an iterator that iterates over an iterable, saving the values for each iteration.
`cycle(PyType subType)`

## Method Summary

Modifier and Type
Method
Description
`PyObject`
`__iternext__()`
Return the next element of the sequence that this is an iterator for.
`PyObject`
`next()`
The exposed next method.
`boolean`
`refersDirectlyTo(PyObject ob)`
Optional operation.
`int`
`traverse(Visitproc visit, Object arg)`
Traverses all directly contained `PyObject`s.

### Methods inherited from class org.python.core.PyIterator

`__iter__, __tojava__, iterator`

### Methods inherited from class org.python.core.PyObject

`__abs__, __add__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delattr__, __delete__, __delitem__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __ensure_finalizer__, __eq__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __format__, __ge__, __get__, __getattr__, __getattr__, __getitem__, __getitem__, __getnewargs__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __index__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __itruediv__, __ixor__, __le__, __len__, __long__, __lshift__, __lt__, __mod__, __mul__, __ne__, __neg__, __nonzero__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __reduce__, __reduce_ex__, __reduce_ex__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __truediv__, __trunc__, __unicode__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _doset, _eq, _floordiv, _ge, _gt, _iadd, _iand, _idiv, _idivmod, _ifloordiv, _ilshift, _imod, _imul, _in, _ior, _ipow, _irshift, _is, _isnot, _isub, _itruediv, _ixor, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _xor, asDouble, asIndex, asIndex, asInt, asInt, asIterable, asLong, asLong, asName, asName, asString, asString, asStringOrNull, asStringOrNull, bit_length, conjugate, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getType, hashCode, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isInteger, isMappingType, isNumberType, isSequenceType, noAttributeError, object___subclasshook__, readonlyAttributeError, setDict, setType, toString`

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

`getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

## Field Details

### TYPE

public static final PyType TYPE

### cycle_doc

public static final String cycle_doc

See Also:
  - Constant Field Values

## Constructor Details

### cycle

public cycle()

### cycle

public cycle(PyType subType)

### cycle

public cycle(PyObject sequence)
Creates an iterator that iterates over an iterable, saving the values for each iteration. When the iterable is exhausted continues to iterate over the saved values indefinitely.

## Method Details

### __iternext__

public PyObject __iternext__()
Description copied from class: `PyObject`
Return the next element of the sequence that this is an iterator for. Returns null when the end of the sequence is reached.

Specified by:
  `__iternext__` in class `PyIterator`

### next

public PyObject next()
Description copied from class: `PyIterator`
The exposed next method. Note that exposed derivable subclasses of PyIterator should override next to call doNext(custom___iternext__), as __iternext__ is overridden by the Derived classes.

Overrides:
  `next` in class `PyIterator`
Returns:
  a PyObject result

### traverse

public int traverse(Visitproc visit, Object arg)
Description copied from interface: `Traverseproc`
Traverses all directly contained `PyObject`s. Like in CPython, `arg` must be passed unmodified to `visit` as its second parameter. If `Visitproc.visit(PyObject, Object)` returns nonzero, this return value must be returned immediately by traverse. `Visitproc.visit(PyObject, Object)` must not be called with a `null` PyObject-argument.

Specified by:
  `traverse` in interface `Traverseproc`
Overrides:
  `traverse` in class `PyIterator`

### refersDirectlyTo

public boolean refersDirectlyTo(PyObject ob)
Description copied from interface: `Traverseproc`
Optional operation. Should only be implemented if it is more efficient than calling `Traverseproc.traverse(Visitproc, Object)` with a visitproc that just watches out for `ob`. Must return `false` if `ob` is `null`.

Specified by:
  `refersDirectlyTo` in interface `Traverseproc`
Overrides:
  `refersDirectlyTo` in class `PyIterator`