Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.0.x will end 8 May 2023 (12 months).
  • Bug fixes for security issues in 4.0.x will end 13 November 2023 (18 months).
  • PHP version: minimum PHP 7.3.0 Note: the minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is also supported.

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

(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.