|
SPL-StandardPHPLibrary
|


Public Member Functions | |
| __call ($func, $params) | |
| __construct (Iterator $it) | |
| accept () | |
| current () | |
| getInnerIterator () | |
| key () | |
| next () | |
| rewind () | |
| valid () | |
Protected Member Functions | |
| __clone () | |
| fetch () | |
Private Attributes | |
| $it | |
Abstract filter for iterators.
Instances of this class act as a filter around iterators. In other words you can put an iterator into the constructor and the instance will only return selected (accepted) elements.
The only thing that needs to be done to make this work is implementing method accept(). Typically this invloves reading the current element or key of the inner Iterator and checking whether it is acceptable.
Definition at line 26 of file filteriterator.inc.
| FilterIterator::__construct | ( | Iterator $ | it | ) |
Constructs a filter around another iterator.
| it | Iterator to filter |
Definition at line 35 of file filteriterator.inc.
References $it.
{
$this->it = $it;
}
| FilterIterator::__call | ( | $ | func, |
| $ | params | ||
| ) |
Aggregate the inner iterator.
| func | Name of method to invoke |
| params | Array of parameters to pass to method |
Reimplemented in SearchIterator.
Definition at line 121 of file filteriterator.inc.
{
return call_user_func_array(array($this->it, $func), $params);
}
| FilterIterator::__clone | ( | ) | [protected] |
hidden __clone
Reimplemented in KeyFilter.
Definition at line 104 of file filteriterator.inc.
{
// disallow clone
}
| FilterIterator::accept | ( | ) | [abstract] |
Accept function to decide whether an element of the inner iterator should be accessible through the Filteriterator.
Reimplemented in RegexIterator, CallbackFilterIterator, FindFile, KeyFilter, RegexFindFile, DirectoryFilterDots, and ParentIterator.
Referenced by fetch().
| FilterIterator::current | ( | ) |
Implements Iterator.
Reimplemented in RegexIterator, CallbackFilterIterator, and IniGroups.
Definition at line 97 of file filteriterator.inc.
Referenced by RegexFindFile\accept(), and FindFile\accept().
{
return $this->it->current();
}
| FilterIterator::fetch | ( | ) | [protected] |
| FilterIterator::getInnerIterator | ( | ) |
Implements OuterIterator.
Definition at line 111 of file filteriterator.inc.
Referenced by SearchIterator\__call(), DirectoryFilterDots\accept(), KeyFilter\accept(), RecursiveRegexIterator\getChildren(), RecursiveFilterIterator\getChildren(), RecursiveRegexIterator\hasChildren(), RecursiveFilterIterator\hasChildren(), and DirectoryFilterDots\key().
{
return $this->it;
}
| FilterIterator::key | ( | ) |
Implements Iterator.
Reimplemented in RegexIterator, CallbackFilterIterator, IniGroups, and DirectoryFilterDots.
Definition at line 90 of file filteriterator.inc.
Referenced by KeyFilter\accept().
{
return $this->it->key();
}
| FilterIterator::next | ( | ) |
Move to next element.
Implements Iterator.
Reimplemented in SearchIterator.
Definition at line 75 of file filteriterator.inc.
References fetch().
{
$this->it->next();
$this->fetch();
}

| FilterIterator::rewind | ( | ) |
Rewind the inner iterator.
Implements Iterator.
Reimplemented in SearchIterator.
Definition at line 42 of file filteriterator.inc.
References fetch().
{
$this->it->rewind();
$this->fetch();
}

| FilterIterator::valid | ( | ) |
Implements Iterator.
Reimplemented in SearchIterator.
Definition at line 83 of file filteriterator.inc.
{
return $this->it->valid();
}
FilterIterator::$it [private] |
Definition at line 28 of file filteriterator.inc.
Referenced by FindFile\__construct(), and __construct().
1.7.5.1