Method
GLibTreereplace_node
since: 2.68
Declaration [src]
GTreeNode*
g_tree_replace_node (
GTree* tree,
gpointer key,
gpointer value
)
Description [src]
Inserts a new key and value into a GTree
similar to g_tree_insert_node().
The difference is that if the key already exists in the GTree
, it gets
replaced by the new key. If you supplied a value_destroy_func
when
creating the GTree
, the old value is freed using that function. If you
supplied a key_destroy_func
when creating the GTree
, the old key is
freed using that function.
The tree is automatically ‘balanced’ as new key/value pairs are added, so that the distance from the root to every leaf is as small as possible.
Available since: 2.68
Parameters
key
-
Type:
gpointer
The key to insert.
The argument can be NULL
.The data is owned by the caller of the method. value
-
Type:
gpointer
The value corresponding to the key.
The argument can be NULL
.The data is owned by the caller of the method.
Return value
Type: GTreeNode
The inserted (or set) node or NULL
if insertion would overflow the tree node counter.
The returned data is owned by the instance. |
The return value can be NULL . |