Daylight v4.9
Release Date: 1 February 2008

Object Synopsis

datatree -- an object representing a THOR Datatree (TDT)


A datatree object is the toolkit representation of a THOR datatree. A datatree always has an identifier dataitem as its first child object. It may have other dataitem child objects (data related to the root identifier), and may also contain datatree child objects -- subtrees, each of which is a non-SMILES identifier and its related data. Subtrees are not recursive; a subtree can only contain dataitems, not other subtrees.

A datatree's child dataitem and datatree objects are accessed via streams of TYP_DATAITEM and TYP_DATATREE, respectively. Dataitems and subtrees are deallocated using dt_dealloc(3). Dataitems are created using dt_alloc_dataitem(3).

Datatrees and subtrees are not "created" directly. That is, there is no "dt_alloc_tdt()" function. Instead, you simply retrieve the TDT of interest, via dt_thor_tdtget(3), and if it isn't present in the database and the database was opened with write permission, the THOR system creates a new TDT object and returns it. This insures that you don't allocate a TDT for an identifier that is already present in the database.

Related Topics

dataitem(3ob) datatype(3ob) database(3ob) stream(3ob)

dt_thor_tdtlockedby(3) dt_setinteger(3) dt_thor_moveitem(3) dt_typename(3) dt_sethandle(3) dt_integer(3) dt_thor_tdtput_raw(3) dt_thor_tdtget_raw(3) dt_server(3) dt_thor_tdtremove(3) dt_mer_sethits(3) dt_real(3) dt_handle(3) dt_count(3) dt_string(3) dt_setstring(3) dt_thor_tdtrevise(3) dt_setadjunct(3) dt_stream(3) dt_thor_str2tdt(3) dt_database(3) dt_boolean(3) dt_setreal(3) dt_proptype(3) dt_dealloc(3) dt_thor_tdtremove_raw(3) dt_setboolean(3) dt_parent(3) dt_adjunct(3) dt_thor_tdtget(3) dt_thor_tdtput(3) dt_thor_tdtmerge(3) dt_thor_tdt2str(3) dt_type(3) dt_molecule(3) dt_propnames(3) dt_appendstring(3) dt_thor_alloc_dataitem(3)