Method

GLibSequenceinsert_sorted

Declaration

GSequenceIter*
g_sequence_insert_sorted (
  GSequence* seq,
  gpointer data,
  GCompareDataFunc cmp_func,
  gpointer cmp_data
)

Description

Inserts data into seq using cmp_func to determine the new position. The sequence must already be sorted according to cmp_func; otherwise the new position of data is undefined.

cmp_func is called with two items of the seq, and cmp_data. It should return 0 if the items are equal, a negative value if the first item comes before the second, and a positive value if the second item comes before the first.

Note that when adding a large amount of data to a GSequence, it is more efficient to do unsorted insertions and then call g_sequence_sort() or g_sequence_sort_iter().

Available since:2.14
This method is not directly available to language bindings.

Parameters

data gpointer
 

The data to insert.

 The argument can be NULL.
 The data is owned by the caller of the function.
cmp_func GCompareDataFunc
 

The function used to compare items in the sequence.

cmp_data gpointer
 

User data passed to cmp_func.

 The argument can be NULL.
 The data is owned by the caller of the function.

Return value

Returns: GSequenceIter
 

A GSequenceIter pointing to the new item.

 The data is owned by the instance.