# HG changeset patch
# User Peter Kovacs <kpeter@inf.elte.hu>
# Date 1253010209 -7200
# Node ID 50d28aa826bb5e2196c8522ed54269c3c92cab06
# Parent 08f7479bbc4500fb408e916af3d5b019c42d1dfc
Fixes in the heap concept to avoid warnings (#180)
diff --git a/lemon/concepts/heap.h b/lemon/concepts/heap.h
|
a
|
b
|
|
| 88 | 88 | /// \c Item. It is used internally by the heap implementations to |
| 89 | 89 | /// handle the cross references. The assigned value must be |
| 90 | 90 | /// \c PRE_HEAP (<tt>-1</tt>) for each item. |
| | 91 | #ifdef DOXYGEN |
| 91 | 92 | explicit Heap(ItemIntMap &map) {} |
| | 93 | #else |
| | 94 | explicit Heap(ItemIntMap&) {} |
| | 95 | #endif |
| 92 | 96 | |
| 93 | 97 | /// \brief Constructor. |
| 94 | 98 | /// |
| … |
… |
|
| 98 | 102 | /// handle the cross references. The assigned value must be |
| 99 | 103 | /// \c PRE_HEAP (<tt>-1</tt>) for each item. |
| 100 | 104 | /// \param comp The function object used for comparing the priorities. |
| | 105 | #ifdef DOXYGEN |
| 101 | 106 | explicit Heap(ItemIntMap &map, const CMP &comp) {} |
| | 107 | #else |
| | 108 | explicit Heap(ItemIntMap&, const CMP&) {} |
| | 109 | #endif |
| 102 | 110 | |
| 103 | 111 | /// \brief The number of items stored in the heap. |
| 104 | 112 | /// |
| … |
… |
|
| 126 | 134 | /// \param i The item to insert. |
| 127 | 135 | /// \param p The priority of the item. |
| 128 | 136 | /// \pre \e i must not be stored in the heap. |
| | 137 | #ifdef DOXYGEN |
| 129 | 138 | void push(const Item &i, const Prio &p) {} |
| | 139 | #else |
| | 140 | void push(const Item&, const Prio&) {} |
| | 141 | #endif |
| 130 | 142 | |
| 131 | 143 | /// \brief Return the item having minimum priority. |
| 132 | 144 | /// |
| 133 | 145 | /// This function returns the item having minimum priority. |
| 134 | 146 | /// \pre The heap must be non-empty. |
| 135 | | Item top() const {} |
| | 147 | Item top() const { return Item(); } |
| 136 | 148 | |
| 137 | 149 | /// \brief The minimum priority. |
| 138 | 150 | /// |
| 139 | 151 | /// This function returns the minimum priority. |
| 140 | 152 | /// \pre The heap must be non-empty. |
| 141 | | Prio prio() const {} |
| | 153 | Prio prio() const { return Prio(); } |
| 142 | 154 | |
| 143 | 155 | /// \brief Remove the item having minimum priority. |
| 144 | 156 | /// |
| … |
… |
|
| 152 | 164 | /// already stored. |
| 153 | 165 | /// \param i The item to delete. |
| 154 | 166 | /// \pre \e i must be in the heap. |
| | 167 | #ifdef DOXYGEN |
| 155 | 168 | void erase(const Item &i) {} |
| | 169 | #else |
| | 170 | void erase(const Item&) {} |
| | 171 | #endif |
| 156 | 172 | |
| 157 | 173 | /// \brief The priority of the given item. |
| 158 | 174 | /// |
| 159 | 175 | /// This function returns the priority of the given item. |
| 160 | 176 | /// \param i The item. |
| 161 | 177 | /// \pre \e i must be in the heap. |
| | 178 | #ifdef DOXYGEN |
| 162 | 179 | Prio operator[](const Item &i) const {} |
| | 180 | #else |
| | 181 | Prio operator[](const Item&) const { return Prio(); } |
| | 182 | #endif |
| 163 | 183 | |
| 164 | 184 | /// \brief Set the priority of an item or insert it, if it is |
| 165 | 185 | /// not stored in the heap. |
| … |
… |
|
| 170 | 190 | /// |
| 171 | 191 | /// \param i The item. |
| 172 | 192 | /// \param p The priority. |
| | 193 | #ifdef DOXYGEN |
| 173 | 194 | void set(const Item &i, const Prio &p) {} |
| | 195 | #else |
| | 196 | void set(const Item&, const Prio&) {} |
| | 197 | #endif |
| 174 | 198 | |
| 175 | 199 | /// \brief Decrease the priority of an item to the given value. |
| 176 | 200 | /// |
| … |
… |
|
| 178 | 202 | /// \param i The item. |
| 179 | 203 | /// \param p The priority. |
| 180 | 204 | /// \pre \e i must be stored in the heap with priority at least \e p. |
| | 205 | #ifdef DOXYGEN |
| 181 | 206 | void decrease(const Item &i, const Prio &p) {} |
| | 207 | #else |
| | 208 | void decrease(const Item&, const Prio&) {} |
| | 209 | #endif |
| 182 | 210 | |
| 183 | 211 | /// \brief Increase the priority of an item to the given value. |
| 184 | 212 | /// |
| … |
… |
|
| 186 | 214 | /// \param i The item. |
| 187 | 215 | /// \param p The priority. |
| 188 | 216 | /// \pre \e i must be stored in the heap with priority at most \e p. |
| | 217 | #ifdef DOXYGEN |
| 189 | 218 | void increase(const Item &i, const Prio &p) {} |
| | 219 | #else |
| | 220 | void increase(const Item&, const Prio&) {} |
| | 221 | #endif |
| 190 | 222 | |
| 191 | 223 | /// \brief Return the state of an item. |
| 192 | 224 | /// |
| … |
… |
|
| 196 | 228 | /// In the latter case it is possible that the item will get back |
| 197 | 229 | /// to the heap again. |
| 198 | 230 | /// \param i The item. |
| | 231 | #ifdef DOXYGEN |
| 199 | 232 | State state(const Item &i) const {} |
| | 233 | #else |
| | 234 | State state(const Item&) const { return PRE_HEAP; } |
| | 235 | #endif |
| 200 | 236 | |
| 201 | 237 | /// \brief Set the state of an item in the heap. |
| 202 | 238 | /// |
| … |
… |
|
| 205 | 241 | /// to achive better time complexity. |
| 206 | 242 | /// \param i The item. |
| 207 | 243 | /// \param st The state. It should not be \c IN_HEAP. |
| | 244 | #ifdef DOXYGEN |
| 208 | 245 | void state(const Item& i, State st) {} |
| | 246 | #else |
| | 247 | void state(const Item&, State) {} |
| | 248 | #endif |
| 209 | 249 | |
| 210 | 250 | |
| 211 | 251 | template <typename _Heap> |