|
SPL-StandardPHPLibrary
|


Public Member Functions | |
| __call ($func, $params) | |
| __construct (Iterator $it, $callback, $mode=self::USE_VALUE, $flags=0) | |
| accept () | |
| current () | |
| getFlags () | |
| getInnerIterator () | |
| getMode () | |
| key () | |
| next () | |
| rewind () | |
| setFlags ($flags) | |
| setMode ($mode) | |
| valid () | |
Public Attributes | |
| const | REPLACE = 0x00000001 |
| const | USE_BOTH = 4 |
| const | USE_FALSE = 0 |
| const | USE_KEY = 3 |
| const | USE_TRUE = 1 |
| const | USE_VALUE = 2 |
Protected Member Functions | |
| __clone () | |
| fetch () | |
Private Attributes | |
| $callback | |
| $current | |
| $flags | |
| $key | |
| $mode | |
A non abstract FiletrIterator that uses a callback foreach element.
Definition at line 19 of file callbackfilteriterator.inc.
| CallbackFilterIterator::__construct | ( | Iterator $ | it, |
| $ | callback, | ||
| $ | mode = self::USE_VALUE, |
||
| $ | flags = 0 |
||
| ) |
Construct a CallbackFilterIterator.
| it | inner iterator (iterator to filter) |
| callback | callback function |
| mode | any of USE_VALUE, USE_KEY, USE_BOTH |
| flags | any of 0, REPLACE |
Definition at line 42 of file callbackfilteriterator.inc.
References $callback, $flags, and $mode.
{
parent::__construct($it);
$this->callback = $callback;
$this->mode = $mode;
$this->flags = $flags;
}
| FilterIterator::__call | ( | $ | func, |
| $ | params | ||
| ) | [inherited] |
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, inherited] |
hidden __clone
Reimplemented in KeyFilter.
Definition at line 104 of file filteriterator.inc.
{
// disallow clone
}
| CallbackFilterIterator::accept | ( | ) |
Call the filter callback.
Reimplemented from FilterIterator.
Definition at line 53 of file callbackfilteriterator.inc.
References current(), key(), and USE_FALSE.
{
$this->key = parent::key();
$this->current = parent::current();
switch($this->mode) {
default:
case self::USE_FALSE;
return false;
case self::USE_TRUE:
return true;
case self::USE_VALUE:
if($this->flags & self::REPLACE) {
return (bool) call_user_func($this->callback, &$this->current);
} else {
return (bool) call_user_func($this->callback, $this->current);
}
case self::USE_KEY:
if($this->flags & self::REPLACE) {
return (bool) call_user_func($this->callback, &$this->key);
} else {
return (bool) call_user_func($this->callback, $this->key);
}
case SELF::USE_BOTH:
if($this->flags & self::REPLACE) {
return (bool) call_user_func($this->callback, &$this->key, &$this->current);
} else {
return (bool) call_user_func($this->callback, $this->key, $this->current);
}
}
}

| CallbackFilterIterator::current | ( | ) |
Reimplemented from FilterIterator.
Definition at line 92 of file callbackfilteriterator.inc.
Referenced by accept().
{
return $this->current;
}
| FilterIterator::fetch | ( | ) | [protected, inherited] |
Fetch next element and store it.
Definition at line 61 of file filteriterator.inc.
References FilterIterator\accept().
Referenced by FilterIterator\next(), and FilterIterator\rewind().
{
while ($this->it->valid()) {
if ($this->accept()) {
return;
}
$this->it->next();
};
}

| CallbackFilterIterator::getFlags | ( | ) |
Definition at line 110 of file callbackfilteriterator.inc.
{
return $this->flags;
}
| FilterIterator::getInnerIterator | ( | ) | [inherited] |
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;
}
| CallbackFilterIterator::getMode | ( | ) |
Definition at line 98 of file callbackfilteriterator.inc.
{
return $this->mode;
}
| CallbackFilterIterator::key | ( | ) |
Reimplemented from FilterIterator.
Definition at line 86 of file callbackfilteriterator.inc.
Referenced by accept().
{
return $this->key;
}
| FilterIterator::next | ( | ) | [inherited] |
Move to next element.
Implements Iterator.
Reimplemented in SearchIterator.
Definition at line 75 of file filteriterator.inc.
References FilterIterator\fetch().
{
$this->it->next();
$this->fetch();
}

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

| CallbackFilterIterator::setFlags | ( | $ | flags | ) |
| $flags | set new flags, |
Definition at line 116 of file callbackfilteriterator.inc.
References $flags.
{
$this->flags = $flags;
}
| CallbackFilterIterator::setMode | ( | $ | mode | ) |
| $mode | set new mode, |
Definition at line 104 of file callbackfilteriterator.inc.
References $mode.
{
$this->mode = $mode;
}
| FilterIterator::valid | ( | ) | [inherited] |
Implements Iterator.
Reimplemented in SearchIterator.
Definition at line 83 of file filteriterator.inc.
{
return $this->it->valid();
}
CallbackFilterIterator::$callback [private] |
callback to use
Definition at line 29 of file callbackfilteriterator.inc.
Referenced by __construct().
CallbackFilterIterator::$current [private] |
current value
Definition at line 33 of file callbackfilteriterator.inc.
CallbackFilterIterator::$flags [private] |
flags (REPLACE)
Definition at line 31 of file callbackfilteriterator.inc.
Referenced by __construct(), and setFlags().
CallbackFilterIterator::$key [private] |
key value
Definition at line 32 of file callbackfilteriterator.inc.
CallbackFilterIterator::$mode [private] |
mode any of USE_VALUE, USE_KEY, USE_BOTH
Definition at line 30 of file callbackfilteriterator.inc.
Referenced by __construct(), and setMode().
| const CallbackFilterIterator::REPLACE = 0x00000001 |
flag: pass key/value by reference
Definition at line 27 of file callbackfilteriterator.inc.
| const CallbackFilterIterator::USE_BOTH = 4 |
mode: pass value and key to callback
Definition at line 25 of file callbackfilteriterator.inc.
| const CallbackFilterIterator::USE_FALSE = 0 |
mode: accept no elements, no callback
Definition at line 21 of file callbackfilteriterator.inc.
Referenced by accept().
| const CallbackFilterIterator::USE_KEY = 3 |
mode: pass key to callback
Definition at line 24 of file callbackfilteriterator.inc.
| const CallbackFilterIterator::USE_TRUE = 1 |
mode: accept all elements, no callback
Definition at line 22 of file callbackfilteriterator.inc.
| const CallbackFilterIterator::USE_VALUE = 2 |
mode: pass value to callback
Definition at line 23 of file callbackfilteriterator.inc.
1.7.5.1