|
libGimbal 0.2.0
C17-Based Extended Standard Library and Cross-Language Runtime Framework
|
Go to the source code of this file.
Data Structures | |
| struct | GblNaryTreeNode |
Macros | |
| #define | GBL_NARY_TREE_NPOS |
| #define | GBL_NARY_TREE_ENTRY(node, structure, field) |
| #define | GBL_NARY_TREE_TRAVERSAL_MASK(order, flags) |
Typedefs | |
| typedef GblBool(* | GblNaryTreeIterFn) (const GblNaryTreeNode *pNode, void *pUd) |
Enumerations | |
| enum | GBL_NARY_TREE_NODE_FLAGS |
| enum | GBL_NARY_TREE_TRAVERSAL_ORDER |
Functions | |
| size_t | GblNaryTree_size (const GblNaryTreeNode *pSelf) |
| size_t | GblNaryTree_width (const GblNaryTreeNode *pSelf, size_t depth) |
| size_t | GblNaryTree_height (const GblNaryTreeNode *pSelf) |
| size_t | GblNaryTree_depth (const GblNaryTreeNode *pSelf) |
| size_t | GblNaryTree_breadth (const GblNaryTreeNode *pSelf) |
| size_t | GblNaryTree_degree (const GblNaryTreeNode *pSelf) |
| size_t | GblNaryTree_arity (const GblNaryTreeNode *pSelf) |
| GblFlags | GblNaryTree_flags (const GblNaryTreeNode *pSelf) |
| GblBool | GblNaryTree_isConnected (const GblNaryTreeNode *pSelf) |
| GblBool | GblNaryTree_isRoot (const GblNaryTreeNode *pSelf) |
| GblBool | GblNaryTree_isInternal (const GblNaryTreeNode *pSelf) |
| GblBool | GblNaryTree_isLeaf (const GblNaryTreeNode *pSelf) |
| GblBool | GblNaryTree_isBalanced (const GblNaryTreeNode *pSelf) |
| GblBool | GblNaryTree_isParent (const GblNaryTreeNode *pSelf, const GblNaryTreeNode *pOther) |
| GblBool | GblNaryTree_isAncestor (const GblNaryTreeNode *pSelf, const GblNaryTreeNode *pOther) |
| GblBool | GblNaryTree_isSibling (const GblNaryTreeNode *pSelf, const GblNaryTreeNode *pOther) |
| GblBool | GblNaryTree_isChild (const GblNaryTreeNode *pSelf, const GblNaryTreeNode *pOther) |
| GblBool | GblNaryTree_isDescendent (const GblNaryTreeNode *pSelf, const GblNaryTreeNode *pOther) |
| GblBool | GblNaryTree_isRelative (const GblNaryTreeNode *pSelf, const GblNaryTreeNode *pOther) |
| size_t | GblNaryTree_childCount (const GblNaryTreeNode *pSelf) |
| GblNaryTreeNode * | GblNaryTree_childLast (const GblNaryTreeNode *pSelf) |
| GblNaryTreeNode * | GblNaryTree_childBefore (const GblNaryTreeNode *pSelf, const GblNaryTreeNode *pChild) |
| GblNaryTreeNode * | GblNaryTree_childAt (const GblNaryTreeNode *pSelf, size_t index) |
| size_t | GblNaryTree_childIndex (const GblNaryTreeNode *pSelf, const GblNaryTreeNode *pChild) |
| void | GblNaryTree_addChildFront (GblNaryTreeNode *pSelf, GblNaryTreeNode *pChild) |
| void | GblNaryTree_addChildBack (GblNaryTreeNode *pSelf, GblNaryTreeNode *pChild) |
| void | GblNaryTree_addChildTo (GblNaryTreeNode *pSelf, size_t index, GblNaryTreeNode *pChild) |
| void | GblNaryTree_addChildBefore (GblNaryTreeNode *pSelf, GblNaryTreeNode *pBefore, GblNaryTreeNode *pChild) |
| void | GblNaryTree_addChildAfter (GblNaryTreeNode *pSelf, GblNaryTreeNode *pAfter, GblNaryTreeNode *pChild) |
| void | GblNaryTree_moveChildFront (GblNaryTreeNode *pSelf, GblNaryTreeNode *pChild) |
| void | GblNaryTree_moveChildBack (GblNaryTreeNode *pSelf, GblNaryTreeNode *pChild) |
| void | GblNaryTree_moveChildTo (GblNaryTreeNode *pSelf, size_t index, GblNaryTreeNode *pChild) |
| GblNaryTreeNode * | GblNaryTree_removeChild (GblNaryTreeNode *pSelf, GblNaryTreeNode *pChild) |
| GblNaryTreeNode * | GblNaryTree_removeChildFront (GblNaryTreeNode *pSelf) |
| GblNaryTreeNode * | GblNaryTree_removeChildBack (GblNaryTreeNode *pSelf) |
| GblNaryTreeNode * | GblNaryTree_removeChildAt (GblNaryTreeNode *pSelf, size_t index) |
| void | GblNaryTree_replaceChild (GblNaryTreeNode *pSelf, GblNaryTreeNode *pOld, GblNaryTreeNode *pNew) |
| void | GblNaryTree_replaceChildAt (GblNaryTreeNode *pSelf, size_t index, GblNaryTreeNode *pNewChild) |
| void | GblNaryTree_swapChildren (GblNaryTreeNode *pSelf, GblNaryTreeNode *pChild1, GblNaryTreeNode *pChild2) |
| void | GblNaryTree_swapChildrenAt (GblNaryTreeNode *pSelf, size_t index1, size_t index2) |
| void | GblNaryTree_reverseChildren (GblNaryTreeNode *pSelf) |
| GblNaryTreeNode * | GblNaryTree_root (GblNaryTreeNode *pSelf) |
| GblNaryTreeNode * | GblNaryTree_base (GblNaryTreeNode *pSelf, size_t depth) |
| GblNaryTreeNode * | GblNaryTree_ancestor (const GblNaryTreeNode *pSelf, size_t height) |
| size_t | GblNaryTree_ancestorHeight (const GblNaryTreeNode *pSelf, const GblNaryTreeNode *pParent) |
| size_t | GblNaryTree_siblingCount (const GblNaryTreeNode *pSelf) |
| GblNaryTreeNode * | GblNaryTree_siblingLast (const GblNaryTreeNode *pSelf) |
| GblNaryTreeNode * | GblNaryTree_siblingBefore (const GblNaryTreeNode *pSelf) |
| GblNaryTreeNode * | GblNaryTree_siblingFirst (const GblNaryTreeNode *pSelf) |
| GblNaryTreeNode * | GblNaryTree_siblingAt (const GblNaryTreeNode *pSelf, size_t index) |
| size_t | GblNaryTree_siblingIndex (const GblNaryTreeNode *pSelf, const GblNaryTreeNode *pOther) |
| void | GblNaryTree_disconnect (GblNaryTreeNode *pSelf) |
| GblNaryTreeNode * | GblNaryTree_lowestCommonAncestor (const GblNaryTreeNode *pSelf, const GblNaryTreeNode *pOther) |
| size_t | GblNaryTree_distance (const GblNaryTreeNode *pSelf, const GblNaryTreeNode *pOther) |
| GblBool | GblNaryTree_traverse (const GblNaryTreeNode *pSelf, GblFlags mask, GblNaryTreeIterFn pFnIt, void *pUd) |
| GblBool | GblNaryTree_traverseInOrder (const GblNaryTreeNode *pSelf, GblFlags mask, GblNaryTreeIterFn pFnIter, void *pUd) |
| GblBool | GblNaryTree_traversePreOrder (const GblNaryTreeNode *pSelf, GblFlags mask, GblNaryTreeIterFn pFnIter, void *pUd) |
| GblBool | GblNaryTree_traversePostOrder (const GblNaryTreeNode *pSelf, GblFlags mask, GblNaryTreeIterFn pFnIter, void *pUd) |
| GblBool | GblNaryTree_traverseLevelOrder (const GblNaryTreeNode *pSelf, GblFlags mask, GblNaryTreeIterFn pFnIter, void *pUd) |
GblNaryTreeNode structure and related functions.
Public API for the GblNaryTree, intrusive tree node container type.
Definition in file gimbal_nary_tree.h.
| #define GBL_NARY_TREE_NPOS |
Definition at line 17 of file gimbal_nary_tree.h.
| #define GBL_NARY_TREE_ENTRY | ( | node, | |
| structure, | |||
| field ) |
Definition at line 18 of file gimbal_nary_tree.h.
| #define GBL_NARY_TREE_TRAVERSAL_MASK | ( | order, | |
| flags ) |
Definition at line 19 of file gimbal_nary_tree.h.
| typedef GblBool(* GblNaryTreeIterFn) (const GblNaryTreeNode *pNode, void *pUd) |
Definition at line 27 of file gimbal_nary_tree.h.
| enum GBL_NARY_TREE_NODE_FLAGS |
Definition at line 29 of file gimbal_nary_tree.h.
| enum GBL_NARY_TREE_TRAVERSAL_ORDER |
Definition at line 36 of file gimbal_nary_tree.h.