summaryrefslogtreecommitdiffstats
path: root/vendor/ramsey/collection/src/AbstractSet.php
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 11:30:08 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 11:30:08 +0000
commit4ce65d59ca91871cfd126497158200a818720bce (patch)
treee277def01fc7eba7dbc21c4a4ae5576e8aa2cf1f /vendor/ramsey/collection/src/AbstractSet.php
parentInitial commit. (diff)
downloadicinga-php-library-96ecad332d1684426665842bfcebf1aa4692a020.tar.xz
icinga-php-library-96ecad332d1684426665842bfcebf1aa4692a020.zip
Adding upstream version 0.13.1.upstream/0.13.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/ramsey/collection/src/AbstractSet.php')
-rw-r--r--vendor/ramsey/collection/src/AbstractSet.php50
1 files changed, 50 insertions, 0 deletions
diff --git a/vendor/ramsey/collection/src/AbstractSet.php b/vendor/ramsey/collection/src/AbstractSet.php
new file mode 100644
index 0000000..3bd2296
--- /dev/null
+++ b/vendor/ramsey/collection/src/AbstractSet.php
@@ -0,0 +1,50 @@
+<?php
+
+/**
+ * This file is part of the ramsey/collection library
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ *
+ * @copyright Copyright (c) Ben Ramsey <ben@benramsey.com>
+ * @license http://opensource.org/licenses/MIT MIT
+ */
+
+declare(strict_types=1);
+
+namespace Ramsey\Collection;
+
+/**
+ * This class contains the basic implementation of a collection that does not
+ * allow duplicated values (a set), to minimize the effort required to implement
+ * this specific type of collection.
+ *
+ * @template T
+ * @template-extends AbstractCollection<T>
+ */
+abstract class AbstractSet extends AbstractCollection
+{
+ /**
+ * @inheritDoc
+ */
+ public function add($element): bool
+ {
+ if ($this->contains($element)) {
+ return false;
+ }
+
+ return parent::add($element);
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function offsetSet($offset, $value): void
+ {
+ if ($this->contains($value)) {
+ return;
+ }
+
+ parent::offsetSet($offset, $value);
+ }
+}