src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set.cc
changeset 50826 f5b95be8b6e2
parent 50352 25db2c8f3cf8
child 54232 7c11a7cc7c1d
equal deleted inserted replaced
50825:aa0a35b071fb 50826:f5b95be8b6e2
    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.