Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.

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

(no description)

File Size: 164 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

return: integer

current()   X-Ref

return: mixed

key()   X-Ref

return: mixed

next()   X-Ref

return: void

rewind()   X-Ref

return: void

valid()   X-Ref

return: boolean

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


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