X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=doc%2Fionnotes%2Fnode3.html;fp=doc%2Fionnotes%2Fnode3.html;h=0000000000000000000000000000000000000000;hb=de01e0dd832dc5eeac12f504d02b362c52bb4557;hp=63c9852e7ad8949d78479cf109b2f3d2a604a06e;hpb=24c77c99349b1ebb879c674e3c33a90c125983a5;p=ion3.git diff --git a/doc/ionnotes/node3.html b/doc/ionnotes/node3.html deleted file mode 100644 index 63c9852..0000000 --- a/doc/ionnotes/node3.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - -2 Object system implementation - - - - - - - - - - - - - - - - - - - - - - -

-2 Object system implementation -

- -

-First, to get things clear, what are considered objects here are C -structures containing a properly initialised -structure defined in ioncore/obj.h as the first element (or the -first element of the structure which is the first element and so on which -gives rise to inheritance). The WObj structure contains a pointer -to a WObjDescr class type info structure and -a list of so called ``watches''. The WObjDescr structure simply -lists the class name, a table of dynamic functions and a pointer to -deinitialisation function (or ``destructor''). - -

-Ion does not do any reference counting, garbage collecting or other -fancy things related to automatic safe freeing of objects with its -simplistic object system. Instead special watches (the WWatch - structure) may be used to create safe references to -objects that might be destroyed during the time the specific pointer is -needed. When an object is destroyed, its list of watches is processed, -setting the pointers in the watches to NULL and the watch handlers for -each watch are called. - -

- -

- -

- - - -