lookup_iter
Description:
[ Version ( since = "2.28" ) ]
public SequenceIter<G> lookup_iter (G data, SequenceIterCompareFunc<G> iter_cmp)
public SequenceIter<G> lookup_iter (G data, SequenceIterCompareFunc<G> iter_cmp)
Like lookup, but uses a SequenceIterCompareFunc instead of a CompareDataFunc as the compare function.
iter_cmp
is called with two iterators pointing into this. It should return 0 if the iterators
are equal, a negative value if the first iterator comes before the second, and a positive value if the second iterator comes before the first.
This function will fail if the data contained in the sequence is unsorted.
Example: Lookup, iter-based:
public static int main (string[] args) {
Sequence<string> seq = new Sequence<string> ();
// sorted data:
seq.append ("1. Lorem");
seq.append ("2. ipsum");
seq.append ("3. dolor");
seq.append ("4. sit");
seq.append ("5. amet");
SequenceIter<string> iter = seq.lookup_iter ("3. dolor", (a, b) => {
return strcmp (a.get (), b.get ());
});
assert (iter != null);
// Output: ``3. dolor``
print ("%s\n", iter.get ());
return 0;
}
valac --pkg glib-2.0 GLib.Sequence.lookup_iter.vala
Parameters:
this |
a Sequence |
data |
data to look up |
iter_cmp |
the function used to compare iterators in the sequence |
cmp_data |
user data passed to |
Returns:
an SequenceIter pointing to the position of the first item found equal to
|