Args: | |||
_ typ | : the type of object to allocate |
Returns: | |||
_ NULL | : if no memory was available or the type was not recognized | ||
else a new XCLE_Object of type 'typ'. |
Errors: | |||
_ ENOMEM | : if no memory was available |
OOPS: | |||
Something was wrong here |
Args: | |||
_ obj | : object to clone |
Returns: | |||
_ NULL | : if a NULL object was passed as argument, or no memory was available | ||
else a cloned version of the object (flat copy). |
Errors: | |||
_ EINVAL | : if a NULL object was passed as argument | ||
_ ENOMEM | : if no memory was available |
OOPS: | |||
Something was wrong here |
Args: | |||
_ obj | : XCLE_Object to dereference |
Returns: | |||
_ NULL | : if a NULL object was passed as argument | ||
else the dereferenced object. |
Errors: | |||
_ EINVAL | : if a NULL object was passed as argument |
Args: | |||
_ obj | : object to free |
Note: | |||
The object is freed if and only if its reference count has fallen to zero, meaning | |||
no other referenced object and no object storage structure contains it anymore. |
Args: | |||
_ obj | : object to query |
Returns: | |||
_ -1 | : if a NULL object was passed as argument | ||
else the numeric identifier for the object's type. |
Errors: | |||
_ EINVAL | : if a NULL object was passed as argument |
Args: | |||
_ typ | : numeric identifier for a type |
Returns: | |||
_ "" | : if an unknown type was given | ||
else a string name for that type. |
Args: | |||
_ obj | : object to test | ||
_ objw | : reference object |
Returns: | |||
_ -1 | : if a NULL object was passed as argument | ||
_ 0 | : if the two objects were distinct | ||
_ +1 | : if the two objects were equal |
Errors: | |||
_ EINVAL | : if a NULL object was passed as argument |
Args: | |||
_ obj | : object to convert |
Returns: | |||
a generic object containing 'obj' |
Args: | |||
_ obj | : the object to convert |
Returns: | |||
_ NULL | : if the object was NULL, or of a different type | ||
else the converted object. |
Errors: | |||
_ EINVAL | : if the object was NULL, or of an incompatible type |