There is one instance of QTR_Impl per actual node, though several QUB_Tree objects may refer to it. The QTR_Impl is allocated from the heap, and is reference counted. When working directly with QTR_Impl *impl, call QTR_INCREF( impl ) when you receive it, and QTR_DECREF( impl ) when you're done. This rigmarole is done behind the scenes by QUB_Tree, INode, and qtr.Node. Please don't allocate them yourself -- get them from QUB_Tree::Create().
QTR_DataType | c type |
QTR_TYPE_EMPTY | (none) |
QTR_TYPE_UNKNOWN | ? |
QTR_TYPE_POINTER | void * |
QTR_TYPE_STRING | char |
QTR_TYPE_UCHAR | unsigned char |
QTR_TYPE_CHAR | char |
QTR_TYPE_USHORT | unsigned short |
QTR_TYPE_SHORT | short |
QTR_TYPE_UINT | unsigned int |
QTR_TYPE_INT | int |
QTR_TYPE_ULONG | unsigned 64bit int |
QTR_TYPE_LONG | 64bit int |
QTR_TYPE_FLOAT | float |
QTR_TYPE_DOUBLE | double |
QTR_TYPE_LDOUBLE | 80-bit float |
The 64-bit integer and 80-bit float types probably don't work.