Changeset dea6384f in OpenModelica
- Timestamp:
- 2022-05-17T15:02:38+02:00 (23 months ago)
- Parents:
- 58677f97
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
OMCompiler/SimulationRuntime/c/util/list.c
r58677f97 rdea6384f 42 42 43 43 44 /** 45 * @brief Allocates memory for a new empty list 46 * 47 * @param itemSize Size of data 48 * @return list Pointer to list 49 */ 44 50 LIST *allocList(unsigned int itemSize) 45 51 { … … 55 61 } 56 62 63 /** 64 * @brief Frees list and everything inside it 65 * 66 * @param list Pointer to list 67 */ 57 68 void freeList(LIST *list) 58 69 { … … 64 75 } 65 76 77 /** 78 * @brief Frees node and data inside node 79 * 80 * @param node Pointer to node 81 */ 66 82 void freeNode(LIST_NODE *node) 67 83 { … … 70 86 } 71 87 88 /** 89 * @brief Copies data into new tmpNode and pushes tmpNode to the front of list 90 * 91 * @param list Pointer to list 92 * @param data Pointer to data (copied) 93 */ 72 94 void listPushFront(LIST *list, const void *data) 73 95 { … … 94 116 * 95 117 * @param list Pointer to list 96 * @param node Pointer to node ( will not becopied)118 * @param node Pointer to node (not copied) 97 119 */ 98 120 void listPushFrontNodeNoCopy(LIST *list, LIST_NODE *node) … … 108 130 } 109 131 132 /** 133 * @brief Copies data into new tmpNode and pushes tmpNode to the back of list 134 * 135 * @param list Pointer to list 136 * @param data Pointer to data (copied) 137 */ 110 138 void listPushBack(LIST *list, const void *data) 111 139 { … … 132 160 } 133 161 162 /** 163 * @brief Copies data into new tmpNode and inserts tmpNode into list after prevNode 164 * 165 * @param list Pointer to list 166 * @param prevNode Pointer to previous node 167 * @param data Pointer to data (copied) 168 */ 134 169 void listInsert(LIST *list, LIST_NODE* prevNode, const void *data) 135 170 { … … 149 184 } 150 185 186 /** 187 * @brief Returns the length of list 188 * 189 * @param list Pointer to list 190 * @return length of list 191 */ 151 192 int listLen(LIST *list) 152 193 { … … 155 196 } 156 197 198 /** 199 * @brief Returns data of first node in list 200 * 201 * @param list Pointer to list 202 * @return Pointer to data of first node in list 203 */ 157 204 void *listFirstData(LIST *list) 158 205 { … … 162 209 } 163 210 211 /** 212 * @brief Returns data of last node in list 213 * 214 * @param list Pointer to list 215 * @return Pointer to data of last node in list 216 */ 164 217 void *listLastData(LIST *list) 165 218 { … … 170 223 171 224 /** 172 * @brief Return first node and popfrom list225 * @brief Returns first node and pops node from list 173 226 * 174 227 * @param list Pointer to list … … 190 243 191 244 /** 192 * @brief Remove and freefirst node from list245 * @brief Removes and frees first node from list 193 246 * 194 247 * @param list Pointer to list … … 209 262 } 210 263 264 /** 265 * @brief Frees all nodes and their data in list 266 * 267 * @param list Pointer to list 268 */ 211 269 void listClear(LIST *list) 212 270 { … … 229 287 } 230 288 289 /** 290 * @brief Removes and frees nodes from list starting from node 291 * 292 * used only in simulation/solver/nonlinearValuesList 293 * 294 * @param list Pointer to list 295 * @param node Pointer to node 296 */ 231 297 void removeNodes(LIST* list, LIST_NODE *node) 232 298 { … … 240 306 } 241 307 308 /** 309 * @brief Retruns first node of list 310 * 311 * @param list Pointer to list 312 * @return Pointer to first node 313 */ 242 314 LIST_NODE *listFirstNode(LIST *list) 243 315 { … … 247 319 } 248 320 321 /** 322 * @brief Returns next node after node (used for iterating over list) 323 * 324 * @param node Pointer to node 325 * @return Pointer to next node 326 */ 249 327 LIST_NODE *listNextNode(LIST_NODE *node) 250 328 { … … 255 333 } 256 334 335 /** 336 * @brief Returns node data 337 * 338 * @param node Pointer to node 339 * @return Pointer to data 340 */ 257 341 void *listNodeData(LIST_NODE *node) 258 342 { … … 262 346 } 263 347 348 /* not sure about this, looks dangerous */ 264 349 void updateNodeData(LIST *list, LIST_NODE *node, const void *data) 265 350 { … … 271 356 } 272 357 358 /* not sure about this, looks dangerous */ 273 359 LIST_NODE* updateNodeNext(LIST *list, LIST_NODE *node, LIST_NODE *newNext) 274 360 { … … 281 367 } 282 368 369 /* not sure about this, looks dangerous */ 283 370 void updatelistFirst(LIST* list, LIST_NODE *node) 284 371 { … … 288 375 } 289 376 377 /* not sure about this, looks dangerous */ 290 378 void updatelistLength(LIST* list, unsigned int newLength) 291 379 {
Note: See TracChangeset
for help on using the changeset viewer.