gtk.bitset
Module for [Bitset] class
class Bitset
Types 1
classBitset : gobject.boxed.Boxed
A [gtk.bitset.Bitset] 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. [gtk.bitset.Bitset] 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 [gtk.bitset_iter.BitsetIter].
The main use case for [gtk.bitset.Bitset] is implementing complex selections for [gtk.selection_model.SelectionModel].
Methods
gtk.bitset.Bitset newEmpty()Creates a new empty bitset. Returns: A new empty bitsetgtk.bitset.Bitset newRange(uint start, uint nItems)Creates a bitset with the given range set.bool add(uint value)Adds value to self if it wasn't part of it before.void addRange(uint start, uint nItems)Adds all values from start (inclusive) to start + n_items (exclusive) in self.void addRangeClosed(uint first, uint last)Adds the closed range [first, last], so first, last and all values in between. first must be smaller than last.void addRectangle(uint start, uint width, uint height, uint stride)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.bool contains(uint value)Checks if the given value has been added to selfgtk.bitset.Bitset copy()Creates a copy of self. Returns: A new bitset that contains the same values as selfvoid difference(gtk.bitset.Bitset other)Sets self to be the symmetric difference of self and other.bool equals(gtk.bitset.Bitset other)Returns true if self and other contain the same values.uint getMaximum()Returns the largest value in self.uint getMinimum()Returns the smallest value in self.uint getNth(uint nth)Returns the value of the nth item in self.ulong getSize()Gets the number of values that were added to the set.ulong getSizeInRange(uint first, uint last)Gets the number of values that are part of the set from first to last (inclusive).void intersect(gtk.bitset.Bitset other)Sets self to be the intersection of self and other.bool isEmpty()Check if no value is contained in bitset. Returns: true if self is emptybool remove(uint value)Removes value from self if it was part of it before.void removeAll()Removes all values from the bitset so that it is empty again.void removeRange(uint start, uint nItems)Removes all values from start (inclusive) to start + n_items (exclusive) in self.void removeRangeClosed(uint first, uint last)Removes the closed range [first, last], so first, last and all values in between. first must be smaller than last.void removeRectangle(uint start, uint width, uint height, uint stride)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.void shiftLeft(uint amount)Shifts all values in self to the left by amount.void shiftRight(uint amount)Shifts all values in self to the right by amount.void splice(uint position, uint removed, uint added)This is a support function for [gio.list_model.ListModel] handling, by mirroring the `GlistModel::items-changed` signal.void subtract(gtk.bitset.Bitset other)Sets self to be the subtraction of other from self.void union_(gtk.bitset.Bitset other)Sets self to be the union of self and other.