cuoo/hcobj.h: Hash-consed Object Headers
[cuoo: Dynamic Objects and Operations]


#define CUOO_HCOBJ
#define CUOO_HCOBJ_SHIFT   0
#define CUOO_HCOBJ_KEY(obj)   ((void *)((char *)(obj) + CUOO_HCOBJ_SHIFT))


typedef struct cuooP_hcobj * cuooP_hcobj_t

Detailed Description

This header defines a macro CUOO_HCOBJ to put right after the opening brace of a hash-consed object struct:

 struct my_obj {
     ... key fields ...
     ... value fields if present ...

Note that there is no semicolon after the macro. A macro is used here, because the need for this field depends on the configuration.

Define Documentation

#define CUOO_HCOBJ

Put this on the top of struct which define hash-consed objects, leaving out semicolon.

#define CUOO_HCOBJ_SHIFT   0

The offset of the key-part of a hash-consed object struct.

Generated 2009-11-23 for culibs-0.25 using Doxygen. Maintained by Petter Urkedal.