MediaWiki  1.28.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 29 of file MappedIterator.php.

Constructor & Destructor Documentation

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 54 of file MappedIterator.php.

References $options, and $vCallback.

Member Function Documentation

MappedIterator::accept ( )

Definition at line 78 of file MappedIterator.php.

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

MappedIterator::current ( )

Definition at line 100 of file MappedIterator.php.

References cache, and init().

Referenced by accept().

MappedIterator::init ( )
protected

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

Definition at line 112 of file MappedIterator.php.

References rewind().

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

MappedIterator::key ( )

Definition at line 88 of file MappedIterator.php.

References init(), and key.

MappedIterator::next ( )

Definition at line 67 of file MappedIterator.php.

References cache.

MappedIterator::rewind ( )

Definition at line 72 of file MappedIterator.php.

References cache.

Referenced by init().

MappedIterator::valid ( )

Definition at line 94 of file MappedIterator.php.

References init().

Member Data Documentation

callable MappedIterator::$aCallback
protected

Definition at line 33 of file MappedIterator.php.

Referenced by accept().

array MappedIterator::$cache = []
protected

Definition at line 35 of file MappedIterator.php.

MappedIterator::$rewound = false
protected

Definition at line 37 of file MappedIterator.php.

callable MappedIterator::$vCallback
protected

Definition at line 31 of file MappedIterator.php.

Referenced by __construct().


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