QtBase  v6.3.1
Macros | Typedefs | Functions
hb-set.h File Reference
#include "hb-common.h"
Include dependency graph for hb-set.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define HB_SET_VALUE_INVALID   ((hb_codepoint_t) -1)
 

Typedefs

typedef struct hb_set_t hb_set_t
 

Functions

HB_EXTERN hb_set_thb_set_create (void)
 
HB_EXTERN hb_set_thb_set_get_empty (void)
 
HB_EXTERN hb_set_thb_set_reference (hb_set_t *set)
 
HB_EXTERN void hb_set_destroy (hb_set_t *set)
 
HB_EXTERN hb_bool_t hb_set_set_user_data (hb_set_t *set, hb_user_data_key_t *key, void *data, hb_destroy_func_t destroy, hb_bool_t replace)
 
HB_EXTERN voidhb_set_get_user_data (hb_set_t *set, hb_user_data_key_t *key)
 
HB_EXTERN hb_bool_t hb_set_allocation_successful (const hb_set_t *set)
 
HB_EXTERN hb_set_thb_set_copy (const hb_set_t *set)
 
HB_EXTERN void hb_set_clear (hb_set_t *set)
 
HB_EXTERN hb_bool_t hb_set_is_empty (const hb_set_t *set)
 
HB_EXTERN void hb_set_invert (hb_set_t *set)
 
HB_EXTERN hb_bool_t hb_set_has (const hb_set_t *set, hb_codepoint_t codepoint)
 
HB_EXTERN void hb_set_add (hb_set_t *set, hb_codepoint_t codepoint)
 
HB_EXTERN void hb_set_add_range (hb_set_t *set, hb_codepoint_t first, hb_codepoint_t last)
 
HB_EXTERN void hb_set_add_sorted_array (hb_set_t *set, const hb_codepoint_t *sorted_codepoints, unsigned int num_codepoints)
 
HB_EXTERN void hb_set_del (hb_set_t *set, hb_codepoint_t codepoint)
 
HB_EXTERN void hb_set_del_range (hb_set_t *set, hb_codepoint_t first, hb_codepoint_t last)
 
HB_EXTERN hb_bool_t hb_set_is_equal (const hb_set_t *set, const hb_set_t *other)
 
HB_EXTERN hb_bool_t hb_set_is_subset (const hb_set_t *set, const hb_set_t *larger_set)
 
HB_EXTERN void hb_set_set (hb_set_t *set, const hb_set_t *other)
 
HB_EXTERN void hb_set_union (hb_set_t *set, const hb_set_t *other)
 
HB_EXTERN void hb_set_intersect (hb_set_t *set, const hb_set_t *other)
 
HB_EXTERN void hb_set_subtract (hb_set_t *set, const hb_set_t *other)
 
HB_EXTERN void hb_set_symmetric_difference (hb_set_t *set, const hb_set_t *other)
 
HB_EXTERN unsigned int hb_set_get_population (const hb_set_t *set)
 
HB_EXTERN hb_codepoint_t hb_set_get_min (const hb_set_t *set)
 
HB_EXTERN hb_codepoint_t hb_set_get_max (const hb_set_t *set)
 
HB_EXTERN hb_bool_t hb_set_next (const hb_set_t *set, hb_codepoint_t *codepoint)
 
HB_EXTERN hb_bool_t hb_set_previous (const hb_set_t *set, hb_codepoint_t *codepoint)
 
HB_EXTERN hb_bool_t hb_set_next_range (const hb_set_t *set, hb_codepoint_t *first, hb_codepoint_t *last)
 
HB_EXTERN hb_bool_t hb_set_previous_range (const hb_set_t *set, hb_codepoint_t *first, hb_codepoint_t *last)
 
HB_EXTERN unsigned int hb_set_next_many (const hb_set_t *set, hb_codepoint_t codepoint, hb_codepoint_t *out, unsigned int size)
 

Macro Definition Documentation

◆ HB_SET_VALUE_INVALID

#define HB_SET_VALUE_INVALID   ((hb_codepoint_t) -1)

HB_SET_VALUE_INVALID:

Unset hb_set_t value.

Since: 0.9.21

Definition at line 46 of file hb-set.h.

Typedef Documentation

◆ hb_set_t

typedef struct hb_set_t hb_set_t

hb_set_t:

Data type for holding a set of integers. hb_set_t's are used to gather and contain glyph IDs, Unicode code points, and various other collections of discrete values.

