PluginProbe
Defender Security – Malware Scanner, Login Security & Firewall / 5.7.0
Defender Security – Malware Scanner, Login Security & Firewall v5.7.0
6.3.0 6.2.3 6.2.4 6.2.0 6.2.1 6.2.2 6.1.0 5.3.1 5.4.0 5.4.1 5.5.0 5.5.1 5.6.0 5.6.1 5.6.2 5.7.0 5.7.1 5.7.2 5.8.0 5.8.1 5.9.0 6.0.0 6.0.1 3.0.1 3.1.0 All 141 releases
defender-security / vendor / ramsey / collection / src / Set.php

Set.php in Defender Security – Malware Scanner, Login Security & Firewall 5.7.0, at vendor/ramsey/collection/src/Set.php

68 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * This file is part of the ramsey/collection library
5 *
6 * For the full copyright and license information, please view the LICENSE
7 * file that was distributed with this source code.
8 *
9 * @copyright Copyright (c) Ben Ramsey <[email protected]>
10 * @license http://opensource.org/licenses/MIT MIT
11 */
12
13 declare(strict_types=1);
14
15 namespace Ramsey\Collection;
16
17 /**
18 * A set is a collection that contains no duplicate elements.
19 *
20 * Great care must be exercised if mutable objects are used as set elements.
21 * The behavior of a set is not specified if the value of an object is changed
22 * in a manner that affects equals comparisons while the object is an element in
23 * the set.
24 *
25 * Example usage:
26 *
27 * ``` php
28 * $foo = new \My\Foo();
29 * $set = new Set(\My\Foo::class);
30 *
31 * $set->add($foo); // returns TRUE, the element don't exists
32 * $set->add($foo); // returns FALSE, the element already exists
33 *
34 * $bar = new \My\Foo();
35 * $set->add($bar); // returns TRUE, $bar !== $foo
36 * ```
37 *
38 * @template T
39 * @extends AbstractSet<T>
40 */
41 class Set extends AbstractSet
42 {
43 /**
44 * The type of elements stored in this set
45 *
46 * A set's type is immutable. For this reason, this property is private.
47 */
48 private string $setType;
49
50 /**
51 * Constructs a set object of the specified type, optionally with the
52 * specified data.
53 *
54 * @param string $setType The type (FQCN) associated with this set.
55 * @param array<array-key, T> $data The initial items to store in the set.
56 */
57 public function __construct(string $setType, array $data = [])
58 {
59 $this->setType = $setType;
60 parent::__construct($data);
61 }
62
63 public function getType(): string
64 {
65 return $this->setType;
66 }
67 }
68