28
29
30 /* Public API */
31
32
33 /**
34 * hb_set_create: (Xconstructor)
35 *
36 * Return value: (transfer full):
37 *
38 * Since: 0.9.2
39 **/
40 hb_set_t *
41 hb_set_create (void)
42 {
43 hb_set_t *set;
44
45 if (!(set = hb_object_create<hb_set_t> ()))
46 return hb_set_get_empty ();
47
48 set->clear ();
49
50 return set;
51 }
52
53 /**
54 * hb_set_get_empty:
55 *
56 * Return value: (transfer full):
57 *
58 * Since: 0.9.2
59 **/
60 hb_set_t *
61 hb_set_get_empty (void)
62 {
63 static const hb_set_t _hb_set_nil = {
64 HB_OBJECT_HEADER_STATIC,
65 true, /* in_error */
66
67 {0} /* elts */
68 };
78 *
79 * Since: 0.9.2
80 **/
81 hb_set_t *
82 hb_set_reference (hb_set_t *set)
83 {
84 return hb_object_reference (set);
85 }
86
87 /**
88 * hb_set_destroy: (skip)
89 * @set: a set.
90 *
91 * Since: 0.9.2
92 **/
93 void
94 hb_set_destroy (hb_set_t *set)
95 {
96 if (!hb_object_destroy (set)) return;
97
98 set->fini ();
99
100 free (set);
101 }
102
103 /**
104 * hb_set_set_user_data: (skip)
105 * @set: a set.
106 * @key:
107 * @data:
108 * @destroy (closure data):
109 * @replace:
110 *
111 * Return value:
112 *
113 * Since: 0.9.2
114 **/
115 hb_bool_t
116 hb_set_set_user_data (hb_set_t *set,
117 hb_user_data_key_t *key,
118 void * data,
119 hb_destroy_func_t destroy,
120 hb_bool_t replace)
121 {
122 return hb_object_set_user_data (set, key, data, destroy, replace);
123 }
124
125 /**
126 * hb_set_get_user_data: (skip)
127 * @set: a set.
128 * @key:
359 * @other:
360 *
361 *
362 *
363 * Since: 0.9.2
364 **/
365 void
366 hb_set_symmetric_difference (hb_set_t *set,
367 const hb_set_t *other)
368 {
369 set->symmetric_difference (other);
370 }
371
372 /**
373 * hb_set_invert:
374 * @set: a set.
375 *
376 *
377 *
378 * Since: 0.9.10
379 **/
380 void
381 hb_set_invert (hb_set_t *set)
382 {
383 set->invert ();
384 }
385
386 /**
387 * hb_set_get_population:
388 * @set: a set.
389 *
390 * Returns the number of numbers in the set.
391 *
392 * Return value: set population.
393 *
394 * Since: 0.9.7
395 **/
396 unsigned int
397 hb_set_get_population (const hb_set_t *set)
398 {
399 return set->get_population ();
400 }
401
402 /**
403 * hb_set_get_min:
|
28
29
30 /* Public API */
31
32
33 /**
34 * hb_set_create: (Xconstructor)
35 *
36 * Return value: (transfer full):
37 *
38 * Since: 0.9.2
39 **/
40 hb_set_t *
41 hb_set_create (void)
42 {
43 hb_set_t *set;
44
45 if (!(set = hb_object_create<hb_set_t> ()))
46 return hb_set_get_empty ();
47
48 set->page_map.init ();
49 set->pages.init ();
50
51 return set;
52 }
53
54 /**
55 * hb_set_get_empty:
56 *
57 * Return value: (transfer full):
58 *
59 * Since: 0.9.2
60 **/
61 hb_set_t *
62 hb_set_get_empty (void)
63 {
64 static const hb_set_t _hb_set_nil = {
65 HB_OBJECT_HEADER_STATIC,
66 true, /* in_error */
67
68 {0} /* elts */
69 };
79 *
80 * Since: 0.9.2
81 **/
82 hb_set_t *
83 hb_set_reference (hb_set_t *set)
84 {
85 return hb_object_reference (set);
86 }
87
88 /**
89 * hb_set_destroy: (skip)
90 * @set: a set.
91 *
92 * Since: 0.9.2
93 **/
94 void
95 hb_set_destroy (hb_set_t *set)
96 {
97 if (!hb_object_destroy (set)) return;
98
99 set->page_map.finish ();
100 set->pages.finish ();
101
102 free (set);
103 }
104
105 /**
106 * hb_set_set_user_data: (skip)
107 * @set: a set.
108 * @key:
109 * @data:
110 * @destroy:
111 * @replace:
112 *
113 * Return value:
114 *
115 * Since: 0.9.2
116 **/
117 hb_bool_t
118 hb_set_set_user_data (hb_set_t *set,
119 hb_user_data_key_t *key,
120 void * data,
121 hb_destroy_func_t destroy,
122 hb_bool_t replace)
123 {
124 return hb_object_set_user_data (set, key, data, destroy, replace);
125 }
126
127 /**
128 * hb_set_get_user_data: (skip)
129 * @set: a set.
130 * @key:
361 * @other:
362 *
363 *
364 *
365 * Since: 0.9.2
366 **/
367 void
368 hb_set_symmetric_difference (hb_set_t *set,
369 const hb_set_t *other)
370 {
371 set->symmetric_difference (other);
372 }
373
374 /**
375 * hb_set_invert:
376 * @set: a set.
377 *
378 *
379 *
380 * Since: 0.9.10
381 *
382 * Deprecated: 1.6.1
383 **/
384 void
385 hb_set_invert (hb_set_t *set)
386 {
387 }
388
389 /**
390 * hb_set_get_population:
391 * @set: a set.
392 *
393 * Returns the number of numbers in the set.
394 *
395 * Return value: set population.
396 *
397 * Since: 0.9.7
398 **/
399 unsigned int
400 hb_set_get_population (const hb_set_t *set)
401 {
402 return set->get_population ();
403 }
404
405 /**
406 * hb_set_get_min:
|