Struct
GtkBitset
Description [src]
struct GtkBitset {
/* No available fields */
}
A GtkBitset
represents a set of unsigned integers.
Another name for this data structure is “bitmap”.
The current implementation is based on roaring bitmaps.
A bitset allows adding a set of integers and provides support for set operations
like unions, intersections and checks for equality or if a value is contained
in the set. GtkBitset
also contains various functions to query metadata about
the bitset, such as the minimum or maximum values or its size.
The fastest way to iterate values in a bitset is GtkBitsetIter
.
The main use case for GtkBitset
is implementing complex selections for
GtkSelectionModel
.
Constructors
gtk_bitset_new_empty
Creates a new empty bitset.
gtk_bitset_new_range
Creates a bitset with the given range set.
Instance methods
gtk_bitset_add
Adds value
to self
if it wasn’t part of it before.
gtk_bitset_add_range
Adds all values from start
(inclusive) to start
+ n_items
(exclusive) in self
.
gtk_bitset_add_range_closed
Adds the closed range [first
, last
], so first
, last
and all
values in between. first
must be smaller than last
.
gtk_bitset_add_rectangle
Interprets the values as a 2-dimensional boolean grid with the given stride
and inside that grid, adds a rectangle with the given width
and height
.
gtk_bitset_contains
Checks if the given value
has been added to self
.
gtk_bitset_copy
Creates a copy of self
.
gtk_bitset_difference
Sets self
to be the symmetric difference of self
and other
.
gtk_bitset_equals
Returns TRUE
if self
and other
contain the same values.
gtk_bitset_get_maximum
Returns the largest value in self
.
gtk_bitset_get_minimum
Returns the smallest value in self
.
gtk_bitset_get_nth
Returns the value of the nth
item in self.
gtk_bitset_get_size
Gets the number of values that were added to the set.
gtk_bitset_get_size_in_range
Gets the number of values that are part of the set from first
to last
(inclusive).
gtk_bitset_intersect
Sets self
to be the intersection of self
and other
.
gtk_bitset_is_empty
Check if no value is contained in bitset.
gtk_bitset_ref
Acquires a reference on the given GtkBitset
.
gtk_bitset_remove
Removes value
from self
if it was part of it before.
gtk_bitset_remove_all
Removes all values from the bitset so that it is empty again.
gtk_bitset_remove_range
Removes all values from start
(inclusive) to start
+ n_items
(exclusive)
in self
.
gtk_bitset_remove_range_closed
Removes the closed range [first
, last
], so first
, last
and all
values in between. first
must be smaller than last
.
gtk_bitset_remove_rectangle
Interprets the values as a 2-dimensional boolean grid with the given stride
and inside that grid, removes a rectangle with the given width
and height
.
gtk_bitset_shift_left
Shifts all values in self
to the left by amount
.
gtk_bitset_shift_right
Shifts all values in self
to the right by amount
.
gtk_bitset_splice
This is a support function for GListModel
handling, by mirroring
the GlistModel::items-changed
signal.
gtk_bitset_subtract
Sets self
to be the subtraction of other
from self
.
gtk_bitset_union
Sets self
to be the union of self
and other
.
gtk_bitset_unref
Releases a reference on the given GtkBitset
.