diff options
Diffstat (limited to 'ext/spl/internal/splobjectstorage.inc')
-rwxr-xr-x | ext/spl/internal/splobjectstorage.inc | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/ext/spl/internal/splobjectstorage.inc b/ext/spl/internal/splobjectstorage.inc deleted file mode 100755 index 56690f499b..0000000000 --- a/ext/spl/internal/splobjectstorage.inc +++ /dev/null @@ -1,118 +0,0 @@ -<?php - -/** @file splobjectstorage.inc - * @ingroup SPL - * @brief class SplObjectStorage - * @author Marcus Boerger - * @date 2003 - 2005 - * - * SPL - Standard PHP Library - */ - -/** - * @brief Object storage - * @author Marcus Boerger - * @version 1.0 - * @since PHP 6.0 - * - * This container allows to store objects uniquly without the need to compare - * them one by one. This is only possible internally. The code represenation - * here therefore has a complexity of O(n) while the actual implementation has - * complexity O(1). - */ -class SplObjectStorage implements Iterator, Countable -{ - private $storage = array(); - private $index = 0; - - /** Rewind to top iterator as set in constructor - */ - function rewind() - { - rewind($this->storage); - } - - /** @return whether iterator is valid - */ - function valid() - { - return key($this->storage) !== false; - } - - /** @return current key - */ - function key() - { - return $this->index; - } - - /** @return current object - */ - function current() - { - return current($this->storage); - } - - /** Forward to next element - */ - function next() - { - next($this->storage); - $this->index++; - } - - /** @return number of objects in storage - */ - function count() - { - return count($this->storage); - } - - /** @param obj object to look for - * @return whether $obj is contained in storage - */ - function contains($obj) - { - if (is_object($obj)) - { - foreach($this->storage as $object) - { - if ($object === $obj) - { - return true; - } - } - } - return false; - } - - /** @param $obj new object to attach to storage if not yet contained - */ - function attach($obj) - { - if (is_object($obj) && !$this->contains($obj)) - { - $this->storage[] = $obj; - } - } - - /** @param $obj object to remove from storage - */ - function detach($obj) - { - if (is_object($obj)) - { - foreach($this->storage as $idx => $object) - { - if ($object === $obj) - { - unset($this->storage[$idx]); - $this->rewind(); - return; - } - } - } - } -} - -?>
\ No newline at end of file |