Definition at line 36 of file hb-set.h.

Function Documentation

◆ hb_set_add()

HB_EXTERN void hb_set_add ( hb_set_t set,
hb_codepoint_t  codepoint 
)

hb_set_add: @set: A set @codepoint: The element to add to @set

Adds @codepoint to @set.

Since: 0.9.2

Definition at line 252 of file hb-set.cc.

Here is the caller graph for this function:

◆ hb_set_add_range()

HB_EXTERN void hb_set_add_range ( hb_set_t set,
hb_codepoint_t  first,
hb_codepoint_t  last 
)

hb_set_add_range: @set: A set @first: The first element to add to @set @last: The final element to add to @set

Adds all of the elements from @first to @last (inclusive) to @set.

Since: 0.9.7

Definition at line 294 of file hb-set.cc.

Here is the caller graph for this function:

◆ hb_set_add_sorted_array()

HB_EXTERN void hb_set_add_sorted_array ( hb_set_t set,
const hb_codepoint_t sorted_codepoints,
unsigned int  num_codepoints 
)

hb_set_add_sorted_array: @set: A set @sorted_codepoints: (array length=num_codepoints): Array of codepoints to add @num_codepoints: Length of @sorted_codepoints

Adds @num_codepoints codepoints to a set at once. The codepoints array must be in increasing order, with size at least @num_codepoints.

Since: 4.1.0

Definition at line 272 of file hb-set.cc.

◆ hb_set_allocation_successful()

HB_EXTERN hb_bool_t hb_set_allocation_successful ( const hb_set_t set)

hb_set_allocation_successful: @set: A set

Tests whether memory allocation for a set was successful.

Return value: true if allocation succeeded, false otherwise

Since: 0.9.2

Definition at line 170 of file hb-set.cc.

◆ hb_set_clear()

HB_EXTERN void hb_set_clear ( hb_set_t set)

hb_set_clear: @set: A set

Clears out the contents of a set.

Since: 0.9.2

Definition at line 202 of file hb-set.cc.

Here is the caller graph for this function:

◆ hb_set_copy()

HB_EXTERN hb_set_t* hb_set_copy ( const hb_set_t set)

hb_set_copy: @set: A set

Allocate a copy of @set.

Return value: Newly-allocated set.

Since: 2.8.2

Definition at line 186 of file hb-set.cc.

Here is the caller graph for this function:

◆ hb_set_create()

HB_EXTERN hb_set_t* hb_set_create ( void  )

SECTION:hb-set @title: hb-set @short_description: Objects representing a set of integers hb.h

Set objects represent a mathematical set of integer values. They are used in non-shaping APIs to query certain sets of characters or glyphs, or other integer values. hb_set_create: (Xconstructor)

Creates a new, initially empty set.

Return value: (transfer full): The new hb_set_t

Since: 0.9.2

Definition at line 52 of file hb-set.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hb_set_del()

HB_EXTERN void hb_set_del ( hb_set_t set,
hb_codepoint_t  codepoint 
)

hb_set_del: @set: A set @codepoint: Removes @codepoint from @set

Removes @codepoint from @set.

Since: 0.9.2

Definition at line 312 of file hb-set.cc.

◆ hb_set_del_range()

HB_EXTERN void hb_set_del_range ( hb_set_t set,
hb_codepoint_t  first,
hb_codepoint_t  last 
)

hb_set_del_range: @set: A set @first: The first element to remove from @set @last: The final element to remove from @set

Removes all of the elements from @first to @last (inclusive) from @set.

If @last is HB_SET_VALUE_INVALID, then all values greater than or equal to @first are removed.

Since: 0.9.7

Definition at line 334 of file hb-set.cc.

◆ hb_set_destroy()

HB_EXTERN void hb_set_destroy ( hb_set_t set)

hb_set_destroy: (skip) @set: A set

Decreases the reference count on a set. When the reference count reaches zero, the set is destroyed, freeing all memory.

Since: 0.9.2

Definition at line 106 of file hb-set.cc.

Here is the caller graph for this function:

◆ hb_set_get_empty()

HB_EXTERN hb_set_t* hb_set_get_empty ( void  )

hb_set_get_empty:

Fetches the singleton empty hb_set_t.

Return value: (transfer full): The empty hb_set_t

Since: 0.9.2

Definition at line 74 of file hb-set.cc.

