256 * @param node the node that shall be linked |
256 * @param node the node that shall be linked |
257 * @param loc_parent offset in the node struct for the parent pointer |
257 * @param loc_parent offset in the node struct for the parent pointer |
258 * @param loc_children offset in the node struct for the children linked list |
258 * @param loc_children offset in the node struct for the children linked list |
259 * @param loc_last_child optional offset in the node struct for the pointer to |
259 * @param loc_last_child optional offset in the node struct for the pointer to |
260 * the last child in the linked list (negative if there is no such pointer) |
260 * the last child in the linked list (negative if there is no such pointer) |
261 * @param loc_prev offset in the node struct for the prev pointer |
261 * @param loc_prev optional offset in the node struct for the prev pointer |
262 * @param loc_next offset in the node struct for the next pointer |
262 * @param loc_next offset in the node struct for the next pointer |
263 * @see cx_tree_unlink() |
263 * @see cx_tree_unlink() |
264 */ |
264 */ |
265 __attribute__((__nonnull__)) |
265 __attribute__((__nonnull__)) |
266 void cx_tree_link( |
266 void cx_tree_link( |
281 * @param node the node that shall be unlinked from its parent |
281 * @param node the node that shall be unlinked from its parent |
282 * @param loc_parent offset in the node struct for the parent pointer |
282 * @param loc_parent offset in the node struct for the parent pointer |
283 * @param loc_children offset in the node struct for the children linked list |
283 * @param loc_children offset in the node struct for the children linked list |
284 * @param loc_last_child optional offset in the node struct for the pointer to |
284 * @param loc_last_child optional offset in the node struct for the pointer to |
285 * the last child in the linked list (negative if there is no such pointer) |
285 * the last child in the linked list (negative if there is no such pointer) |
286 * @param loc_prev offset in the node struct for the prev pointer |
286 * @param loc_prev optional offset in the node struct for the prev pointer |
287 * @param loc_next offset in the node struct for the next pointer |
287 * @param loc_next offset in the node struct for the next pointer |
288 * @see cx_tree_link() |
288 * @see cx_tree_link() |
289 */ |
289 */ |
290 __attribute__((__nonnull__)) |
290 __attribute__((__nonnull__)) |
291 void cx_tree_unlink( |
291 void cx_tree_unlink( |
518 * @param failed location where the pointer to a failed node shall be stored |
518 * @param failed location where the pointer to a failed node shall be stored |
519 * @param loc_parent offset in the node struct for the parent pointer |
519 * @param loc_parent offset in the node struct for the parent pointer |
520 * @param loc_children offset in the node struct for the children linked list |
520 * @param loc_children offset in the node struct for the children linked list |
521 * @param loc_last_child optional offset in the node struct for the pointer to |
521 * @param loc_last_child optional offset in the node struct for the pointer to |
522 * the last child in the linked list (negative if there is no such pointer) |
522 * the last child in the linked list (negative if there is no such pointer) |
523 * @param loc_prev offset in the node struct for the prev pointer |
523 * @param loc_prev optional offset in the node struct for the prev pointer |
524 * @param loc_next offset in the node struct for the next pointer |
524 * @param loc_next offset in the node struct for the next pointer |
525 * @return the number of nodes created and added |
525 * @return the number of nodes created and added |
526 * @see cx_tree_add() |
526 * @see cx_tree_add() |
527 */ |
527 */ |
528 __attribute__((__nonnull__(1, 3, 4, 6, 7))) |
528 __attribute__((__nonnull__(1, 3, 4, 6, 7))) |
571 * @param root the root node of the tree |
571 * @param root the root node of the tree |
572 * @param loc_parent offset in the node struct for the parent pointer |
572 * @param loc_parent offset in the node struct for the parent pointer |
573 * @param loc_children offset in the node struct for the children linked list |
573 * @param loc_children offset in the node struct for the children linked list |
574 * @param loc_last_child optional offset in the node struct for the pointer to |
574 * @param loc_last_child optional offset in the node struct for the pointer to |
575 * the last child in the linked list (negative if there is no such pointer) |
575 * the last child in the linked list (negative if there is no such pointer) |
576 * @param loc_prev offset in the node struct for the prev pointer |
576 * @param loc_prev optional offset in the node struct for the prev pointer |
577 * @param loc_next offset in the node struct for the next pointer |
577 * @param loc_next offset in the node struct for the next pointer |
578 * @return the number of array elements successfully processed |
578 * @return the number of array elements successfully processed |
579 * @see cx_tree_add() |
579 * @see cx_tree_add() |
580 */ |
580 */ |
581 __attribute__((__nonnull__(1, 4, 5, 7, 8))) |
581 __attribute__((__nonnull__(1, 4, 5, 7, 8))) |
633 * @param root the root node of the tree |
633 * @param root the root node of the tree |
634 * @param loc_parent offset in the node struct for the parent pointer |
634 * @param loc_parent offset in the node struct for the parent pointer |
635 * @param loc_children offset in the node struct for the children linked list |
635 * @param loc_children offset in the node struct for the children linked list |
636 * @param loc_last_child optional offset in the node struct for the pointer to |
636 * @param loc_last_child optional offset in the node struct for the pointer to |
637 * the last child in the linked list (negative if there is no such pointer) |
637 * the last child in the linked list (negative if there is no such pointer) |
638 * @param loc_prev offset in the node struct for the prev pointer |
638 * @param loc_prev optional offset in the node struct for the prev pointer |
639 * @param loc_next offset in the node struct for the next pointer |
639 * @param loc_next offset in the node struct for the next pointer |
640 * @return zero when a new node was created and added to the tree, |
640 * @return zero when a new node was created and added to the tree, |
641 * non-zero otherwise |
641 * non-zero otherwise |
642 */ |
642 */ |
643 __attribute__((__nonnull__(1, 2, 3, 5, 6))) |
643 __attribute__((__nonnull__(1, 2, 3, 5, 6))) |
863 * @param search_data_func a function that compares a node with data |
863 * @param search_data_func a function that compares a node with data |
864 * @param loc_parent offset in the node struct for the parent pointer |
864 * @param loc_parent offset in the node struct for the parent pointer |
865 * @param loc_children offset in the node struct for the children linked list |
865 * @param loc_children offset in the node struct for the children linked list |
866 * @param loc_last_child optional offset in the node struct for the pointer to |
866 * @param loc_last_child optional offset in the node struct for the pointer to |
867 * the last child in the linked list (negative if there is no such pointer) |
867 * the last child in the linked list (negative if there is no such pointer) |
868 * @param loc_prev offset in the node struct for the prev pointer |
868 * @param loc_prev optional offset in the node struct for the prev pointer |
869 * @param loc_next offset in the node struct for the next pointer |
869 * @param loc_next offset in the node struct for the next pointer |
870 * @return the new tree |
870 * @return the new tree |
871 * @see cxTreeCreateSimple() |
871 * @see cxTreeCreateSimple() |
872 * @see cxTreeCreateWrapped() |
872 * @see cxTreeCreateWrapped() |
873 */ |
873 */ |
930 * @param root the root node of the tree that shall be wrapped |
930 * @param root the root node of the tree that shall be wrapped |
931 * @param loc_parent offset in the node struct for the parent pointer |
931 * @param loc_parent offset in the node struct for the parent pointer |
932 * @param loc_children offset in the node struct for the children linked list |
932 * @param loc_children offset in the node struct for the children linked list |
933 * @param loc_last_child optional offset in the node struct for the pointer to |
933 * @param loc_last_child optional offset in the node struct for the pointer to |
934 * the last child in the linked list (negative if there is no such pointer) |
934 * the last child in the linked list (negative if there is no such pointer) |
935 * @param loc_prev offset in the node struct for the prev pointer |
935 * @param loc_prev optional offset in the node struct for the prev pointer |
936 * @param loc_next offset in the node struct for the next pointer |
936 * @param loc_next offset in the node struct for the next pointer |
937 * @return the new tree |
937 * @return the new tree |
938 * @see cxTreeCreate() |
938 * @see cxTreeCreate() |
939 */ |
939 */ |
940 __attribute__((__nonnull__, __warn_unused_result__)) |
940 __attribute__((__nonnull__, __warn_unused_result__)) |