gwenhywfar  4.15.3
Macros
list1.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_LIST1_H
 
Typesafe Macros
#define GWEN_LIST_ELEMENT(t)   GWEN_LIST1_ELEMENT *_list1_element;
 
#define GWEN_LIST_FUNCTION_LIB_DEFS_CONST(t, pr, decl)
 
#define GWEN_LIST_FUNCTION_LIB_DEFS_NOCONST(t, pr, decl)
 
#define GWEN_LIST_FUNCTION_DEFS_CONST(t, pr)   GWEN_LIST_FUNCTION_LIB_DEFS_CONST(t, pr, GWEN_DUMMY_EMPTY_ARG)
 
#define GWEN_LIST_FUNCTION_DEFS_NOCONST(t, pr)   GWEN_LIST_FUNCTION_LIB_DEFS_NOCONST(t, pr, GWEN_DUMMY_EMPTY_ARG)
 
#define GWEN_LIST_FUNCTION_LIB_DEFS(t, pr, decl)
 
#define GWEN_LIST_FUNCTION_DEFS(t, pr)   GWEN_LIST_FUNCTION_LIB_DEFS(t, pr, GWEN_DUMMY_EMPTY_ARG)
 
#define GWEN_LIST_FUNCTIONS(t, pr)
 
#define GWEN_LIST_INIT(t, element)   element->_list1_element=GWEN_List1Element_new(element);
 
#define GWEN_LIST_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_LIST_FUNCTION_LIB_DEFS and following).

typedef struct GWEN_LIST1 GWEN_LIST1
 
typedef struct GWEN_LIST1_ELEMENT GWEN_LIST1_ELEMENT
 
typedef int GWENHYWFAR_CB(* GWEN_LIST1_SORT_FN )(const void *a, const void *b, int ascending)
 
GWENHYWFAR_API GWEN_LIST1GWEN_List1_new (void)
 
GWENHYWFAR_API void GWEN_List1_free (GWEN_LIST1 *l)
 
GWENHYWFAR_API int GWEN_List1_GetCount (const GWEN_LIST1 *l)
 
GWENHYWFAR_API int GWEN_List1_Add (GWEN_LIST1 *l, GWEN_LIST1_ELEMENT *el)
 
GWENHYWFAR_API int GWEN_List1_Insert (GWEN_LIST1 *l, GWEN_LIST1_ELEMENT *el)
 
GWENHYWFAR_API int GWEN_List1_Del (GWEN_LIST1_ELEMENT *el)
 
GWENHYWFAR_API int GWEN_List1_AddList (GWEN_LIST1 *dest, GWEN_LIST1 *l)
 
GWENHYWFAR_API void * GWEN_List1_GetFirst (const GWEN_LIST1 *l)
 
GWENHYWFAR_API void * GWEN_List1_GetLast (const GWEN_LIST1 *l)
 
GWENHYWFAR_API GWEN_LIST1_SORT_FN GWEN_List1_SetSortFn (GWEN_LIST1 *l, GWEN_LIST1_SORT_FN fn)
 
GWENHYWFAR_API void GWEN_List1_Sort (GWEN_LIST1 *l, int ascending)
 
GWENHYWFAR_API GWEN_LIST1_ELEMENTGWEN_List1Element_new (void *d)
 
GWENHYWFAR_API void GWEN_List1Element_free (GWEN_LIST1_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_List1Element_GetData (const GWEN_LIST1_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_List1Element_GetPrevious (const GWEN_LIST1_ELEMENT *el)
 
GWENHYWFAR_API void * GWEN_List1Element_GetNext (const GWEN_LIST1_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 37 of file list1.h.

#define GWEN_LIST1_H

Definition at line 42 of file list1.h.