55 public function __construct( $iter, $vCallback, array $options = [] ) {
56 if ( is_array( $iter ) ) {
57 $baseIterator =
new ArrayIterator( $iter );
58 } elseif ( $iter instanceof Iterator ) {
59 $baseIterator = $iter;
61 throw new UnexpectedValueException(
"Invalid base iterator provided." );
63 parent::__construct( $baseIterator );
64 $this->vCallback = $vCallback;
65 $this->aCallback = $options[
'accept'] ??
null;