Stdlib/SplPriorityQueue.php
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Stdlib
\SplPriorityQueue
PHP 5.2.X userland implementation of PHP's SplPriorityQueue
- Implements
- Children
- \Zend_Stdlib_SplPriorityQueue
Constants
Properties

int $extractFlags = self::EXTR_DATAself::EXTR_DATADetails- Type
- int
Methods

compare(mixed $priority1, mixed $priority2) : intCompare two priorities
Returns positive integer if $priority1 is greater than $priority2, 0 if equal, negative otherwise.
Unused internally, and only included in order to retain the same interface as PHP's SplPriorityQueue.
| Name | Type | Description |
|---|---|---|
| $priority1 | mixed | |
| $priority2 | mixed |
| Type | Description |
|---|---|
| int |

extract() : \mixed;Extract a node from top of the heap and sift up
Returns either the value, the priority, or both, depending on the extract flag.
| Type | Description |
|---|---|
| \mixed; |

insert(mixed $value, mixed $priority) : voidInsert a value into the heap, at the specified priority
| Name | Type | Description |
|---|---|---|
| $value | mixed | |
| $priority | mixed |

recoverFromCorruption() : voidRecover from corrupted state and allow further actions on the queue
Unimplemented, and only included in order to retain the same interface as PHP's SplPriorityQueue.

setExtractFlags(int $flags) : voidSet the extract flags
Defines what is extracted by SplPriorityQueue::current(), SplPriorityQueue::top() and SplPriorityQueue::extract().
- SplPriorityQueue::EXTR_DATA (0x00000001): Extract the data
- SplPriorityQueue::EXTR_PRIORITY (0x00000002): Extract the priority
- SplPriorityQueue::EXTR_BOTH (0x00000003): Extract an array containing both
The default mode is SplPriorityQueue::EXTR_DATA.
| Name | Type | Description |
|---|---|---|
| $flags | int |

top() : mixedReturn the value or priority (or both) of the top node, depending on the extract flag
| Type | Description |
|---|---|
| mixed |
\Zend_Stdlib_SplPriorityQueue
Also, provides predictable heap order for datums added with the same priority (i.e., they will be emitted in the same order they are enqueued).
- Implements
- Parent(s)
- \SplPriorityQueue
- Children
- \Zend_EventManager_Filter_FilterIterator
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Constants
EXTR_BOTH
= 3- Inherited_from
- \SplPriorityQueue::EXTR_BOTH
Properties

int $extractFlags = self::EXTR_DATAself::EXTR_DATADetails- Type
- int
- Inherited_from
- \SplPriorityQueue::$$extractFlags

bool|array $preparedQueue = falsefalseDetails- Type
- bool | array
- Inherited_from
- \SplPriorityQueue::$$preparedQueue
Methods

compare(mixed $priority1, mixed $priority2) : intReturns positive integer if $priority1 is greater than $priority2, 0 if equal, negative otherwise.
Unused internally, and only included in order to retain the same interface as PHP's SplPriorityQueue.
| Name | Type | Description |
|---|---|---|
| $priority1 | mixed | |
| $priority2 | mixed |
| Type | Description |
|---|---|
| int |

count() : intCountable: return number of items composed in the queue
Inherited from: \SplPriorityQueue::count()| Type | Description |
|---|---|
| int |

extract() : \mixed;Extract a node from top of the heap and sift up
Inherited from: \SplPriorityQueue::extract()Returns either the value, the priority, or both, depending on the extract flag.
| Type | Description |
|---|---|
| \mixed; |

insert(mixed $datum, mixed $priority) : voidInsert a value with a given priority
Utilizes {@var $serial} to ensure that values of equal priority are emitted in the same order in which they are inserted.
| Name | Type | Description |
|---|---|---|
| $datum | mixed | |
| $priority | mixed |

prepareQueue() : voidPrepare the queue for iteration and/or extraction
Inherited from: \SplPriorityQueue::prepareQueue()
recoverFromCorruption() : voidRecover from corrupted state and allow further actions on the queue
Inherited from: \SplPriorityQueue::recoverFromCorruption()Unimplemented, and only included in order to retain the same interface as PHP's SplPriorityQueue.

setExtractFlags(int $flags) : voidDefines what is extracted by SplPriorityQueue::current(), SplPriorityQueue::top() and SplPriorityQueue::extract().
- SplPriorityQueue::EXTR_DATA (0x00000001): Extract the data
- SplPriorityQueue::EXTR_PRIORITY (0x00000002): Extract the priority
- SplPriorityQueue::EXTR_BOTH (0x00000003): Extract an array containing both
The default mode is SplPriorityQueue::EXTR_DATA.
| Name | Type | Description |
|---|---|---|
| $flags | int |

toArray() : arraySerialize to an array
Array will be priority => data pairs
| Type | Description |
|---|---|
| array |

top() : mixedReturn the value or priority (or both) of the top node, depending on the extract flag
Inherited from: \SplPriorityQueue::top()| Type | Description |
|---|---|
| mixed |

valid() : boolIterator: is the current position valid for the queue
Inherited from: \SplPriorityQueue::valid()| Type | Description |
|---|---|
| bool |