The type of an "equal" callback function for collections.
typedef Ring1_Result (Ring1_Collection_IsEqualToCallback)(bool *result, void* first, void *second);
A function of this type can be associated with certain collections.
The function will be invoked by the associated collection when elements need to be compared for equality.
The pointers to the elements are passed as the 2nd and 3rd argument to the function,
a pointer to the variable to assign the result to as its 1st argument.
An "isEqualTo" callback function must not mutate the associated pointer collection.
One can safely define an "isEqualTo" callback with a more specialized pointer types than
- A pointer to the
- A pointer to the first element.
- A pointer to the second element.
*result is assigned
true if the elements are equal.
Otherwise it is assigned
result is not dereferenced.
Ring1_Result_Success on success.
Ring1_Result_Failure on failure.