gwenhywfar  4.6.0beta
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_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

#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.

#define GWEN_TREE_H

Definition at line 39 of file tree.h.