Here is the caller graph for this function:

◆ hb_set_get_max()

HB_EXTERN hb_codepoint_t hb_set_get_max ( const hb_set_t set)

hb_set_get_max: @set: A set

Finds the largest element in the set.

Return value: maximum of @set, or HB_SET_VALUE_INVALID if @set is empty.

Since: 0.9.7

Definition at line 523 of file hb-set.cc.

◆ hb_set_get_min()

HB_EXTERN hb_codepoint_t hb_set_get_min ( const hb_set_t set)

hb_set_get_min: @set: A set

Finds the smallest element in the set.

Return value: minimum of @set, or HB_SET_VALUE_INVALID if @set is empty.

Since: 0.9.7

Definition at line 507 of file hb-set.cc.

◆ hb_set_get_population()

HB_EXTERN unsigned int hb_set_get_population ( const hb_set_t set)

hb_set_get_population: @set: A set

Returns the number of elements in the set.

Return value: The population of @set

Since: 0.9.7

Definition at line 491 of file hb-set.cc.

◆ hb_set_get_user_data()

HB_EXTERN void* hb_set_get_user_data ( hb_set_t set,
hb_user_data_key_t key 
)

hb_set_get_user_data: (skip) @set: A set @key: The user-data key to query

Fetches the user data associated with the specified key, attached to the specified set.

Return value: (transfer none): A pointer to the user data

Since: 0.9.2

Definition at line 152 of file hb-set.cc.

◆ hb_set_has()

HB_EXTERN hb_bool_t hb_set_has ( const hb_set_t set,
hb_codepoint_t  codepoint 
)

hb_set_has: @set: A set @codepoint: The element to query

Tests whether @codepoint belongs to @set.

Return value: true if @codepoint is in @set, false otherwise

Since: 0.9.2

Definition at line 236 of file hb-set.cc.

◆ hb_set_intersect()

HB_EXTERN void hb_set_intersect ( hb_set_t set,
const hb_set_t other 
)

hb_set_intersect: @set: A set @other: Another set

Makes @set the intersection of @set and @other.

Since: 0.9.2

Definition at line 423 of file hb-set.cc.

Here is the call graph for this function:

◆ hb_set_invert()

HB_EXTERN void hb_set_invert ( hb_set_t set)

hb_set_invert: @set: A set

Inverts the contents of @set.

Since: 3.0.0

Definition at line 474 of file hb-set.cc.

◆ hb_set_is_empty()

HB_EXTERN hb_bool_t hb_set_is_empty ( const hb_set_t set)

hb_set_is_empty: @set: a set.

Tests whether a set is empty (contains no elements).

Return value: true if @set is empty

Since: 0.9.7

Definition at line 219 of file hb-set.cc.

◆ hb_set_is_equal()

HB_EXTERN hb_bool_t hb_set_is_equal ( const hb_set_t set,
const hb_set_t other 
)

hb_set_is_equal: @set: A set @other: Another set

Tests whether @set and @other are equal (contain the same elements).

Return value: true if the two sets are equal, false otherwise.

Since: 0.9.7

Definition at line 355 of file hb-set.cc.

Here is the call graph for this function:

◆ hb_set_is_subset()

HB_EXTERN hb_bool_t hb_set_is_subset ( const hb_set_t set,
const hb_set_t larger_set 
)

hb_set_is_subset: @set: A set @larger_set: Another set

Tests whether @set is a subset of @larger_set.

Return value: true if the @set is a subset of (or equal to) @larger_set, false otherwise.

Since: 1.8.1

Definition at line 373 of file hb-set.cc.

◆ hb_set_next()

HB_EXTERN hb_bool_t hb_set_next ( const hb_set_t set,
hb_codepoint_t codepoint 
)

hb_set_next: @set: A set @codepoint: (inout): Input = Code point to query Output = Code point retrieved

Fetches the next element in @set that is greater than current value of @codepoint.

Set @codepoint to HB_SET_VALUE_INVALID to get started.

Return value: true if there was a next value, false otherwise

Since: 0.9.2

Definition at line 543 of file hb-set.cc.

Here is the caller graph for this function:

◆ hb_set_next_many()

HB_EXTERN unsigned int hb_set_next_many ( const hb_set_t set,
hb_codepoint_t  codepoint,
hb_codepoint_t out,
unsigned int  size 
)

