diff options
| author | polo <ordipolo@gmx.fr> | 2024-08-13 23:45:21 +0200 |
|---|---|---|
| committer | polo <ordipolo@gmx.fr> | 2024-08-13 23:45:21 +0200 |
| commit | bf6655a534a6775d30cafa67bd801276bda1d98d (patch) | |
| tree | c6381e3f6c81c33eab72508f410b165ba05f7e9c /vendor/doctrine/collections/src/ReadableCollection.php | |
| parent | 94d67a4b51f8e62e7d518cce26a526ae1ec48278 (diff) | |
| download | AppliGestionPHP-bf6655a534a6775d30cafa67bd801276bda1d98d.tar.gz AppliGestionPHP-bf6655a534a6775d30cafa67bd801276bda1d98d.tar.bz2 AppliGestionPHP-bf6655a534a6775d30cafa67bd801276bda1d98d.zip | |
VERSION 0.2 doctrine ORM et entités
Diffstat (limited to 'vendor/doctrine/collections/src/ReadableCollection.php')
| -rw-r--r-- | vendor/doctrine/collections/src/ReadableCollection.php | 242 |
1 files changed, 242 insertions, 0 deletions
diff --git a/vendor/doctrine/collections/src/ReadableCollection.php b/vendor/doctrine/collections/src/ReadableCollection.php new file mode 100644 index 0000000..a8dbd43 --- /dev/null +++ b/vendor/doctrine/collections/src/ReadableCollection.php | |||
| @@ -0,0 +1,242 @@ | |||
| 1 | <?php | ||
| 2 | |||
| 3 | declare(strict_types=1); | ||
| 4 | |||
| 5 | namespace Doctrine\Common\Collections; | ||
| 6 | |||
| 7 | use Closure; | ||
| 8 | use Countable; | ||
| 9 | use IteratorAggregate; | ||
| 10 | |||
| 11 | /** | ||
| 12 | * @psalm-template TKey of array-key | ||
| 13 | * @template-covariant T | ||
| 14 | * @template-extends IteratorAggregate<TKey, T> | ||
| 15 | */ | ||
| 16 | interface ReadableCollection extends Countable, IteratorAggregate | ||
| 17 | { | ||
| 18 | /** | ||
| 19 | * Checks whether an element is contained in the collection. | ||
| 20 | * This is an O(n) operation, where n is the size of the collection. | ||
| 21 | * | ||
| 22 | * @param mixed $element The element to search for. | ||
| 23 | * @psalm-param TMaybeContained $element | ||
| 24 | * | ||
| 25 | * @return bool TRUE if the collection contains the element, FALSE otherwise. | ||
| 26 | * @psalm-return (TMaybeContained is T ? bool : false) | ||
| 27 | * | ||
| 28 | * @template TMaybeContained | ||
| 29 | */ | ||
| 30 | public function contains(mixed $element); | ||
| 31 | |||
| 32 | /** | ||
| 33 | * Checks whether the collection is empty (contains no elements). | ||
| 34 | * | ||
| 35 | * @return bool TRUE if the collection is empty, FALSE otherwise. | ||
| 36 | */ | ||
| 37 | public function isEmpty(); | ||
| 38 | |||
| 39 | /** | ||
| 40 | * Checks whether the collection contains an element with the specified key/index. | ||
| 41 | * | ||
| 42 | * @param string|int $key The key/index to check for. | ||
| 43 | * @psalm-param TKey $key | ||
| 44 | * | ||
| 45 | * @return bool TRUE if the collection contains an element with the specified key/index, | ||
| 46 | * FALSE otherwise. | ||
| 47 | */ | ||
| 48 | public function containsKey(string|int $key); | ||
| 49 | |||
| 50 | /** | ||
| 51 | * Gets the element at the specified key/index. | ||
| 52 | * | ||
| 53 | * @param string|int $key The key/index of the element to retrieve. | ||
| 54 | * @psalm-param TKey $key | ||
| 55 | * | ||
| 56 | * @return mixed | ||
| 57 | * @psalm-return T|null | ||
| 58 | */ | ||
| 59 | public function get(string|int $key); | ||
| 60 | |||
| 61 | /** | ||
| 62 | * Gets all keys/indices of the collection. | ||
| 63 | * | ||
| 64 | * @return int[]|string[] The keys/indices of the collection, in the order of the corresponding | ||
| 65 | * elements in the collection. | ||
| 66 | * @psalm-return list<TKey> | ||
| 67 | */ | ||
| 68 | public function getKeys(); | ||
| 69 | |||
| 70 | /** | ||
| 71 | * Gets all values of the collection. | ||
| 72 | * | ||
| 73 | * @return mixed[] The values of all elements in the collection, in the | ||
| 74 | * order they appear in the collection. | ||
| 75 | * @psalm-return list<T> | ||
| 76 | */ | ||
| 77 | public function getValues(); | ||
| 78 | |||
| 79 | /** | ||
| 80 | * Gets a native PHP array representation of the collection. | ||
| 81 | * | ||
| 82 | * @return mixed[] | ||
| 83 | * @psalm-return array<TKey,T> | ||
| 84 | */ | ||
| 85 | public function toArray(); | ||
| 86 | |||
| 87 | /** | ||
| 88 | * Sets the internal iterator to the first element in the collection and returns this element. | ||
| 89 | * | ||
| 90 | * @return mixed | ||
| 91 | * @psalm-return T|false | ||
| 92 | */ | ||
| 93 | public function first(); | ||
| 94 | |||
| 95 | /** | ||
| 96 | * Sets the internal iterator to the last element in the collection and returns this element. | ||
| 97 | * | ||
| 98 | * @return mixed | ||
| 99 | * @psalm-return T|false | ||
| 100 | */ | ||
| 101 | public function last(); | ||
| 102 | |||
| 103 | /** | ||
| 104 | * Gets the key/index of the element at the current iterator position. | ||
| 105 | * | ||
| 106 | * @return int|string|null | ||
| 107 | * @psalm-return TKey|null | ||
| 108 | */ | ||
| 109 | public function key(); | ||
| 110 | |||
| 111 | /** | ||
| 112 | * Gets the element of the collection at the current iterator position. | ||
| 113 | * | ||
| 114 | * @return mixed | ||
| 115 | * @psalm-return T|false | ||
| 116 | */ | ||
| 117 | public function current(); | ||
| 118 | |||
| 119 | /** | ||
| 120 | * Moves the internal iterator position to the next element and returns this element. | ||
| 121 | * | ||
| 122 | * @return mixed | ||
| 123 | * @psalm-return T|false | ||
| 124 | */ | ||
| 125 | public function next(); | ||
| 126 | |||
| 127 | /** | ||
| 128 | * Extracts a slice of $length elements starting at position $offset from the Collection. | ||
| 129 | * | ||
| 130 | * If $length is null it returns all elements from $offset to the end of the Collection. | ||
| 131 | * Keys have to be preserved by this method. Calling this method will only return the | ||
| 132 | * selected slice and NOT change the elements contained in the collection slice is called on. | ||
| 133 | * | ||
| 134 | * @param int $offset The offset to start from. | ||
| 135 | * @param int|null $length The maximum number of elements to return, or null for no limit. | ||
| 136 | * | ||
| 137 | * @return mixed[] | ||
| 138 | * @psalm-return array<TKey,T> | ||
| 139 | */ | ||
| 140 | public function slice(int $offset, int|null $length = null); | ||
| 141 | |||
| 142 | /** | ||
| 143 | * Tests for the existence of an element that satisfies the given predicate. | ||
| 144 | * | ||
| 145 | * @param Closure $p The predicate. | ||
| 146 | * @psalm-param Closure(TKey, T):bool $p | ||
| 147 | * | ||
| 148 | * @return bool TRUE if the predicate is TRUE for at least one element, FALSE otherwise. | ||
| 149 | */ | ||
| 150 | public function exists(Closure $p); | ||
| 151 | |||
| 152 | /** | ||
| 153 | * Returns all the elements of this collection that satisfy the predicate p. | ||
| 154 | * The order of the elements is preserved. | ||
| 155 | * | ||
| 156 | * @param Closure $p The predicate used for filtering. | ||
| 157 | * @psalm-param Closure(T, TKey):bool $p | ||
| 158 | * | ||
| 159 | * @return ReadableCollection<mixed> A collection with the results of the filter operation. | ||
| 160 | * @psalm-return ReadableCollection<TKey, T> | ||
| 161 | */ | ||
| 162 | public function filter(Closure $p); | ||
| 163 | |||
| 164 | /** | ||
| 165 | * Applies the given function to each element in the collection and returns | ||
| 166 | * a new collection with the elements returned by the function. | ||
| 167 | * | ||
| 168 | * @psalm-param Closure(T):U $func | ||
| 169 | * | ||
| 170 | * @return ReadableCollection<mixed> | ||
| 171 | * @psalm-return ReadableCollection<TKey, U> | ||
| 172 | * | ||
| 173 | * @psalm-template U | ||
| 174 | */ | ||
| 175 | public function map(Closure $func); | ||
| 176 | |||
| 177 | /** | ||
| 178 | * Partitions this collection in two collections according to a predicate. | ||
| 179 | * Keys are preserved in the resulting collections. | ||
| 180 | * | ||
| 181 | * @param Closure $p The predicate on which to partition. | ||
| 182 | * @psalm-param Closure(TKey, T):bool $p | ||
| 183 | * | ||
| 184 | * @return ReadableCollection<mixed>[] An array with two elements. The first element contains the collection | ||
| 185 | * of elements where the predicate returned TRUE, the second element | ||
| 186 | * contains the collection of elements where the predicate returned FALSE. | ||
| 187 | * @psalm-return array{0: ReadableCollection<TKey, T>, 1: ReadableCollection<TKey, T>} | ||
| 188 | */ | ||
| 189 | public function partition(Closure $p); | ||
| 190 | |||
| 191 | /** | ||
| 192 | * Tests whether the given predicate p holds for all elements of this collection. | ||
| 193 | * | ||
| 194 | * @param Closure $p The predicate. | ||
| 195 | * @psalm-param Closure(TKey, T):bool $p | ||
| 196 | * | ||
| 197 | * @return bool TRUE, if the predicate yields TRUE for all elements, FALSE otherwise. | ||
| 198 | */ | ||
| 199 | public function forAll(Closure $p); | ||
| 200 | |||
| 201 | /** | ||
| 202 | * Gets the index/key of a given element. The comparison of two elements is strict, | ||
| 203 | * that means not only the value but also the type must match. | ||
| 204 | * For objects this means reference equality. | ||
| 205 | * | ||
| 206 | * @param mixed $element The element to search for. | ||
| 207 | * @psalm-param TMaybeContained $element | ||
| 208 | * | ||
| 209 | * @return int|string|bool The key/index of the element or FALSE if the element was not found. | ||
| 210 | * @psalm-return (TMaybeContained is T ? TKey|false : false) | ||
| 211 | * | ||
| 212 | * @template TMaybeContained | ||
| 213 | */ | ||
| 214 | public function indexOf(mixed $element); | ||
| 215 | |||
| 216 | /** | ||
| 217 | * Returns the first element of this collection that satisfies the predicate p. | ||
| 218 | * | ||
| 219 | * @param Closure $p The predicate. | ||
| 220 | * @psalm-param Closure(TKey, T):bool $p | ||
| 221 | * | ||
| 222 | * @return mixed The first element respecting the predicate, | ||
| 223 | * null if no element respects the predicate. | ||
| 224 | * @psalm-return T|null | ||
| 225 | */ | ||
| 226 | public function findFirst(Closure $p); | ||
| 227 | |||
| 228 | /** | ||
| 229 | * Applies iteratively the given function to each element in the collection, | ||
| 230 | * so as to reduce the collection to a single value. | ||
| 231 | * | ||
| 232 | * @psalm-param Closure(TReturn|TInitial, T):TReturn $func | ||
| 233 | * @psalm-param TInitial $initial | ||
| 234 | * | ||
| 235 | * @return mixed | ||
| 236 | * @psalm-return TReturn|TInitial | ||
| 237 | * | ||
| 238 | * @psalm-template TReturn | ||
| 239 | * @psalm-template TInitial | ||
| 240 | */ | ||
| 241 | public function reduce(Closure $func, mixed $initial = null); | ||
| 242 | } | ||
