QTR_Impl

The underlying structure representing a node in memory.
In Delphi this is known as TQUB_QFS_NodeMem.
There are several functions in QUB_QTR_Impl.h which manipulate these directly, but please use the c++, pascal, or python wrappers if you can. They make it easier anyway.

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().

void QTR_INCREF( QTR_Impl *impl )

Increments the reference count. This node is gauranteed to stay around until you call QTR_DECREF.

void QTR_INCREF( QTR_Impl *impl )

Decrements the reference count. If the count reaches 0, the node will be deallocated. You should already have called QTR_INCREF, or received that responsibility from someone who did.

enum QTR_DataType

QTR_DataTypec type
QTR_TYPE_EMPTY(none)
QTR_TYPE_UNKNOWN?
QTR_TYPE_POINTERvoid *
QTR_TYPE_STRINGchar
QTR_TYPE_UCHARunsigned char
QTR_TYPE_CHARchar
QTR_TYPE_USHORTunsigned short
QTR_TYPE_SHORTshort
QTR_TYPE_UINTunsigned int
QTR_TYPE_INTint
QTR_TYPE_ULONGunsigned 64bit int
QTR_TYPE_LONG64bit int
QTR_TYPE_FLOATfloat
QTR_TYPE_DOUBLEdouble
QTR_TYPE_LDOUBLE80-bit float

The 64-bit integer and 80-bit float types probably don't work.