diff options
Diffstat (limited to 'vendor/zendframework/zend-stdlib/src/SplPriorityQueue.php')
-rw-r--r-- | vendor/zendframework/zend-stdlib/src/SplPriorityQueue.php | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/vendor/zendframework/zend-stdlib/src/SplPriorityQueue.php b/vendor/zendframework/zend-stdlib/src/SplPriorityQueue.php deleted file mode 100644 index 029d8e9..0000000 --- a/vendor/zendframework/zend-stdlib/src/SplPriorityQueue.php +++ /dev/null @@ -1,91 +0,0 @@ -<?php -/** - * Zend Framework (http://framework.zend.com/) - * - * @link http://github.com/zendframework/zf2 for the canonical source repository - * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - */ - -namespace Zend\Stdlib; - -use Serializable; - -/** - * Serializable version of 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). - */ -class SplPriorityQueue extends \SplPriorityQueue implements Serializable -{ - /** - * @var int Seed used to ensure queue order for items of the same priority - */ - protected $serial = PHP_INT_MAX; - - /** - * Insert 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. - * - * @param mixed $datum - * @param mixed $priority - * @return void - */ - public function insert($datum, $priority) - { - if (!is_array($priority)) { - $priority = array($priority, $this->serial--); - } - parent::insert($datum, $priority); - } - - /** - * Serialize to an array - * - * Array will be priority => data pairs - * - * @return array - */ - public function toArray() - { - $array = array(); - foreach (clone $this as $item) { - $array[] = $item; - } - return $array; - } - - /** - * Serialize - * - * @return string - */ - public function serialize() - { - $clone = clone $this; - $clone->setExtractFlags(self::EXTR_BOTH); - - $data = array(); - foreach ($clone as $item) { - $data[] = $item; - } - - return serialize($data); - } - - /** - * Deserialize - * - * @param string $data - * @return void - */ - public function unserialize($data) - { - foreach (unserialize($data) as $item) { - $this->insert($item['data'], $item['priority']); - } - } -} |