BTW, I'm thinking of this:
##
struct pdf_list_s
{
void *gl_list;
};
struct pdf_list_iterator_s
{
void *gl_iterator;
};
struct pdf_list_node_s
{
void *gl_node;
};
typedef pdf_list_s *pdf_list_t;
typedef pdf_list_node_s *pdf_list_node_t;
typedef pdf_list_iterator_s *pdf_list_iterator_t;
###
Another issue is the function pointers,
typedef bool (*gl_listelement_equals_fn) (const void *elt1, const void *elt2);
typedef size_t (*gl_listelement_hashcode_fn) (const void *elt);
typedef void (*gl_listelement_dispose_fn) (const void *elt);
I think they're just fine for inclusion in pdf-list.h, don't you ?
regards,
-gerel