Struct

Gtk.Bitset

Description [src]

struct GtkBitset {
  /* No available fields */
}

GtkBitset is a data structure for representing 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, that is set self to contain all values that were either contained in self or in other, but not in both. This operation is also called an XOR.

gtk_bitset_equals

Returns TRUE if self and other contain the same values.

gtk_bitset_get_maximum

Returns the largest value in self. If self is empty, 0 is returned.

gtk_bitset_get_minimum

Returns the smallest value in self. If self is empty, G_MAXUINT is returned.

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. For example, if the set is empty, 0 is returned.

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, that is remove all values from self that are not part of 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. Values smaller than amount are discarded.

gtk_bitset_shift_right

Shifts all values in self to the right by amount. Values that end up too large to be held in a #guint are discarded.

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, that is remove all values from self that are part of other.

gtk_bitset_union

Sets self to be the union of self and other, that is add all values from other into self that weren’t part of it.

gtk_bitset_unref

Releases a reference on the given GtkBitset.