Fri, 30 Nov 2012 21:18:13 +0100
added existing source code
/* * File: ucx.h * Author: olaf * * Created on 31. Dezember 2011, 17:17 */ #ifndef UCX_H #define UCX_H #include <stdlib.h> #ifdef __cplusplus #ifndef _Bool #define _Bool bool #define restrict #endif extern "C" { #endif #define UCX_FOREACH(type,list,elem) \ for (type elem = list ; elem != NULL ; elem = elem->next) #ifdef __cplusplus #define ucx_dynarray_new(type,identifier,length)\ type* identifier; identifier = new type[length] #define ucx_dynarray_free(identifier) delete [] identifier #else #define ucx_dynarray_new(type,identifier,length)\ type identifier[length] #define ucx_dynarray_free(identifier) #endif /* element1,element2,custom data -> {-1,0,1} */ typedef int(*cmp_func)(void*,void*,void*); /* element,custom data -> copy of element */ typedef void*(*copy_func)(void*,void*); /* buffer, element size, element count, stream */ typedef size_t(*write_func)(const void*, size_t, size_t, void*); /* buffer, element size, element count, stream */ typedef size_t(*read_func)(void*, size_t, size_t, void*); #ifdef __cplusplus } #endif #endif /* UCX_H */