Method

GLibSequenceinsert_sorted

since: 2.14

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

Parameters

data

Type: gpointer

The data to insert.

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

Type: GCompareDataFunc

The function used to compare items in the sequence.

cmp_data

Type: gpointer

User data passed to cmp_func.

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

Return value

Type: GSequenceIter

A GSequenceIter pointing to the new item.

The data is owned by the instance.