Bitset
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 struct@Gtk.BitsetIter.
The main use case for GtkBitset
is implementing complex selections for iface@Gtk.SelectionModel.
Constructors
Functions
Adds the closed range @first, @last, so @first, @last and all values in between. @first must be smaller than @last.
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.
Sets @self to be the symmetric difference of @self and @other.
Returns the largest value in @self.
Returns the smallest value in @self.
Gets the number of values that are part of the set from @first to @last (inclusive).
Removes all values from @start (inclusive) to @start + @n_items (exclusive) in @self.
Removes the closed range @first, @last, so @first, @last and all values in between. @first must be smaller than @last.
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.
Shifts all values in @self to the right by @amount.