equal
deleted
inserted
replaced
43 hb_set_t *set; |
43 hb_set_t *set; |
44 |
44 |
45 if (!(set = hb_object_create<hb_set_t> ())) |
45 if (!(set = hb_object_create<hb_set_t> ())) |
46 return hb_set_get_empty (); |
46 return hb_set_get_empty (); |
47 |
47 |
48 set->init (); |
48 set->init_shallow (); |
49 |
49 |
50 return set; |
50 return set; |
51 } |
51 } |
52 |
|
53 static const hb_set_t _hb_set_nil = { |
|
54 HB_OBJECT_HEADER_STATIC, |
|
55 true, /* in_error */ |
|
56 |
|
57 {0} /* elts */ |
|
58 }; |
|
59 |
52 |
60 /** |
53 /** |
61 * hb_set_get_empty: |
54 * hb_set_get_empty: |
62 * |
55 * |
63 * Return value: (transfer full): |
56 * Return value: (transfer full): |
65 * Since: 0.9.2 |
58 * Since: 0.9.2 |
66 **/ |
59 **/ |
67 hb_set_t * |
60 hb_set_t * |
68 hb_set_get_empty (void) |
61 hb_set_get_empty (void) |
69 { |
62 { |
70 return const_cast<hb_set_t *> (&_hb_set_nil); |
63 return const_cast<hb_set_t *> (&Null(hb_set_t)); |
71 } |
64 } |
72 |
65 |
73 /** |
66 /** |
74 * hb_set_reference: (skip) |
67 * hb_set_reference: (skip) |
75 * @set: a set. |
68 * @set: a set. |
93 void |
86 void |
94 hb_set_destroy (hb_set_t *set) |
87 hb_set_destroy (hb_set_t *set) |
95 { |
88 { |
96 if (!hb_object_destroy (set)) return; |
89 if (!hb_object_destroy (set)) return; |
97 |
90 |
98 set->finish (); |
91 set->fini_shallow (); |
99 |
92 |
100 free (set); |
93 free (set); |
101 } |
94 } |
102 |
95 |
103 /** |
96 /** |
148 * Return value: |
141 * Return value: |
149 * |
142 * |
150 * Since: 0.9.2 |
143 * Since: 0.9.2 |
151 **/ |
144 **/ |
152 hb_bool_t |
145 hb_bool_t |
153 hb_set_allocation_successful (const hb_set_t *set HB_UNUSED) |
146 hb_set_allocation_successful (const hb_set_t *set) |
154 { |
147 { |
155 return !set->in_error; |
148 return set->successful; |
156 } |
149 } |
157 |
150 |
158 /** |
151 /** |
159 * hb_set_clear: |
152 * hb_set_clear: |
160 * @set: a set. |
153 * @set: a set. |
272 } |
265 } |
273 |
266 |
274 /** |
267 /** |
275 * hb_set_is_equal: |
268 * hb_set_is_equal: |
276 * @set: a set. |
269 * @set: a set. |
277 * @other: |
270 * @other: other set. |
278 * |
271 * |
279 * |
272 * |
280 * |
273 * |
281 * Return value: |
274 * Return value: %TRUE if the two sets are equal, %FALSE otherwise. |
282 * |
275 * |
283 * Since: 0.9.7 |
276 * Since: 0.9.7 |
284 **/ |
277 **/ |
285 hb_bool_t |
278 hb_bool_t |
286 hb_set_is_equal (const hb_set_t *set, |
279 hb_set_is_equal (const hb_set_t *set, |
287 const hb_set_t *other) |
280 const hb_set_t *other) |
288 { |
281 { |
289 return set->is_equal (other); |
282 return set->is_equal (other); |
|
283 } |
|
284 |
|
285 /** |
|
286 * hb_set_is_subset: |
|
287 * @set: a set. |
|
288 * @larger_set: other set. |
|
289 * |
|
290 * |
|
291 * |
|
292 * Return value: %TRUE if the @set is a subset of (or equal to) @larger_set, %FALSE otherwise. |
|
293 * |
|
294 * Since: 1.8.1 |
|
295 **/ |
|
296 hb_bool_t |
|
297 hb_set_is_subset (const hb_set_t *set, |
|
298 const hb_set_t *larger_set) |
|
299 { |
|
300 return set->is_subset (larger_set); |
290 } |
301 } |
291 |
302 |
292 /** |
303 /** |
293 * hb_set_set: |
304 * hb_set_set: |
294 * @set: a set. |
305 * @set: a set. |