Next: , Previous: , Up: Referable Objects   [Index]


4.2.7.2 Object Classes

The data types (in the libaime referable objects type system) fall in one of the three classes:

Managing references for the first data types class is most trivial: there is nothing to manage. When operating such data types via interfaces meant for reference management the data type attributes will be described as a whole lot of 0s and NULLs.

The intrinsic types belong to this first data types class.

See Intrinsic Types.

Managing references for the second data types class is straightforward: simple reference counting does fine. Have a count for each object, increment it when adding a new reference, decrement it when removing some reference and free data reserved resources when the count comes zero. Since objects of data types falling into this data types class cannot store references to other objects themselves there are no such issues as reference cycling and cycle detection.

Managing references for the third class should be conceptually simple for the libaime referable objects type system, though it does require a bit of pain to add a new type to the type system.

The type system itself is a mere convention. There is nothing to it, other than the data types observing some interoperability rules. Thus, the type system provides for manageability, not for management. Objects must free themselves at the right time, the type system only provides the premises to make possible the determination of the right time.

See How References Are Tracked.


Next: How References Are Tracked, Previous: Object and References, Up: Referable Objects   [Index]