hb_set_next_many: @set: A set @codepoint: Outputting codepoints starting after this one. Use HB_SET_VALUE_INVALID to get started. @out: (array length=size): An array of codepoints to write to. @size: The maximum number of codepoints to write out.

Finds the next element in @set that is greater than @codepoint. Writes out codepoints to @out, until either the set runs out of elements, or @size codepoints are written, whichever comes first.

Return value: the number of values written.

Since: 4.2.0

Definition at line 635 of file hb-set.cc.

◆ hb_set_next_range()

HB_EXTERN hb_bool_t hb_set_next_range ( const hb_set_t set,
hb_codepoint_t first,
hb_codepoint_t last 
)

hb_set_next_range: @set: A set @first: (out): The first code point in the range @last: (inout): Input = The current last code point in the range Output = The last code point in the range

Fetches the next consecutive range of elements in @set that are greater than current value of @last.

Set @last to HB_SET_VALUE_INVALID to get started.

Return value: true if there was a next range, false otherwise

Since: 0.9.7

Definition at line 587 of file hb-set.cc.

◆ hb_set_previous()

HB_EXTERN hb_bool_t hb_set_previous ( const hb_set_t set,
hb_codepoint_t codepoint 
)

hb_set_previous: @set: A set @codepoint: (inout): Input = Code point to query Output = Code point retrieved

Fetches the previous element in @set that is lower than current value of @codepoint.

Set @codepoint to HB_SET_VALUE_INVALID to get started.

Return value: true if there was a previous value, false otherwise

Since: 1.8.0

Definition at line 564 of file hb-set.cc.

◆ hb_set_previous_range()

HB_EXTERN hb_bool_t hb_set_previous_range ( const hb_set_t set,
hb_codepoint_t first,
hb_codepoint_t last 
)

hb_set_previous_range: @set: A set @first: (inout): Input = The current first code point in the range Output = The first code point in the range @last: (out): The last code point in the range

Fetches the previous consecutive range of elements in @set that are greater than current value of @last.

Set @first to HB_SET_VALUE_INVALID to get started.

Return value: true if there was a previous range, false otherwise

Since: 1.8.0

Definition at line 611 of file hb-set.cc.

◆ hb_set_reference()

HB_EXTERN hb_set_t* hb_set_reference ( hb_set_t set)

hb_set_reference: (skip) @set: A set

Increases the reference count on a set.

Return value: (transfer full): The set

Since: 0.9.2

Definition at line 90 of file hb-set.cc.

◆ hb_set_set()

HB_EXTERN void hb_set_set ( hb_set_t set,
const hb_set_t other 
)

hb_set_set: @set: A set @other: Another set

Makes the contents of @set equal to the contents of @other.

Since: 0.9.2

Definition at line 389 of file hb-set.cc.

Here is the call graph for this function:

◆ hb_set_set_user_data()

HB_EXTERN hb_bool_t hb_set_set_user_data ( hb_set_t set,
hb_user_data_key_t key,
void data,
hb_destroy_func_t  destroy,
hb_bool_t  replace 
)

hb_set_set_user_data: (skip) @set: A set @key: The user-data key to set @data: A pointer to the user data to set @destroy: (nullable): A callback to call when @data is not needed anymore @replace: Whether to replace an existing data with the same key

Attaches a user-data key/data pair to the specified set.

Return value: true if success, false otherwise

Since: 0.9.2

Definition at line 130 of file hb-set.cc.

◆ hb_set_subtract()

HB_EXTERN void hb_set_subtract ( hb_set_t set,
const hb_set_t other 
)

hb_set_subtract: @set: A set @other: Another set

Subtracts the contents of @other from @set.

Since: 0.9.2

Definition at line 440 of file hb-set.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hb_set_symmetric_difference()

HB_EXTERN void hb_set_symmetric_difference ( hb_set_t set,
const hb_set_t other 
)

hb_set_symmetric_difference: @set: A set @other: Another set

Makes @set the symmetric difference of @set and @other.

Since: 0.9.2

Definition at line 458 of file hb-set.cc.

Here is the call graph for this function:

◆ hb_set_union()

HB_EXTERN void hb_set_union ( hb_set_t set,
const hb_set_t other 
)

hb_set_union: @set: A set @other: Another set

Makes @set the union of @set and @other.

Since: 0.9.2

Definition at line 406 of file hb-set.cc.

Here is the call graph for this function:
Here is the caller graph for this function: