gwenhywfar  5.6.0
Macros
tree2.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
 
Typesafe Macros
#define GWEN_TREE2_ELEMENT(t)   GWEN_TREE2_ELEMENT *_tree2_element;
 
#define GWEN_TREE2_FUNCTION_LIB_DEFS_CONST(t, pr, decl)
 
#define GWEN_TREE2_FUNCTION_LIB_DEFS_NOCONST(t, pr, decl)
 
#define GWEN_TREE2_FUNCTION_DEFS_CONST(t, pr)   GWEN_TREE2_FUNCTION_LIB_DEFS_CONST(t, pr, GWEN_DUMMY_EMPTY_ARG)
 
#define GWEN_TREE2_FUNCTION_DEFS_NOCONST(t, pr)   GWEN_TREE2_FUNCTION_LIB_DEFS_NOCONST(t, pr, GWEN_DUMMY_EMPTY_ARG)
 
#define GWEN_TREE2_FUNCTION_LIB_DEFS(t, pr, decl)
 
#define GWEN_TREE2_FUNCTION_DEFS(t, pr)   GWEN_TREE2_FUNCTION_LIB_DEFS(t, pr, GWEN_DUMMY_EMPTY_ARG)
 
#define GWEN_TREE2_FUNCTIONS(t, pr)
 
#define GWEN_TREE2_INIT(t, element, pr)   element->_tree2_element=GWEN_Tree2Element_new(element);
 
#define GWEN_TREE2_FINI(t, element, pr)
 

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_TREE2_FUNCTION_LIB_DEFS and following).

typedef struct GWEN_TREE2_ELEMENT GWEN_TREE2_ELEMENT
 
GWENHYWFAR_API void GWEN_Tree2_Unlink (GWEN_TREE2_ELEMENT *el)
 
GWENHYWFAR_API void GWEN_Tree2_Replace (GWEN_TREE2_ELEMENT *elToReplace, GWEN_TREE2_ELEMENT *elReplacement)
 
GWENHYWFAR_API void GWEN_Tree2_AddChild (GWEN_TREE2_ELEMENT *where, GWEN_TREE2_ELEMENT *el)
 
GWENHYWFAR_API void GWEN_Tree2_InsertChild (GWEN_TREE2_ELEMENT *where, GWEN_TREE2_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_Tree2_GetFirstChild (const GWEN_TREE2_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_Tree2_GetLastChild (const GWEN_TREE2_ELEMENT *el)
 
GWENHYWFAR_API GWEN_TREE2_ELEMENTGWEN_Tree2Element_new (void *d)
 
GWENHYWFAR_API void GWEN_Tree2Element_free (GWEN_TREE2_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_Tree2Element_GetPrevious (const GWEN_TREE2_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_Tree2Element_GetNext (const GWEN_TREE2_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_Tree2Element_GetBelow (const GWEN_TREE2_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_Tree2Element_GetFirstChild (const GWEN_TREE2_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_Tree2Element_GetLastChild (const GWEN_TREE2_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_Tree2Element_GetParent (const GWEN_TREE2_ELEMENT *el)
 
GWENHYWFAR_API uint32_t GWEN_Tree2Element_GetChildrenCount (const GWEN_TREE2_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 37 of file tree2.h.