GLib.Sequence¶
Fields¶
None
Methods¶
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Details¶
- class GLib.Sequence¶
The
GLib.Sequence
struct is an opaque data type representing a sequence data type.- classmethod foreach_range(begin, end, func, *user_data)[source]¶
- Parameters:
begin (
GLib.SequenceIter
) – aGLib.SequenceIter
end (
GLib.SequenceIter
) – aGLib.SequenceIter
Calls func for each item in the range (begin, end) passing user_data to the function. func must not modify the sequence itself.
New in version 2.14.
- classmethod get(iter)[source]¶
- Parameters:
iter (
GLib.SequenceIter
) – aGLib.SequenceIter
- Returns:
the data that iter points to
- Return type:
Returns the data that iter points to.
New in version 2.14.
- classmethod insert_before(iter, data)[source]¶
- Parameters:
iter (
GLib.SequenceIter
) – aGLib.SequenceIter
- Returns:
an iterator pointing to the new item
- Return type:
Inserts a new item just before the item pointed to by iter.
New in version 2.14.
- classmethod move(src, dest)[source]¶
- Parameters:
src (
GLib.SequenceIter
) – aGLib.SequenceIter
pointing to the item to movedest (
GLib.SequenceIter
) – aGLib.SequenceIter
pointing to the position to which the item is moved
Moves the item pointed to by src to the position indicated by dest. After calling this function dest will point to the position immediately after src. It is allowed for src and dest to point into different sequences.
New in version 2.14.
- classmethod move_range(dest, begin, end)[source]¶
- Parameters:
dest (
GLib.SequenceIter
) – aGLib.SequenceIter
begin (
GLib.SequenceIter
) – aGLib.SequenceIter
end (
GLib.SequenceIter
) – aGLib.SequenceIter
Inserts the (begin, end) range at the destination pointed to by dest. The begin and end iters must point into the same sequence. It is allowed for dest to point to a different sequence than the one pointed into by begin and end.
If dest is
None
, the range indicated by begin and end is removed from the sequence. If dest points to a place within the (begin, end) range, the range does not move.New in version 2.14.
- classmethod range_get_midpoint(begin, end)[source]¶
- Parameters:
begin (
GLib.SequenceIter
) – aGLib.SequenceIter
end (
GLib.SequenceIter
) – aGLib.SequenceIter
- Returns:
a
GLib.SequenceIter
pointing somewhere in the (begin, end) range- Return type:
Finds an iterator somewhere in the range (begin, end). This iterator will be close to the middle of the range, but is not guaranteed to be exactly in the middle.
The begin and end iterators must both point to the same sequence and begin must come before or be equal to end in the sequence.
New in version 2.14.
- classmethod remove(iter)[source]¶
- Parameters:
iter (
GLib.SequenceIter
) – aGLib.SequenceIter
Removes the item pointed to by iter. It is an error to pass the end iterator to this function.
If the sequence has a data destroy function associated with it, this function is called on the data for the removed item.
New in version 2.14.
- classmethod remove_range(begin, end)[source]¶
- Parameters:
begin (
GLib.SequenceIter
) – aGLib.SequenceIter
end (
GLib.SequenceIter
) – aGLib.SequenceIter
Removes all items in the (begin, end) range.
If the sequence has a data destroy function associated with it, this function is called on the data for the removed items.
New in version 2.14.
- classmethod set(iter, data)[source]¶
- Parameters:
iter (
GLib.SequenceIter
) – aGLib.SequenceIter
Changes the data for the item pointed to by iter to be data. If the sequence has a data destroy function associated with it, that function is called on the existing data that iter pointed to.
New in version 2.14.
- classmethod sort_changed(iter, cmp_func, *cmp_data)[source]¶
- Parameters:
iter (
GLib.SequenceIter
) – AGLib.SequenceIter
cmp_func (
GLib.CompareDataFunc
) – the function used to compare items in the sequence
Moves the data pointed to by iter to a new position as indicated by cmp_func. This function should be called for items in a sequence already sorted according to cmp_func whenever some aspect of an item changes so that cmp_func may return different values for that item.
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.
New in version 2.14.
- classmethod sort_changed_iter(iter, iter_cmp, *cmp_data)[source]¶
- Parameters:
iter (
GLib.SequenceIter
) – aGLib.SequenceIter
iter_cmp (
GLib.SequenceIterCompareFunc
) – the function used to compare iterators in the sequence
Like
GLib.Sequence.sort_changed
(), but uses aGLib.SequenceIterCompareFunc
instead of aGLib.CompareDataFunc
as the compare function.iter_cmp is called with two iterators pointing into the
GLib.Sequence
that iter points into. 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.New in version 2.14.
- classmethod swap(a, b)[source]¶
- Parameters:
a (
GLib.SequenceIter
) – aGLib.SequenceIter
b (
GLib.SequenceIter
) – aGLib.SequenceIter
Swaps the items pointed to by a and b. It is allowed for a and b to point into difference sequences.
New in version 2.14.
- append(data)[source]¶
- Parameters:
- Returns:
an iterator pointing to the new item
- Return type:
Adds a new item to the end of self.
New in version 2.14.
- foreach(func, *user_data)[source]¶
- Parameters:
Calls func for each item in the sequence passing user_data to the function. func must not modify the sequence itself.
New in version 2.14.
- free()[source]¶
Frees the memory allocated for self. If self has a data destroy function associated with it, that function is called on all items in self.
New in version 2.14.
- get_begin_iter()[source]¶
- Returns:
the begin iterator for self.
- Return type:
Returns the begin iterator for self.
New in version 2.14.
- get_end_iter()[source]¶
- Returns:
the end iterator for self
- Return type:
Returns the end iterator for seg
New in version 2.14.
- get_iter_at_pos(pos)[source]¶
- Parameters:
pos (
int
) – a position in self, or -1 for the end- Returns:
The
GLib.SequenceIter
at position pos- Return type:
Returns the iterator at position pos. If pos is negative or larger than the number of items in self, the end iterator is returned.
New in version 2.14.
- get_length()[source]¶
- Returns:
the length of self
- Return type:
Returns the positive length (>= 0) of self. Note that this method is O(h) where `h’ is the height of the tree. It is thus more efficient to use
GLib.Sequence.is_empty
() when comparing the length to zero.New in version 2.14.
- insert_sorted(data, cmp_func, *cmp_data)[source]¶
- Parameters:
cmp_func (
GLib.CompareDataFunc
) – the function used to compare items in the sequence
- Returns:
a
GLib.SequenceIter
pointing to the new item.- Return type:
Inserts data into self 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 self, 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
GLib.Sequence
, it is more efficient to do unsorted insertions and then callGLib.Sequence.sort
() orGLib.Sequence.sort_iter
().New in version 2.14.
- insert_sorted_iter(data, iter_cmp, *cmp_data)[source]¶
- Parameters:
iter_cmp (
GLib.SequenceIterCompareFunc
) – the function used to compare iterators in the sequence
- Returns:
a
GLib.SequenceIter
pointing to the new item- Return type:
Like
GLib.Sequence.insert_sorted
(), but uses aGLib.SequenceIterCompareFunc
instead of aGLib.CompareDataFunc
as the compare function.iter_cmp is called with two iterators pointing into self. 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.
Note that when adding a large amount of data to a
GLib.Sequence
, it is more efficient to do unsorted insertions and then callGLib.Sequence.sort
() orGLib.Sequence.sort_iter
().New in version 2.14.
- is_empty()[source]¶
-
Returns
True
if the sequence contains zero items.This function is functionally identical to checking the result of
GLib.Sequence.get_length
() being equal to zero. However this function is implemented in O(1) running time.New in version 2.48.
- lookup(data, cmp_func, *cmp_data)[source]¶
- Parameters:
cmp_func (
GLib.CompareDataFunc
) – the function used to compare items in the sequence
- Returns:
an
GLib.SequenceIter
pointing to the position of the first item found equal to data according to cmp_func and cmp_data, orNone
if no such item exists- Return type:
Returns an iterator pointing to the position of the first item found equal to data according to cmp_func and cmp_data. If more than one item is equal, it is not guaranteed that it is the first which is returned. In that case, you can use
GLib.SequenceIter.next
() andGLib.SequenceIter.prev
() to get others.cmp_func is called with two items of the self, 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.
This function will fail if the data contained in the sequence is unsorted.
New in version 2.28.
- lookup_iter(data, iter_cmp, *cmp_data)[source]¶
- Parameters:
iter_cmp (
GLib.SequenceIterCompareFunc
) – the function used to compare iterators in the sequence
- Returns:
an
GLib.SequenceIter
pointing to the position of the first item found equal to data according to iter_cmp and cmp_data, orNone
if no such item exists- Return type:
Like
GLib.Sequence.lookup
(), but uses aGLib.SequenceIterCompareFunc
instead of aGLib.CompareDataFunc
as the compare function.iter_cmp is called with two iterators pointing into self. 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.
New in version 2.28.
- prepend(data)[source]¶
- Parameters:
- Returns:
an iterator pointing to the new item
- Return type:
Adds a new item to the front of self
New in version 2.14.
- search(data, cmp_func, *cmp_data)[source]¶
- Parameters:
cmp_func (
GLib.CompareDataFunc
) – the function used to compare items in the sequence
- Returns:
an
GLib.SequenceIter
pointing to the position where data would have been inserted according to cmp_func and cmp_data- Return type:
Returns an iterator pointing to the position where data would be inserted according to cmp_func and cmp_data.
cmp_func is called with two items of the self, 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.
If you are simply searching for an existing element of the sequence, consider using
GLib.Sequence.lookup
().This function will fail if the data contained in the sequence is unsorted.
New in version 2.14.
- search_iter(data, iter_cmp, *cmp_data)[source]¶
- Parameters:
iter_cmp (
GLib.SequenceIterCompareFunc
) – the function used to compare iterators in the sequence
- Returns:
a
GLib.SequenceIter
pointing to the position in self where data would have been inserted according to iter_cmp and cmp_data- Return type:
Like
GLib.Sequence.search
(), but uses aGLib.SequenceIterCompareFunc
instead of aGLib.CompareDataFunc
as the compare function.iter_cmp is called with two iterators pointing into self. 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.
If you are simply searching for an existing element of the sequence, consider using
GLib.Sequence.lookup_iter
().This function will fail if the data contained in the sequence is unsorted.
New in version 2.14.
- sort(cmp_func, *cmp_data)[source]¶
- Parameters:
cmp_func (
GLib.CompareDataFunc
) – the function used to sort the sequence
Sorts self using cmp_func.
cmp_func is passed two items of self and should return 0 if they are equal, a negative value if the first comes before the second, and a positive value if the second comes before the first.
New in version 2.14.
- sort_iter(cmp_func, *cmp_data)[source]¶
- Parameters:
cmp_func (
GLib.SequenceIterCompareFunc
) – the function used to compare iterators in the sequence
Like
GLib.Sequence.sort
(), but uses aGLib.SequenceIterCompareFunc
instead of aGLib.CompareDataFunc
as the compare functioncmp_func is called with two iterators pointing into self. 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.
New in version 2.14.