Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.

Differences Between: [Versions 310 and 401] [Versions 311 and 401] [Versions 39 and 401] [Versions 400 and 401]

(no description)

File Size: 172 lines (4 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class

CachingIterator:: (9 methods):
  __construct()
  count()
  current()
  key()
  next()
  rewind()
  valid()
  exhaustIterator()
  storeCurrentItem()


Class: CachingIterator  - X-Ref

Iterator for wrapping a Traversable and caching its results.

By caching results, this iterators allows a Traversable to be counted and
rewound multiple times, even if the wrapped object does not natively support
those operations (e.g. MongoDB\Driver\Cursor).

__construct(Traversable $traversable)   X-Ref
Initialize the iterator and stores the first item in the cache. This
effectively rewinds the Traversable and the wrapping IteratorIterator.
Additionally, this mimics behavior of the SPL iterators and allows users
to omit an explicit call to rewind() before using the other methods.

param: Traversable $traversable

count()   X-Ref


current()   X-Ref

return: mixed

key()   X-Ref

return: mixed

next()   X-Ref


rewind()   X-Ref


valid()   X-Ref


exhaustIterator()   X-Ref
Ensures that the inner iterator is fully consumed and cached.


storeCurrentItem()   X-Ref
Stores the current item in the cache.