MediaWiki  1.33.0
MappedIterator Class Reference

Convenience class for generating iterators from iterators. More...

Inheritance diagram for MappedIterator:
Collaboration diagram for MappedIterator:

Public Member Functions

 __construct ( $iter, $vCallback, array $options=[])
 Build an new iterator from a base iterator by having the former wrap the later, returning the result of "value" callback for each current() invocation. More...
 
 accept ()
 
 current ()
 
 key ()
 
 next ()
 
 rewind ()
 
 valid ()
 

Protected Member Functions

 init ()
 Obviate the usual need for rewind() before using a FilterIterator in a manual loop. More...
 

Protected Attributes

callable $aCallback
 
array $cache = []
 
 $rewound = false
 
callable $vCallback
 

Detailed Description

Convenience class for generating iterators from iterators.

Since
1.21

Definition at line 28 of file MappedIterator.php.

Constructor & Destructor Documentation

◆ __construct()

MappedIterator::__construct (   $iter,
  $vCallback,
array  $options = [] 
)

Build an new iterator from a base iterator by having the former wrap the later, returning the result of "value" callback for each current() invocation.

The callback takes the result of current() on the base iterator as an argument. The keys of the base iterator are reused verbatim.

An "accept" callback can also be provided which will be called for each value in the base iterator (post-callback) and will return true if that value should be included in iteration of the MappedIterator (otherwise it will be filtered out).

Parameters
Iterator | Array$iter
callable$vCallbackValue transformation callback
array$optionsOptions map (includes "accept") (since 1.22)
Exceptions
UnexpectedValueException

Definition at line 53 of file MappedIterator.php.

References $options, and $vCallback.

Member Function Documentation

◆ accept()

MappedIterator::accept ( )

Definition at line 77 of file MappedIterator.php.

References $aCallback, $value, cache, and current().

◆ current()

MappedIterator::current ( )

Definition at line 99 of file MappedIterator.php.

References cache, and init().

Referenced by accept().

◆ init()

MappedIterator::init ( )
protected

Obviate the usual need for rewind() before using a FilterIterator in a manual loop.

Definition at line 111 of file MappedIterator.php.

References rewind().

Referenced by current(), key(), and valid().

◆ key()

MappedIterator::key ( )

Definition at line 87 of file MappedIterator.php.

References init(), and key.

◆ next()

MappedIterator::next ( )

Definition at line 66 of file MappedIterator.php.

References cache.

◆ rewind()

MappedIterator::rewind ( )

Definition at line 71 of file MappedIterator.php.

References cache.

Referenced by init().

◆ valid()

MappedIterator::valid ( )

Definition at line 93 of file MappedIterator.php.

References init().

Member Data Documentation

◆ $aCallback

callable MappedIterator::$aCallback
protected

Definition at line 32 of file MappedIterator.php.

Referenced by accept().

◆ $cache

array MappedIterator::$cache = []
protected

Definition at line 34 of file MappedIterator.php.

◆ $rewound

MappedIterator::$rewound = false
protected

Definition at line 36 of file MappedIterator.php.

◆ $vCallback

callable MappedIterator::$vCallback
protected

Definition at line 30 of file MappedIterator.php.

Referenced by __construct().


The documentation for this class was generated from the following file: