xref: /PHP-8.4/ext/spl/spl_heap.stub.php (revision f7b498b0)
1<?php
2
3/** @generate-class-entries */
4
5class SplPriorityQueue implements Iterator, Countable
6{
7    /** @cvalue SPL_PQUEUE_EXTR_BOTH */
8    public const int EXTR_BOTH = UNKNOWN;
9    /** @cvalue SPL_PQUEUE_EXTR_PRIORITY */
10    public const int EXTR_PRIORITY = UNKNOWN;
11    /** @cvalue SPL_PQUEUE_EXTR_DATA */
12    public const int EXTR_DATA = UNKNOWN;
13
14    /** @tentative-return-type */
15    public function compare(mixed $priority1, mixed $priority2): int {}
16
17    /** @tentative-return-type */
18    public function insert(mixed $value, mixed $priority): true {}
19
20    /** @tentative-return-type */
21    public function setExtractFlags(int $flags): int {}
22
23    /** @tentative-return-type */
24    public function top(): mixed {}
25
26    /** @tentative-return-type */
27    public function extract(): mixed {}
28
29    /**
30     * @tentative-return-type
31     * @implementation-alias SplHeap::count
32     */
33    public function count(): int {}
34
35    /**
36     * @tentative-return-type
37     * @implementation-alias SplHeap::isEmpty
38     */
39    public function isEmpty(): bool {}
40
41    /**
42     * @tentative-return-type
43     * @implementation-alias SplHeap::rewind
44     */
45    public function rewind(): void {}
46
47    /** @tentative-return-type */
48    public function current(): mixed {}
49
50    /**
51     * @tentative-return-type
52     * @implementation-alias SplHeap::key
53     */
54    public function key(): int {}
55
56    /**
57     * @tentative-return-type
58     * @implementation-alias SplHeap::next
59     */
60    public function next(): void {}
61
62    /**
63     * @tentative-return-type
64     * @implementation-alias SplHeap::valid
65     */
66    public function valid(): bool {}
67
68    /**
69     * @tentative-return-type
70     * @implementation-alias SplHeap::recoverFromCorruption
71     */
72    public function recoverFromCorruption(): true {}
73
74    /**
75     * @tentative-return-type
76     * @implementation-alias SplHeap::isCorrupted
77     */
78    public function isCorrupted(): bool {}
79
80    /** @tentative-return-type */
81    public function getExtractFlags(): int {}
82
83    /** @tentative-return-type */
84    public function __debugInfo(): array {}
85}
86
87abstract class SplHeap implements Iterator, Countable
88{
89    /** @tentative-return-type */
90    public function extract(): mixed {}
91
92    /** @tentative-return-type */
93    public function insert(mixed $value): true {}
94
95    /** @tentative-return-type */
96    public function top(): mixed {}
97
98    /** @tentative-return-type */
99    public function count(): int {}
100
101    /** @tentative-return-type */
102    public function isEmpty(): bool {}
103
104    /** @tentative-return-type */
105    public function rewind(): void {}
106
107    /** @tentative-return-type */
108    public function current(): mixed {}
109
110    /** @tentative-return-type */
111    public function key(): int {}
112
113    /** @tentative-return-type */
114    public function next(): void {}
115
116    /** @tentative-return-type */
117    public function valid(): bool {}
118
119    /** @tentative-return-type */
120    public function recoverFromCorruption(): true {}
121
122    /** @tentative-return-type */
123    abstract protected function compare(mixed $value1, mixed $value2): int;
124
125    /** @tentative-return-type */
126    public function isCorrupted(): bool {}
127
128    /** @tentative-return-type */
129    public function __debugInfo(): array {}
130}
131
132class SplMinHeap extends SplHeap
133{
134    /** @tentative-return-type */
135    protected function compare(mixed $value1, mixed $value2): int {}
136}
137
138class SplMaxHeap extends SplHeap
139{
140    /** @tentative-return-type */
141    protected function compare(mixed $value1, mixed $value2): int {}
142}
143