MediaWiki  1.23.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=array())
 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 = array()
 
 $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

◆ __construct()

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

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

References $options, and $vCallback.

Member Function Documentation

◆ accept()

MappedIterator::accept ( )

Definition at line 75 of file MappedIterator.php.

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

◆ current()

MappedIterator::current ( )

Definition at line 97 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 109 of file MappedIterator.php.

References rewind().

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

◆ key()

MappedIterator::key ( )

Definition at line 85 of file MappedIterator.php.

References init(), and key.

◆ next()

MappedIterator::next ( )

Definition at line 64 of file MappedIterator.php.

References array(), and cache.

◆ rewind()

MappedIterator::rewind ( )

Definition at line 69 of file MappedIterator.php.

References array(), and cache.

Referenced by init().

◆ valid()

MappedIterator::valid ( )

Definition at line 91 of file MappedIterator.php.

References init().

Member Data Documentation

◆ $aCallback

callable MappedIterator::$aCallback
protected

Definition at line 31 of file MappedIterator.php.

Referenced by accept().

◆ $cache

array MappedIterator::$cache = array()
protected

Definition at line 32 of file MappedIterator.php.

◆ $rewound

MappedIterator::$rewound = false
protected

Definition at line 34 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: