Reply to Chris,
I've hit another snag on my C library interfacing. The .h defines a
function:
//typedef bool (*TCOD_bsp_callback_t)(TCOD_bsp_t *node, void *userData);
In C read this as: pointer to function taking ... (stuff) and returning bool
in D the more normal way to write that would be:
typedef bool function(bsp_t* node, void* userData) TCOD_bsp_callback_t;
if you are passing this to C code you will need an exter(C) in there somewhere.
bool* bsp_callback_t(bsp_t* node, void* userData); //bsp_t is a struct
defining the bsp tree
Sidenote: Did I translate that right?
Try it, test it, beat the snot out of it. If it works it's likely correct.
Anyway, this function is later passed into various functions, like:
bool bsp_traverse_pre_order(bsp_t *node, bsp_callback_t listener, void
*userData);
I've tried doing some reading on this board regarding c callbacks and
delegates, but it feels a bit over my head. Can anyone assist me in
figuring out how to D-ify this bit of code so I can interact with the
C dll?
C code and delegates are incomparable but C and function pointers are not.