gwenhywfar  5.4.1
Macros
tree.h File Reference
#include <gwenhywfar/gwenhywfarapi.h>
#include <gwenhywfar/types.h>
#include <assert.h>

Go to the source code of this file.

Macros

#define GWEN_DUMMY_EMPTY_ARG
 
#define GWEN_TREE_H
 
Typesafe Macros
#define GWEN_TREE_ELEMENT(t)   GWEN_TREE_ELEMENT *_tree_element;
 
#define GWEN_TREE_FUNCTION_LIB_DEFS_CONST(t, pr, decl)
 
#define GWEN_TREE_FUNCTION_LIB_DEFS_NOCONST(t, pr, decl)
 
#define GWEN_TREE_FUNCTION_DEFS_CONST(t, pr)   GWEN_TREE_FUNCTION_LIB_DEFS_CONST(t, pr, GWEN_DUMMY_EMPTY_ARG)
 
#define GWEN_TREE_FUNCTION_DEFS_NOCONST(t, pr)   GWEN_TREE_FUNCTION_LIB_DEFS_NOCONST(t, pr, GWEN_DUMMY_EMPTY_ARG)
 
#define GWEN_TREE_FUNCTION_LIB_DEFS(t, pr, decl)
 
#define GWEN_TREE_FUNCTION_DEFS(t, pr)   GWEN_TREE_FUNCTION_LIB_DEFS(t, pr, GWEN_DUMMY_EMPTY_ARG)
 
#define GWEN_TREE_FUNCTIONS(t, pr)
 
#define GWEN_TREE_INIT(t, element)   element->_tree_element=GWEN_TreeElement_new(element);
 
#define GWEN_TREE_FINI(t, element)
 

Internal Functions

All functions and structs within this group should be considered internal. They just implement the functionality behind the typesafe list macros (see GWEN_TREE_FUNCTION_LIB_DEFS and following).

typedef struct GWEN_TREE GWEN_TREE
 
typedef struct GWEN_TREE_ELEMENT GWEN_TREE_ELEMENT
 
GWENHYWFAR_API GWEN_TREEGWEN_Tree_new (void)
 
GWENHYWFAR_API void GWEN_Tree_free (GWEN_TREE *l)
 
GWENHYWFAR_API int GWEN_Tree_GetCount (const GWEN_TREE *l)
 
GWENHYWFAR_API void GWEN_Tree_Add (GWEN_TREE *l, GWEN_TREE_ELEMENT *el)
 
GWENHYWFAR_API void GWEN_Tree_Insert (GWEN_TREE *l, GWEN_TREE_ELEMENT *el)
 
GWENHYWFAR_API void GWEN_Tree_Del (GWEN_TREE_ELEMENT *el)
 
GWENHYWFAR_API void GWEN_Tree_Replace (GWEN_TREE_ELEMENT *elToReplace, GWEN_TREE_ELEMENT *elReplacement)
 
GWENHYWFAR_API void GWEN_Tree_AddList (GWEN_TREE *dest, GWEN_TREE *l)
 
GWENHYWFAR_API void GWEN_Tree_AddChild (GWEN_TREE_ELEMENT *where, GWEN_TREE_ELEMENT *el)
 
GWENHYWFAR_API void GWEN_Tree_InsertChild (GWEN_TREE_ELEMENT *where, GWEN_TREE_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_Tree_GetFirst (const GWEN_TREE *l)
 
GWENHYWFAR_API void * GWEN_Tree_GetLast (const GWEN_TREE *l)
 
GWENHYWFAR_API GWEN_TREE_ELEMENTGWEN_TreeElement_new (void *d)
 
GWENHYWFAR_API void GWEN_TreeElement_free (GWEN_TREE_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_TreeElement_GetPrevious (const GWEN_TREE_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_TreeElement_GetNext (const GWEN_TREE_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_TreeElement_GetBelow (const GWEN_TREE_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_TreeElement_GetFirstChild (const GWEN_TREE_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_TreeElement_GetLastChild (const GWEN_TREE_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_TreeElement_GetParent (const GWEN_TREE_ELEMENT *el)
 
GWENHYWFAR_API uint32_t GWEN_TreeElement_GetChildrenCount (const GWEN_TREE_ELEMENT *el)
 

Macro Definition Documentation

◆ GWEN_DUMMY_EMPTY_ARG

#define GWEN_DUMMY_EMPTY_ARG

Necessary for MSVC compiler because it does not accept a left-out macro argument.

Definition at line 34 of file tree.h.

◆ GWEN_TREE_H

#define GWEN_TREE_H

Definition at line 39 of file tree.h.