The Type System
At the most basic level of the GObject framework lies a generic and dynamic type system called GType. The GType system holds a runtime description of all objects allowing glue code to facilitate multiple language bindings. The type system can handle any singly inherited class structure, in addition to non-classed types such as opaque pointers, strings, and variously sized integers and floating point numbers.
The type system knows how to copy, assign, and destroy values belonging to any of the registered types. This is trivial for types like integers, but many complex objects are reference-counted, while some are complex but not reference-counted. When the type system “copies” a reference-counted object, it will typically just increase its reference count, whereas when copying a complex, non-reference-counted object (such as a string), it will typically create an actual copy by allocating memory.
This basic functionality is used for implementing GValue, a type of generic container that can hold values of any type known by the type system. Such containers are particularly useful when interacting with dynamically typed language environments in which all native values reside in such type-tagged containers.
Read more about this topic: GObject
Famous quotes containing the words type and/or system:
“It used to be said that you had to know what was happening in America because it gave us a glimpse of our future. Today, the rest of America, and after that Europe, had better heed what happens in California, for it already reveals the type of civilisation that is in store for all of us.”
—Alistair Cooke (b. 1908)
“The North American system only wants to consider the positive aspects of reality. Men and women are subjected from childhood to an inexorable process of adaptation; certain principles, contained in brief formulas are endlessly repeated by the press, the radio, the churches, and the schools, and by those kindly, sinister beings, the North American mothers and wives. A person imprisoned by these schemes is like a plant in a flowerpot too small for it: he cannot grow or mature.”
—Octavio Paz (b. 1914)