ref_sink


Description:

public Attributes ref_sink ()

Attributes uses a floating reference count system.

end and gck_attributes_new_empty both return floating references.

Calling ref_sink on a Attributes with a floating reference will convert the floating reference into a full reference. Calling ref_sink on a non-floating Attributes results in an additional normal reference being added.

In other words, if the this is floating, then this call "assumes ownership" of the floating reference, converting it to a normal reference. If the this is not floating, then this call adds a new normal reference increasing the reference count by one.

All Gck library functions that assume ownership of floating references are documented as such. Essentially any Gck function that performs an operation using a Attributes argument rather than operating on the atributes themselves, will accept a floating reference.

Parameters:

this

an attribute array

Returns:

the referenced attributes