id_replace_data
Description:
public bool id_replace_data (Quark key_id, G oldval, owned G newval, DestroyNotify? destroy, out DestroyNotify? old_destroy)
Compares the member that is associated with key_id in datalist to oldval, and if they are the same,
replace oldval with newval.
This is like a typical atomic compare-and-exchange operation, for a member of datalist.
If the previous value was replaced then ownership of the old value (oldval) is passed to the caller, including the registered
destroy notify for it (passed out in old_destroy). Its up to the caller to free this as they wish, which may or may not include
using old_destroy as sometimes replacement should not destroy the object in the normal way.
Parameters:
| key_id |
the Quark identifying a data element |
| oldval |
the old value to compare against |
| newval |
the new value to replace it with |
| destroy |
destroy notify for the new value |
| old_destroy |
destroy notify for the existing value |
| datalist |
location of a datalist |
Returns:
|
true if the existing value for |