/src/harfbuzz/src/hb-vector.hh
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright © 2017,2018 Google, Inc. |
3 | | * |
4 | | * This is part of HarfBuzz, a text shaping library. |
5 | | * |
6 | | * Permission is hereby granted, without written agreement and without |
7 | | * license or royalty fees, to use, copy, modify, and distribute this |
8 | | * software and its documentation for any purpose, provided that the |
9 | | * above copyright notice and the following two paragraphs appear in |
10 | | * all copies of this software. |
11 | | * |
12 | | * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR |
13 | | * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES |
14 | | * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN |
15 | | * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH |
16 | | * DAMAGE. |
17 | | * |
18 | | * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, |
19 | | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND |
20 | | * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS |
21 | | * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO |
22 | | * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
23 | | * |
24 | | * Google Author(s): Behdad Esfahbod |
25 | | */ |
26 | | |
27 | | #ifndef HB_VECTOR_HH |
28 | | #define HB_VECTOR_HH |
29 | | |
30 | | #include "hb.hh" |
31 | | #include "hb-array.hh" |
32 | | #include "hb-meta.hh" |
33 | | #include "hb-null.hh" |
34 | | |
35 | | |
36 | | template <typename Type, |
37 | | bool sorted=false> |
38 | | struct hb_vector_t |
39 | | { |
40 | | static constexpr bool realloc_move = true; |
41 | | |
42 | | typedef Type item_t; |
43 | | static constexpr unsigned item_size = hb_static_size (Type); |
44 | | using array_t = typename std::conditional<sorted, hb_sorted_array_t<Type>, hb_array_t<Type>>::type; |
45 | | using c_array_t = typename std::conditional<sorted, hb_sorted_array_t<const Type>, hb_array_t<const Type>>::type; |
46 | | |
47 | 35.1k | hb_vector_t () = default; Unexecuted instantiation: hb_vector_t<unsigned int, false>::hb_vector_t() hb_vector_t<hb_bit_set_t::page_map_t, true>::hb_vector_t() Line | Count | Source | 47 | 146 | hb_vector_t () = default; |
hb_vector_t<hb_bit_page_t, false>::hb_vector_t() Line | Count | Source | 47 | 146 | hb_vector_t () = default; |
Unexecuted instantiation: hb_vector_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*, false>::hb_vector_t() Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t*, false>::hb_vector_t() Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, face_table_info_t>, false>::hb_vector_t() Unexecuted instantiation: hb_vector_t<hb_transform_t<float>, false>::hb_vector_t() Unexecuted instantiation: hb_vector_t<hb_bounds_t<float>, false>::hb_vector_t() Unexecuted instantiation: hb_vector_t<hb_outline_point_t, false>::hb_vector_t() Unexecuted instantiation: hb_vector_t<CFF::op_str_t, false>::hb_vector_t() Unexecuted instantiation: hb_vector_t<CFF::cff2_font_dict_values_t, false>::hb_vector_t() Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::dict_val_t>, false>::hb_vector_t() Unexecuted instantiation: hb_vector_t<CFF::dict_val_t, false>::hb_vector_t() Unexecuted instantiation: hb_vector_t<CFF::cff1_top_dict_val_t, false>::hb_vector_t() Unexecuted instantiation: hb_vector_t<CFF::cff1_font_dict_values_t, false>::hb_vector_t() Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::dict_val_t>, false>::hb_vector_t() hb_vector_t<hb_aat_map_builder_t::feature_range_t, true>::hb_vector_t() Line | Count | Source | 47 | 2.27k | hb_vector_t () = default; |
hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::hb_vector_t() Line | Count | Source | 47 | 2.27k | hb_vector_t () = default; |
hb_vector_t<hb_bit_set_t, false>::hb_vector_t() Line | Count | Source | 47 | 1.96k | hb_vector_t () = default; |
Unexecuted instantiation: hb_vector_t<int, false>::hb_vector_t() hb_vector_t<hb_ot_map_t::feature_map_t, true>::hb_vector_t() Line | Count | Source | 47 | 2.27k | hb_vector_t () = default; |
hb_vector_t<hb_ot_map_t::lookup_map_t, false>::hb_vector_t() Line | Count | Source | 47 | 4.55k | hb_vector_t () = default; |
hb_vector_t<hb_ot_map_t::stage_map_t, false>::hb_vector_t() Line | Count | Source | 47 | 4.55k | hb_vector_t () = default; |
hb_vector_t<hb_vector_t<hb_aat_map_t::range_flags_t, true>, false>::hb_vector_t() Line | Count | Source | 47 | 2.27k | hb_vector_t () = default; |
Unexecuted instantiation: hb_vector_t<hb_aat_map_t::range_flags_t, true>::hb_vector_t() hb_vector_t<AAT::kern_subtable_accelerator_data_t, false>::hb_vector_t() Line | Count | Source | 47 | 7.84k | hb_vector_t () = default; |
Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_event_t, false>::hb_vector_t() Unexecuted instantiation: hb_vector_t<char, false>::hb_vector_t() Unexecuted instantiation: hb_vector_t<hb_set_t, false>::hb_vector_t() hb_vector_t<hb_ot_map_builder_t::feature_info_t, false>::hb_vector_t() Line | Count | Source | 47 | 2.27k | hb_vector_t () = default; |
hb_vector_t<hb_ot_map_builder_t::stage_info_t, false>::hb_vector_t() Line | Count | Source | 47 | 4.55k | hb_vector_t () = default; |
|
48 | | hb_vector_t (std::initializer_list<Type> lst) : hb_vector_t () |
49 | | { |
50 | | alloc (lst.size (), true); |
51 | | for (auto&& item : lst) |
52 | | push (item); |
53 | | } |
54 | | template <typename Iterable, |
55 | | hb_requires (hb_is_iterable (Iterable))> |
56 | | explicit hb_vector_t (const Iterable &o) : hb_vector_t () |
57 | | { |
58 | | extend (o); |
59 | | } |
60 | | hb_vector_t (const hb_vector_t &o) : hb_vector_t () |
61 | | { |
62 | | alloc_exact (o.length); |
63 | | if (unlikely (in_error ())) return; |
64 | | copy_array (o.as_array ()); |
65 | | } |
66 | | hb_vector_t (array_t o) : hb_vector_t () |
67 | | { |
68 | | alloc_exact (o.length); |
69 | | if (unlikely (in_error ())) return; |
70 | | copy_array (o); |
71 | | } |
72 | | hb_vector_t (c_array_t o) : hb_vector_t () |
73 | | { |
74 | | alloc_exact (o.length); |
75 | | if (unlikely (in_error ())) return; |
76 | | copy_array (o); |
77 | | } |
78 | | hb_vector_t (hb_vector_t &&o) noexcept |
79 | | { |
80 | | allocated = o.allocated; |
81 | | length = o.length; |
82 | | arrayZ = o.arrayZ; |
83 | | o.init (); |
84 | | } |
85 | 35.1k | ~hb_vector_t () { fini (); }Unexecuted instantiation: hb_vector_t<unsigned int, false>::~hb_vector_t() hb_vector_t<hb_bit_page_t, false>::~hb_vector_t() Line | Count | Source | 85 | 146 | ~hb_vector_t () { fini (); } |
hb_vector_t<hb_bit_set_t::page_map_t, true>::~hb_vector_t() Line | Count | Source | 85 | 146 | ~hb_vector_t () { fini (); } |
Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, face_table_info_t>, false>::~hb_vector_t() Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t*, false>::~hb_vector_t() Unexecuted instantiation: hb_vector_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*, false>::~hb_vector_t() Unexecuted instantiation: hb_vector_t<hb_bounds_t<float>, false>::~hb_vector_t() Unexecuted instantiation: hb_vector_t<hb_transform_t<float>, false>::~hb_vector_t() Unexecuted instantiation: hb_vector_t<hb_outline_point_t, false>::~hb_vector_t() Unexecuted instantiation: hb_vector_t<hb_ot_name_entry_t, false>::~hb_vector_t() Unexecuted instantiation: hb_vector_t<contour_point_t, false>::~hb_vector_t() Unexecuted instantiation: hb_vector_t<int, false>::~hb_vector_t() Unexecuted instantiation: hb_vector_t<CFF::op_str_t, false>::~hb_vector_t() Unexecuted instantiation: hb_vector_t<CFF::dict_val_t, false>::~hb_vector_t() Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::dict_val_t>, false>::~hb_vector_t() Unexecuted instantiation: hb_vector_t<CFF::cff1_font_dict_values_t, false>::~hb_vector_t() Unexecuted instantiation: hb_vector_t<CFF::cff1_top_dict_val_t, false>::~hb_vector_t() Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::dict_val_t>, false>::~hb_vector_t() Unexecuted instantiation: hb_vector_t<CFF::cff2_font_dict_values_t, false>::~hb_vector_t() hb_vector_t<AAT::kern_subtable_accelerator_data_t, false>::~hb_vector_t() Line | Count | Source | 85 | 7.84k | ~hb_vector_t () { fini (); } |
hb_vector_t<hb_bit_set_t, false>::~hb_vector_t() Line | Count | Source | 85 | 1.96k | ~hb_vector_t () { fini (); } |
Unexecuted instantiation: hb_vector_t<bool, false>::~hb_vector_t() hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::~hb_vector_t() Line | Count | Source | 85 | 2.27k | ~hb_vector_t () { fini (); } |
hb_vector_t<hb_aat_map_builder_t::feature_range_t, true>::~hb_vector_t() Line | Count | Source | 85 | 2.27k | ~hb_vector_t () { fini (); } |
hb_vector_t<hb_vector_t<hb_aat_map_t::range_flags_t, true>, false>::~hb_vector_t() Line | Count | Source | 85 | 2.27k | ~hb_vector_t () { fini (); } |
Unexecuted instantiation: hb_vector_t<hb_aat_map_t::range_flags_t, true>::~hb_vector_t() hb_vector_t<hb_ot_map_t::stage_map_t, false>::~hb_vector_t() Line | Count | Source | 85 | 4.55k | ~hb_vector_t () { fini (); } |
hb_vector_t<hb_ot_map_t::lookup_map_t, false>::~hb_vector_t() Line | Count | Source | 85 | 4.55k | ~hb_vector_t () { fini (); } |
hb_vector_t<hb_ot_map_t::feature_map_t, true>::~hb_vector_t() Line | Count | Source | 85 | 2.27k | ~hb_vector_t () { fini (); } |
Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_event_t, false>::~hb_vector_t() Unexecuted instantiation: hb_vector_t<char, false>::~hb_vector_t() Unexecuted instantiation: hb_vector_t<hb_set_t, false>::~hb_vector_t() hb_vector_t<hb_ot_map_builder_t::stage_info_t, false>::~hb_vector_t() Line | Count | Source | 85 | 4.55k | ~hb_vector_t () { fini (); } |
hb_vector_t<hb_ot_map_builder_t::feature_info_t, false>::~hb_vector_t() Line | Count | Source | 85 | 2.27k | ~hb_vector_t () { fini (); } |
|
86 | | |
87 | | template <typename Iterable, |
88 | | hb_requires (hb_is_iterable (Iterable))> |
89 | | void extend (const Iterable &o) |
90 | 0 | { |
91 | 0 | auto iter = hb_iter (o); |
92 | 0 | if (iter.is_random_access_iterator || iter.has_fast_len) |
93 | 0 | { |
94 | 0 | if (unlikely (!alloc (hb_len (iter), true))) |
95 | 0 | return; |
96 | 0 | unsigned count = hb_len (iter); |
97 | 0 | for (unsigned i = 0; i < count; i++) |
98 | 0 | push_has_room (*iter++); |
99 | 0 | } |
100 | 0 | while (iter) |
101 | 0 | { |
102 | 0 | if (unlikely (!alloc (length + 1))) |
103 | 0 | return; |
104 | 0 | unsigned room = allocated - length; |
105 | 0 | for (unsigned i = 0; i < room && iter; i++) |
106 | 0 | push_has_room (*iter++); |
107 | 0 | } |
108 | 0 | } Unexecuted instantiation: hb-face.cc:_ZN11hb_vector_tIjLb1EE6extendI16hb_filter_iter_tI13hb_map_iter_tIS3_I13hb_zip_iter_tI15hb_range_iter_tIjjEN2OT6Layout6Common8Coverage6iter_tEERK4$_32L24hb_function_sortedness_t1ELPv0EER8hb_map_tLSG_1ELSH_0EEZNKSA_6subsetEP19hb_subset_context_tEUljE_RK4$_18LSH_0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSH_0EEEvRKSU_ Unexecuted instantiation: hb-face.cc:_ZN11hb_vector_tI9hb_pair_tIjjELb0EE6extendI16hb_filter_iter_tIS4_IS4_I17hb_sorted_array_tIKS1_EZNK2OT4cmap6subsetEP19hb_subset_context_tEUlS1_E_RK4$_18LPv0EERK8hb_set_tRK3$_6LSG_0EEZNS8_19CmapSubtableFormat49serializeISO_TnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NSS_6item_tEEE5valueEvE4typeELSG_0EEEvP22hb_serialize_context_tSS_EUlS1_E_SF_LSG_0EETnPNSR_IXsr14hb_is_iterableISS_EE5valueEvE4typeELSG_0EEEvRKSS_ Unexecuted instantiation: hb-face.cc:_ZN11hb_vector_tI9hb_pair_tIjjELb0EE6extendI16hb_filter_iter_tIS4_I17hb_sorted_array_tIKS1_EZNK2OT4cmap6subsetEP19hb_subset_context_tEUlS1_E_RK4$_18LPv0EEZNS8_19CmapSubtableFormat49serializeISH_TnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NSL_6item_tEEE5valueEvE4typeELSG_0EEEvP22hb_serialize_context_tSL_EUlS1_E_SF_LSG_0EETnPNSK_IXsr14hb_is_iterableISL_EE5valueEvE4typeELSG_0EEEvRKSL_ Unexecuted instantiation: hb-font.cc:_ZN11hb_vector_tIjLb1EE6extendI16hb_filter_iter_tI13hb_map_iter_tIS3_I13hb_zip_iter_tI15hb_range_iter_tIjjEN2OT6Layout6Common8Coverage6iter_tEERK4$_32L24hb_function_sortedness_t1ELPv0EER8hb_map_tLSG_1ELSH_0EEZNKSA_6subsetEP19hb_subset_context_tEUljE_RK4$_18LSH_0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSH_0EEEvRKSU_ Unexecuted instantiation: hb-ot-face.cc:_ZN11hb_vector_tIjLb1EE6extendI16hb_filter_iter_tI13hb_map_iter_tIS3_I13hb_zip_iter_tI15hb_range_iter_tIjjEN2OT6Layout6Common8Coverage6iter_tEERK3$_7L24hb_function_sortedness_t1ELPv0EER8hb_map_tLSG_1ELSH_0EEZNKSA_6subsetEP19hb_subset_context_tEUljE_RK4$_19LSH_0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSH_0EEEvRKSU_ Unexecuted instantiation: hb-ot-face.cc:_ZN11hb_vector_tI9hb_pair_tIjjELb0EE6extendI16hb_filter_iter_tIS4_IS4_I17hb_sorted_array_tIKS1_EZNK2OT4cmap6subsetEP19hb_subset_context_tEUlS1_E_RK4$_19LPv0EERK8hb_set_tRK3$_6LSG_0EEZNS8_19CmapSubtableFormat49serializeISO_TnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NSS_6item_tEEE5valueEvE4typeELSG_0EEEvP22hb_serialize_context_tSS_EUlS1_E_SF_LSG_0EETnPNSR_IXsr14hb_is_iterableISS_EE5valueEvE4typeELSG_0EEEvRKSS_ Unexecuted instantiation: hb-ot-face.cc:_ZN11hb_vector_tI9hb_pair_tIjjELb0EE6extendI16hb_filter_iter_tIS4_I17hb_sorted_array_tIKS1_EZNK2OT4cmap6subsetEP19hb_subset_context_tEUlS1_E_RK4$_19LPv0EEZNS8_19CmapSubtableFormat49serializeISH_TnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NSL_6item_tEEE5valueEvE4typeELSG_0EEEvP22hb_serialize_context_tSL_EUlS1_E_SF_LSG_0EETnPNSK_IXsr14hb_is_iterableISL_EE5valueEvE4typeELSG_0EEEvRKSL_ Unexecuted instantiation: _ZN11hb_vector_tI10hb_array_tIKhELb0EE6extendI13hb_map_iter_tIS0_IKjERKN3CFF15CFF1StringIndexEL24hb_function_sortedness_t0ELPv0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSD_0EEEvRKSG_ Unexecuted instantiation: hb-ot-face.cc:_ZN11hb_vector_tIjLb0EE6extendI16hb_filter_iter_tI15hb_range_iter_tIjjER8hb_map_tRK4$_19LPv0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSA_0EEEvRKSD_ Unexecuted instantiation: hb-ot-font.cc:_ZN11hb_vector_tIjLb1EE6extendI16hb_filter_iter_tI13hb_map_iter_tIS3_I13hb_zip_iter_tI15hb_range_iter_tIjjEN2OT6Layout6Common8Coverage6iter_tEERK4$_30L24hb_function_sortedness_t1ELPv0EER8hb_map_tLSG_1ELSH_0EEZNKSA_6subsetEP19hb_subset_context_tEUljE_RK4$_18LSH_0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSH_0EEEvRKSU_ Unexecuted instantiation: hb-ot-font.cc:_ZN11hb_vector_tI9hb_pair_tIjjELb0EE6extendI16hb_filter_iter_tIS4_IS4_I17hb_sorted_array_tIKS1_EZNK2OT4cmap6subsetEP19hb_subset_context_tEUlS1_E_RK4$_18LPv0EERK8hb_set_tRK3$_6LSG_0EEZNS8_19CmapSubtableFormat49serializeISO_TnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NSS_6item_tEEE5valueEvE4typeELSG_0EEEvP22hb_serialize_context_tSS_EUlS1_E_SF_LSG_0EETnPNSR_IXsr14hb_is_iterableISS_EE5valueEvE4typeELSG_0EEEvRKSS_ Unexecuted instantiation: hb-ot-font.cc:_ZN11hb_vector_tI9hb_pair_tIjjELb0EE6extendI16hb_filter_iter_tIS4_I17hb_sorted_array_tIKS1_EZNK2OT4cmap6subsetEP19hb_subset_context_tEUlS1_E_RK4$_18LPv0EEZNS8_19CmapSubtableFormat49serializeISH_TnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NSL_6item_tEEE5valueEvE4typeELSG_0EEEvP22hb_serialize_context_tSL_EUlS1_E_SF_LSG_0EETnPNSK_IXsr14hb_is_iterableISL_EE5valueEvE4typeELSG_0EEEvRKSL_ Unexecuted instantiation: hb-ot-metrics.cc:_ZN11hb_vector_tIjLb1EE6extendI16hb_filter_iter_tI13hb_map_iter_tIS3_I13hb_zip_iter_tI15hb_range_iter_tIjjEN2OT6Layout6Common8Coverage6iter_tEERK4$_32L24hb_function_sortedness_t1ELPv0EER8hb_map_tLSG_1ELSH_0EEZNKSA_6subsetEP19hb_subset_context_tEUljE_RK4$_18LSH_0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSH_0EEEvRKSU_ Unexecuted instantiation: hb-ot-shape.cc:_ZN11hb_vector_tIjLb1EE6extendI16hb_filter_iter_tI13hb_map_iter_tIS3_I13hb_zip_iter_tI15hb_range_iter_tIjjEN2OT6Layout6Common8Coverage6iter_tEERK3$_7L24hb_function_sortedness_t1ELPv0EER8hb_map_tLSG_1ELSH_0EEZNKSA_6subsetEP19hb_subset_context_tEUljE_RK4$_19LSH_0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSH_0EEEvRKSU_ Unexecuted instantiation: hb-ot-var.cc:_ZN11hb_vector_tIjLb1EE6extendI16hb_filter_iter_tI13hb_map_iter_tIS3_I13hb_zip_iter_tI15hb_range_iter_tIjjEN2OT6Layout6Common8Coverage6iter_tEERK4$_32L24hb_function_sortedness_t1ELPv0EER8hb_map_tLSG_1ELSH_0EEZNKSA_6subsetEP19hb_subset_context_tEUljE_RK4$_18LSH_0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSH_0EEEvRKSU_ Unexecuted instantiation: hb-static.cc:_ZN11hb_vector_tIjLb1EE6extendI16hb_filter_iter_tI13hb_map_iter_tIS3_I13hb_zip_iter_tI15hb_range_iter_tIjjEN2OT6Layout6Common8Coverage6iter_tEERK3$_7L24hb_function_sortedness_t1ELPv0EER8hb_map_tLSG_1ELSH_0EEZNKSA_6subsetEP19hb_subset_context_tEUljE_RK4$_19LSH_0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSH_0EEEvRKSU_ Unexecuted instantiation: hb-static.cc:_ZN11hb_vector_tI9hb_pair_tIjjELb0EE6extendI16hb_filter_iter_tIS4_IS4_I17hb_sorted_array_tIKS1_EZNK2OT4cmap6subsetEP19hb_subset_context_tEUlS1_E_RK4$_19LPv0EERK8hb_set_tRK3$_6LSG_0EEZNS8_19CmapSubtableFormat49serializeISO_TnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NSS_6item_tEEE5valueEvE4typeELSG_0EEEvP22hb_serialize_context_tSS_EUlS1_E_SF_LSG_0EETnPNSR_IXsr14hb_is_iterableISS_EE5valueEvE4typeELSG_0EEEvRKSS_ Unexecuted instantiation: hb-static.cc:_ZN11hb_vector_tI9hb_pair_tIjjELb0EE6extendI16hb_filter_iter_tIS4_I17hb_sorted_array_tIKS1_EZNK2OT4cmap6subsetEP19hb_subset_context_tEUlS1_E_RK4$_19LPv0EEZNS8_19CmapSubtableFormat49serializeISH_TnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NSL_6item_tEEE5valueEvE4typeELSG_0EEEvP22hb_serialize_context_tSL_EUlS1_E_SF_LSG_0EETnPNSK_IXsr14hb_is_iterableISL_EE5valueEvE4typeELSG_0EEEvRKSL_ Unexecuted instantiation: hb-ft.cc:_ZN11hb_vector_tIjLb1EE6extendI16hb_filter_iter_tI13hb_map_iter_tIS3_I13hb_zip_iter_tI15hb_range_iter_tIjjEN2OT6Layout6Common8Coverage6iter_tEERK4$_32L24hb_function_sortedness_t1ELPv0EER8hb_map_tLSG_1ELSH_0EEZNKSA_6subsetEP19hb_subset_context_tEUljE_RK4$_18LSH_0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSH_0EEEvRKSU_ Unexecuted instantiation: hb-aat-layout.cc:_ZN11hb_vector_tIjLb1EE6extendI16hb_filter_iter_tI13hb_map_iter_tIS3_I13hb_zip_iter_tI15hb_range_iter_tIjjEN2OT6Layout6Common8Coverage6iter_tEERK3$_7L24hb_function_sortedness_t1ELPv0EER8hb_map_tLSG_1ELSH_0EEZNKSA_6subsetEP19hb_subset_context_tEUljE_RK4$_19LSH_0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSH_0EEEvRKSU_ Unexecuted instantiation: hb-aat-layout.cc:_ZN11hb_vector_tIjLb0EE6extendI16hb_filter_iter_tI15hb_range_iter_tIjjER8hb_map_tRK4$_19LPv0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSA_0EEEvRKSD_ Unexecuted instantiation: hb-aat-map.cc:_ZN11hb_vector_tIjLb1EE6extendI16hb_filter_iter_tI13hb_map_iter_tIS3_I13hb_zip_iter_tI15hb_range_iter_tIjjEN2OT6Layout6Common8Coverage6iter_tEERK3$_7L24hb_function_sortedness_t1ELPv0EER8hb_map_tLSG_1ELSH_0EEZNKSA_6subsetEP19hb_subset_context_tEUljE_RK4$_19LSH_0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSH_0EEEvRKSU_ Unexecuted instantiation: hb-ot-cff1-table.cc:_ZN11hb_vector_tIjLb1EE6extendI16hb_filter_iter_tI13hb_map_iter_tIS3_I13hb_zip_iter_tI15hb_range_iter_tIjjEN2OT6Layout6Common8Coverage6iter_tEERK4$_32L24hb_function_sortedness_t1ELPv0EER8hb_map_tLSG_1ELSH_0EEZNKSA_6subsetEP19hb_subset_context_tEUljE_RK4$_18LSH_0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSH_0EEEvRKSU_ Unexecuted instantiation: hb-ot-cff2-table.cc:_ZN11hb_vector_tIjLb1EE6extendI16hb_filter_iter_tI13hb_map_iter_tIS3_I13hb_zip_iter_tI15hb_range_iter_tIjjEN2OT6Layout6Common8Coverage6iter_tEERK4$_32L24hb_function_sortedness_t1ELPv0EER8hb_map_tLSG_1ELSH_0EEZNKSA_6subsetEP19hb_subset_context_tEUljE_RK4$_18LSH_0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSH_0EEEvRKSU_ Unexecuted instantiation: hb-ot-layout.cc:_ZN11hb_vector_tIjLb1EE6extendI16hb_filter_iter_tI13hb_map_iter_tIS3_I13hb_zip_iter_tI15hb_range_iter_tIjjEN2OT6Layout6Common8Coverage6iter_tEERK3$_7L24hb_function_sortedness_t1ELPv0EER8hb_map_tLSG_1ELSH_0EEZNKSA_6subsetEP19hb_subset_context_tEUljE_RK4$_19LSH_0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSH_0EEEvRKSU_ Unexecuted instantiation: hb-ot-layout.cc:_ZN11hb_vector_tIjLb0EE6extendI16hb_filter_iter_tI15hb_range_iter_tIjjER8hb_map_tRK4$_19LPv0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSA_0EEEvRKSD_ Unexecuted instantiation: hb-ot-shaper-arabic.cc:_ZN11hb_vector_tIjLb1EE6extendI16hb_filter_iter_tI13hb_map_iter_tIS3_I13hb_zip_iter_tI15hb_range_iter_tIjjEN2OT6Layout6Common8Coverage6iter_tEERK3$_7L24hb_function_sortedness_t1ELPv0EER8hb_map_tLSG_1ELSH_0EEZNKSA_6subsetEP19hb_subset_context_tEUljE_RK4$_19LSH_0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSH_0EEEvRKSU_ Unexecuted instantiation: hb-ot-shape-fallback.cc:_ZN11hb_vector_tIjLb1EE6extendI16hb_filter_iter_tI13hb_map_iter_tIS3_I13hb_zip_iter_tI15hb_range_iter_tIjjEN2OT6Layout6Common8Coverage6iter_tEERK3$_7L24hb_function_sortedness_t1ELPv0EER8hb_map_tLSG_1ELSH_0EEZNKSA_6subsetEP19hb_subset_context_tEUljE_RK4$_19LSH_0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSH_0EEEvRKSU_ Unexecuted instantiation: hb-ot-shape-fallback.cc:_ZN11hb_vector_tIjLb0EE6extendI16hb_filter_iter_tI15hb_range_iter_tIjjER8hb_map_tRK4$_19LPv0EETnPN12hb_enable_ifIXsr14hb_is_iterableIT_EE5valueEvE4typeELSA_0EEEvRKSD_ |
109 | | void extend (array_t o) |
110 | 0 | { |
111 | 0 | alloc (length + o.length); |
112 | 0 | if (unlikely (in_error ())) return; |
113 | 0 | copy_array (o); |
114 | 0 | } Unexecuted instantiation: hb_vector_t<contour_point_t, false>::extend(hb_array_t<contour_point_t>) Unexecuted instantiation: hb_vector_t<int, false>::extend(hb_array_t<int>) |
115 | | void extend (c_array_t o) |
116 | 0 | { |
117 | 0 | alloc (length + o.length); |
118 | 0 | if (unlikely (in_error ())) return; |
119 | 0 | copy_array (o); |
120 | 0 | } |
121 | | |
122 | | public: |
123 | | int allocated = 0; /* < 0 means allocation failed. */ |
124 | | unsigned int length = 0; |
125 | | public: |
126 | | Type *arrayZ = nullptr; |
127 | | |
128 | | void init () |
129 | 60.2k | { |
130 | 60.2k | allocated = length = 0; |
131 | 60.2k | arrayZ = nullptr; |
132 | 60.2k | } Unexecuted instantiation: hb_vector_t<hb_user_data_array_t::hb_user_data_item_t, false>::init() hb_vector_t<hb_ot_map_t::feature_map_t, true>::init() Line | Count | Source | 129 | 4.55k | { | 130 | 4.55k | allocated = length = 0; | 131 | 4.55k | arrayZ = nullptr; | 132 | 4.55k | } |
hb_vector_t<hb_ot_map_t::lookup_map_t, false>::init() Line | Count | Source | 129 | 9.10k | { | 130 | 9.10k | allocated = length = 0; | 131 | 9.10k | arrayZ = nullptr; | 132 | 9.10k | } |
hb_vector_t<hb_ot_map_t::stage_map_t, false>::init() Line | Count | Source | 129 | 9.10k | { | 130 | 9.10k | allocated = length = 0; | 131 | 9.10k | arrayZ = nullptr; | 132 | 9.10k | } |
hb_vector_t<hb_aat_map_builder_t::feature_range_t, true>::init() Line | Count | Source | 129 | 2.27k | { | 130 | 2.27k | allocated = length = 0; | 131 | 2.27k | arrayZ = nullptr; | 132 | 2.27k | } |
hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::init() Line | Count | Source | 129 | 2.27k | { | 130 | 2.27k | allocated = length = 0; | 131 | 2.27k | arrayZ = nullptr; | 132 | 2.27k | } |
Unexecuted instantiation: hb_vector_t<hb_aat_map_t::range_flags_t, true>::init() hb_vector_t<hb_vector_t<hb_aat_map_t::range_flags_t, true>, false>::init() Line | Count | Source | 129 | 2.27k | { | 130 | 2.27k | allocated = length = 0; | 131 | 2.27k | arrayZ = nullptr; | 132 | 2.27k | } |
hb_vector_t<hb_bit_set_t::page_map_t, true>::init() Line | Count | Source | 129 | 190 | { | 130 | 190 | allocated = length = 0; | 131 | 190 | arrayZ = nullptr; | 132 | 190 | } |
hb_vector_t<hb_bit_page_t, false>::init() Line | Count | Source | 129 | 190 | { | 130 | 190 | allocated = length = 0; | 131 | 190 | arrayZ = nullptr; | 132 | 190 | } |
Unexecuted instantiation: hb_vector_t<unsigned int, false>::init() Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::init() Unexecuted instantiation: hb_vector_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*, false>::init() Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t*, false>::init() Unexecuted instantiation: hb_vector_t<hb_transform_t<float>, false>::init() Unexecuted instantiation: hb_vector_t<hb_bounds_t<float>, false>::init() Unexecuted instantiation: hb_vector_t<hb_outline_point_t, false>::init() Unexecuted instantiation: hb_vector_t<unsigned int, true>::init() Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>::init() Unexecuted instantiation: hb_vector_t<unsigned char, false>::init() Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false> const*, false>::init() Unexecuted instantiation: hb_vector_t<OT::VarData::serialize(hb_serialize_context_t*, bool, hb_vector_t<hb_vector_t<int, false> const*, false> const&)::delta_size_t, false>::init() Unexecuted instantiation: hb_vector_t<OT::VarData::serialize(hb_serialize_context_t*, OT::VarData const*, hb_inc_bimap_t const&, hb_inc_bimap_t const&)::delta_size_t, false>::init() Unexecuted instantiation: hb_vector_t<hb_inc_bimap_t, false>::init() Unexecuted instantiation: hb_vector_t<char, false>::init() Unexecuted instantiation: hb_vector_t<OT::tuple_delta_t, false>::init() Unexecuted instantiation: hb_vector_t<hb_pair_t<double, Triple>, false>::init() Unexecuted instantiation: hb_vector_t<int, false>::init() Unexecuted instantiation: hb_vector_t<bool, false>::init() Unexecuted instantiation: hb_vector_t<float, false>::init() Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false> const*, false>::init() Unexecuted instantiation: hb_vector_t<OT::delta_row_encoding_t, false>::init() Unexecuted instantiation: hb_vector_t<hb_pair_t<OT::item_variations_t::combined_gain_idx_tuple_t, unsigned int>, false>::init() Unexecuted instantiation: hb_vector_t<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::tuple_variations_t, false>::init() Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false>, false>::init() Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false>, false>::init() Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, false>::init() Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, face_table_info_t>, false>::init() Unexecuted instantiation: hb_vector_t<OT::AxisValueMap, false>::init() Unexecuted instantiation: hb_vector_t<hb_ot_name_entry_t, false>::init() Unexecuted instantiation: hb_vector_t<contour_point_t, false>::init() Unexecuted instantiation: hb_vector_t<OT::cff1::accelerator_t::gname_t, true>::init() Unexecuted instantiation: hb_vector_t<CFF::cff1_top_dict_val_t, false>::init() Unexecuted instantiation: hb_vector_t<CFF::op_str_t, false>::init() Unexecuted instantiation: hb_vector_t<CFF::cff1_font_dict_values_t, false>::init() Unexecuted instantiation: hb_vector_t<CFF::dict_val_t, false>::init() Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::dict_val_t>, false>::init() Unexecuted instantiation: hb_vector_t<CFF::cff2_font_dict_values_t, false>::init() Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::dict_val_t>, false>::init() hb_vector_t<AAT::kern_subtable_accelerator_data_t, false>::init() Line | Count | Source | 129 | 7.84k | { | 130 | 7.84k | allocated = length = 0; | 131 | 7.84k | arrayZ = nullptr; | 132 | 7.84k | } |
hb_vector_t<hb_bit_set_t, false>::init() Line | Count | Source | 129 | 1.96k | { | 130 | 1.96k | allocated = length = 0; | 131 | 1.96k | arrayZ = nullptr; | 132 | 1.96k | } |
Unexecuted instantiation: hb_vector_t<hb_set_t*, false>::init() Unexecuted instantiation: hb_vector_t<OT::index_map_subset_plan_t, false>::init() Unexecuted instantiation: hb_vector_t<OT::DeltaSetIndexMap const*, false>::init() Unexecuted instantiation: hb_vector_t<OT::glyf_impl::SubsetGlyph, false>::init() Unexecuted instantiation: hb_vector_t<hb_variation_t, false>::init() Unexecuted instantiation: hb_vector_t<hb_set_t, false>::init() Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_op_t, false>::init() Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_t, false>::init() Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_vec_t, false>::init() Unexecuted instantiation: hb_vector_t<CFF::code_pair_t, false>::init() Unexecuted instantiation: hb_vector_t<CFF::subr_remap_t, false>::init() Unexecuted instantiation: hb_vector_t<hb_array_t<unsigned char const>, false>::init() Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::op_str_t>, false>::init() Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::op_str_t>, false>::init() Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>, false>::init() Unexecuted instantiation: hb_vector_t<OT::IndexSubtableRecord, false>::init() Unexecuted instantiation: hb_vector_t<OT::LayerRecord, false>::init() Unexecuted instantiation: hb_vector_t<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>*, false>::init() Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_event_t, false>::init() hb_vector_t<hb_ot_map_builder_t::feature_info_t, false>::init() Line | Count | Source | 129 | 6.82k | { | 130 | 6.82k | allocated = length = 0; | 131 | 6.82k | arrayZ = nullptr; | 132 | 6.82k | } |
hb_vector_t<hb_ot_map_builder_t::stage_info_t, false>::init() Line | Count | Source | 129 | 13.6k | { | 130 | 13.6k | allocated = length = 0; | 131 | 13.6k | arrayZ = nullptr; | 132 | 13.6k | } |
|
133 | | void init0 () |
134 | 11.3k | { |
135 | 11.3k | } hb_vector_t<hb_ot_map_t::feature_map_t, true>::init0() Line | Count | Source | 134 | 2.27k | { | 135 | 2.27k | } |
hb_vector_t<hb_ot_map_t::lookup_map_t, false>::init0() Line | Count | Source | 134 | 4.55k | { | 135 | 4.55k | } |
hb_vector_t<hb_ot_map_t::stage_map_t, false>::init0() Line | Count | Source | 134 | 4.55k | { | 135 | 4.55k | } |
|
136 | | |
137 | | void fini () |
138 | 53.3k | { |
139 | | /* We allow a hack to make the vector point to a foreign array |
140 | | * by the user. In that case length/arrayZ are non-zero but |
141 | | * allocated is zero. Don't free anything. */ |
142 | 53.3k | if (allocated) |
143 | 11.7k | { |
144 | 11.7k | shrink_vector (0); |
145 | 11.7k | hb_free (arrayZ); |
146 | 11.7k | } |
147 | 53.3k | init (); |
148 | 53.3k | } Unexecuted instantiation: hb_vector_t<hb_user_data_array_t::hb_user_data_item_t, false>::fini() hb_vector_t<hb_ot_map_t::feature_map_t, true>::fini() Line | Count | Source | 138 | 4.55k | { | 139 | | /* We allow a hack to make the vector point to a foreign array | 140 | | * by the user. In that case length/arrayZ are non-zero but | 141 | | * allocated is zero. Don't free anything. */ | 142 | 4.55k | if (allocated) | 143 | 18 | { | 144 | 18 | shrink_vector (0); | 145 | 18 | hb_free (arrayZ); | 146 | 18 | } | 147 | 4.55k | init (); | 148 | 4.55k | } |
hb_vector_t<hb_ot_map_t::lookup_map_t, false>::fini() Line | Count | Source | 138 | 9.10k | { | 139 | | /* We allow a hack to make the vector point to a foreign array | 140 | | * by the user. In that case length/arrayZ are non-zero but | 141 | | * allocated is zero. Don't free anything. */ | 142 | 9.10k | if (allocated) | 143 | 31 | { | 144 | 31 | shrink_vector (0); | 145 | 31 | hb_free (arrayZ); | 146 | 31 | } | 147 | 9.10k | init (); | 148 | 9.10k | } |
hb_vector_t<hb_ot_map_t::stage_map_t, false>::fini() Line | Count | Source | 138 | 9.10k | { | 139 | | /* We allow a hack to make the vector point to a foreign array | 140 | | * by the user. In that case length/arrayZ are non-zero but | 141 | | * allocated is zero. Don't free anything. */ | 142 | 9.10k | if (allocated) | 143 | 4.55k | { | 144 | 4.55k | shrink_vector (0); | 145 | 4.55k | hb_free (arrayZ); | 146 | 4.55k | } | 147 | 9.10k | init (); | 148 | 9.10k | } |
hb_vector_t<hb_aat_map_builder_t::feature_range_t, true>::fini() Line | Count | Source | 138 | 2.27k | { | 139 | | /* We allow a hack to make the vector point to a foreign array | 140 | | * by the user. In that case length/arrayZ are non-zero but | 141 | | * allocated is zero. Don't free anything. */ | 142 | 2.27k | if (allocated) | 143 | 0 | { | 144 | 0 | shrink_vector (0); | 145 | 0 | hb_free (arrayZ); | 146 | 0 | } | 147 | 2.27k | init (); | 148 | 2.27k | } |
hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::fini() Line | Count | Source | 138 | 2.27k | { | 139 | | /* We allow a hack to make the vector point to a foreign array | 140 | | * by the user. In that case length/arrayZ are non-zero but | 141 | | * allocated is zero. Don't free anything. */ | 142 | 2.27k | if (allocated) | 143 | 0 | { | 144 | 0 | shrink_vector (0); | 145 | 0 | hb_free (arrayZ); | 146 | 0 | } | 147 | 2.27k | init (); | 148 | 2.27k | } |
hb_vector_t<hb_vector_t<hb_aat_map_t::range_flags_t, true>, false>::fini() Line | Count | Source | 138 | 2.27k | { | 139 | | /* We allow a hack to make the vector point to a foreign array | 140 | | * by the user. In that case length/arrayZ are non-zero but | 141 | | * allocated is zero. Don't free anything. */ | 142 | 2.27k | if (allocated) | 143 | 0 | { | 144 | 0 | shrink_vector (0); | 145 | 0 | hb_free (arrayZ); | 146 | 0 | } | 147 | 2.27k | init (); | 148 | 2.27k | } |
Unexecuted instantiation: hb_vector_t<hb_aat_map_t::range_flags_t, true>::fini() hb_vector_t<hb_bit_set_t::page_map_t, true>::fini() Line | Count | Source | 138 | 168 | { | 139 | | /* We allow a hack to make the vector point to a foreign array | 140 | | * by the user. In that case length/arrayZ are non-zero but | 141 | | * allocated is zero. Don't free anything. */ | 142 | 168 | if (allocated) | 143 | 147 | { | 144 | 147 | shrink_vector (0); | 145 | 147 | hb_free (arrayZ); | 146 | 147 | } | 147 | 168 | init (); | 148 | 168 | } |
hb_vector_t<hb_bit_page_t, false>::fini() Line | Count | Source | 138 | 168 | { | 139 | | /* We allow a hack to make the vector point to a foreign array | 140 | | * by the user. In that case length/arrayZ are non-zero but | 141 | | * allocated is zero. Don't free anything. */ | 142 | 168 | if (allocated) | 143 | 147 | { | 144 | 147 | shrink_vector (0); | 145 | 147 | hb_free (arrayZ); | 146 | 147 | } | 147 | 168 | init (); | 148 | 168 | } |
Unexecuted instantiation: hb_vector_t<unsigned int, false>::fini() Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::fini() Unexecuted instantiation: hb_vector_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*, false>::fini() Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t*, false>::fini() Unexecuted instantiation: hb_vector_t<hb_transform_t<float>, false>::fini() Unexecuted instantiation: hb_vector_t<hb_bounds_t<float>, false>::fini() Unexecuted instantiation: hb_vector_t<hb_outline_point_t, false>::fini() Unexecuted instantiation: hb_vector_t<unsigned int, true>::fini() Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>::fini() Unexecuted instantiation: hb_vector_t<unsigned char, false>::fini() Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false> const*, false>::fini() Unexecuted instantiation: hb_vector_t<OT::VarData::serialize(hb_serialize_context_t*, bool, hb_vector_t<hb_vector_t<int, false> const*, false> const&)::delta_size_t, false>::fini() Unexecuted instantiation: hb_vector_t<OT::VarData::serialize(hb_serialize_context_t*, OT::VarData const*, hb_inc_bimap_t const&, hb_inc_bimap_t const&)::delta_size_t, false>::fini() Unexecuted instantiation: hb_vector_t<hb_inc_bimap_t, false>::fini() Unexecuted instantiation: hb_vector_t<char, false>::fini() Unexecuted instantiation: hb_vector_t<OT::tuple_delta_t, false>::fini() Unexecuted instantiation: hb_vector_t<hb_pair_t<double, Triple>, false>::fini() Unexecuted instantiation: hb_vector_t<int, false>::fini() Unexecuted instantiation: hb_vector_t<bool, false>::fini() Unexecuted instantiation: hb_vector_t<float, false>::fini() Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false> const*, false>::fini() Unexecuted instantiation: hb_vector_t<OT::delta_row_encoding_t, false>::fini() Unexecuted instantiation: hb_vector_t<hb_pair_t<OT::item_variations_t::combined_gain_idx_tuple_t, unsigned int>, false>::fini() Unexecuted instantiation: hb_vector_t<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::tuple_variations_t, false>::fini() Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false>, false>::fini() Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false>, false>::fini() Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, false>::fini() Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, face_table_info_t>, false>::fini() Unexecuted instantiation: hb_vector_t<OT::AxisValueMap, false>::fini() Unexecuted instantiation: hb_vector_t<hb_ot_name_entry_t, false>::fini() Unexecuted instantiation: hb_vector_t<contour_point_t, false>::fini() Unexecuted instantiation: hb_vector_t<OT::cff1::accelerator_t::gname_t, true>::fini() Unexecuted instantiation: hb_vector_t<CFF::cff1_top_dict_val_t, false>::fini() Unexecuted instantiation: hb_vector_t<CFF::cff1_font_dict_values_t, false>::fini() Unexecuted instantiation: hb_vector_t<CFF::op_str_t, false>::fini() Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::dict_val_t>, false>::fini() Unexecuted instantiation: hb_vector_t<CFF::dict_val_t, false>::fini() Unexecuted instantiation: hb_vector_t<CFF::cff2_font_dict_values_t, false>::fini() Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::dict_val_t>, false>::fini() hb_vector_t<AAT::kern_subtable_accelerator_data_t, false>::fini() Line | Count | Source | 138 | 7.84k | { | 139 | | /* We allow a hack to make the vector point to a foreign array | 140 | | * by the user. In that case length/arrayZ are non-zero but | 141 | | * allocated is zero. Don't free anything. */ | 142 | 7.84k | if (allocated) | 143 | 22 | { | 144 | 22 | shrink_vector (0); | 145 | 22 | hb_free (arrayZ); | 146 | 22 | } | 147 | 7.84k | init (); | 148 | 7.84k | } |
hb_vector_t<hb_bit_set_t, false>::fini() Line | Count | Source | 138 | 1.96k | { | 139 | | /* We allow a hack to make the vector point to a foreign array | 140 | | * by the user. In that case length/arrayZ are non-zero but | 141 | | * allocated is zero. Don't free anything. */ | 142 | 1.96k | if (allocated) | 143 | 0 | { | 144 | 0 | shrink_vector (0); | 145 | 0 | hb_free (arrayZ); | 146 | 0 | } | 147 | 1.96k | init (); | 148 | 1.96k | } |
Unexecuted instantiation: hb_vector_t<hb_set_t*, false>::fini() Unexecuted instantiation: hb_vector_t<OT::index_map_subset_plan_t, false>::fini() Unexecuted instantiation: hb_vector_t<OT::DeltaSetIndexMap const*, false>::fini() Unexecuted instantiation: hb_vector_t<OT::glyf_impl::SubsetGlyph, false>::fini() Unexecuted instantiation: hb_vector_t<hb_variation_t, false>::fini() Unexecuted instantiation: hb_vector_t<hb_set_t, false>::fini() Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_op_t, false>::fini() Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_t, false>::fini() Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_vec_t, false>::fini() Unexecuted instantiation: hb_vector_t<CFF::code_pair_t, false>::fini() Unexecuted instantiation: hb_vector_t<CFF::subr_remap_t, false>::fini() Unexecuted instantiation: hb_vector_t<hb_array_t<unsigned char const>, false>::fini() Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::op_str_t>, false>::fini() Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::op_str_t>, false>::fini() Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>, false>::fini() Unexecuted instantiation: hb_vector_t<OT::IndexSubtableRecord, false>::fini() Unexecuted instantiation: hb_vector_t<OT::LayerRecord, false>::fini() Unexecuted instantiation: hb_vector_t<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>*, false>::fini() Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_event_t, false>::fini() hb_vector_t<hb_ot_map_builder_t::feature_info_t, false>::fini() Line | Count | Source | 138 | 4.55k | { | 139 | | /* We allow a hack to make the vector point to a foreign array | 140 | | * by the user. In that case length/arrayZ are non-zero but | 141 | | * allocated is zero. Don't free anything. */ | 142 | 4.55k | if (allocated) | 143 | 2.27k | { | 144 | 2.27k | shrink_vector (0); | 145 | 2.27k | hb_free (arrayZ); | 146 | 2.27k | } | 147 | 4.55k | init (); | 148 | 4.55k | } |
hb_vector_t<hb_ot_map_builder_t::stage_info_t, false>::fini() Line | Count | Source | 138 | 9.10k | { | 139 | | /* We allow a hack to make the vector point to a foreign array | 140 | | * by the user. In that case length/arrayZ are non-zero but | 141 | | * allocated is zero. Don't free anything. */ | 142 | 9.10k | if (allocated) | 143 | 4.55k | { | 144 | 4.55k | shrink_vector (0); | 145 | 4.55k | hb_free (arrayZ); | 146 | 4.55k | } | 147 | 9.10k | init (); | 148 | 9.10k | } |
|
149 | | |
150 | | void reset () |
151 | 0 | { |
152 | 0 | if (unlikely (in_error ())) |
153 | 0 | reset_error (); |
154 | 0 | resize (0); |
155 | 0 | } Unexecuted instantiation: hb_vector_t<hb_bit_set_t::page_map_t, true>::reset() Unexecuted instantiation: hb_vector_t<hb_bit_page_t, false>::reset() Unexecuted instantiation: hb_vector_t<unsigned int, false>::reset() Unexecuted instantiation: hb_vector_t<unsigned char, false>::reset() Unexecuted instantiation: hb_vector_t<contour_point_t, false>::reset() Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_t, false>::reset() Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_vec_t, false>::reset() Unexecuted instantiation: hb_vector_t<hb_set_t, false>::reset() Unexecuted instantiation: hb_vector_t<unsigned int, true>::reset() Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::reset() |
156 | | |
157 | | friend void swap (hb_vector_t& a, hb_vector_t& b) noexcept |
158 | 3.92k | { |
159 | 3.92k | hb_swap (a.allocated, b.allocated); |
160 | 3.92k | hb_swap (a.length, b.length); |
161 | 3.92k | hb_swap (a.arrayZ, b.arrayZ); |
162 | 3.92k | } Unexecuted instantiation: swap(hb_vector_t<hb_bit_set_t::page_map_t, true>&, hb_vector_t<hb_bit_set_t::page_map_t, true>&) Unexecuted instantiation: swap(hb_vector_t<hb_bit_page_t, false>&, hb_vector_t<hb_bit_page_t, false>&) Unexecuted instantiation: swap(hb_vector_t<hb_serialize_context_t::object_t::link_t, false>&, hb_vector_t<hb_serialize_context_t::object_t::link_t, false>&) Unexecuted instantiation: swap(hb_vector_t<unsigned int, false>&, hb_vector_t<unsigned int, false>&) Unexecuted instantiation: swap(hb_vector_t<bool, false>&, hb_vector_t<bool, false>&) Unexecuted instantiation: swap(hb_vector_t<float, false>&, hb_vector_t<float, false>&) Unexecuted instantiation: swap(hb_vector_t<unsigned char, false>&, hb_vector_t<unsigned char, false>&) Unexecuted instantiation: swap(hb_vector_t<char, false>&, hb_vector_t<char, false>&) Unexecuted instantiation: swap(hb_vector_t<OT::tuple_delta_t, false>&, hb_vector_t<OT::tuple_delta_t, false>&) Unexecuted instantiation: swap(hb_vector_t<hb_vector_t<int, false> const*, false>&, hb_vector_t<hb_vector_t<int, false> const*, false>&) Unexecuted instantiation: swap(hb_vector_t<CFF::parsed_cs_op_t, false>&, hb_vector_t<CFF::parsed_cs_op_t, false>&) Unexecuted instantiation: swap(hb_vector_t<CFF::dict_val_t, false>&, hb_vector_t<CFF::dict_val_t, false>&) Unexecuted instantiation: swap(hb_vector_t<CFF::op_str_t, false>&, hb_vector_t<CFF::op_str_t, false>&) swap(hb_vector_t<AAT::kern_subtable_accelerator_data_t, false>&, hb_vector_t<AAT::kern_subtable_accelerator_data_t, false>&) Line | Count | Source | 158 | 3.92k | { | 159 | 3.92k | hb_swap (a.allocated, b.allocated); | 160 | 3.92k | hb_swap (a.length, b.length); | 161 | 3.92k | hb_swap (a.arrayZ, b.arrayZ); | 162 | 3.92k | } |
|
163 | | |
164 | | hb_vector_t& operator = (const hb_vector_t &o) |
165 | 0 | { |
166 | 0 | reset (); |
167 | 0 | alloc_exact (o.length); |
168 | 0 | if (unlikely (in_error ())) return *this; |
169 | | |
170 | 0 | length = 0; |
171 | 0 | copy_array (o.as_array ()); |
172 | |
|
173 | 0 | return *this; |
174 | 0 | } Unexecuted instantiation: hb_vector_t<hb_bit_set_t::page_map_t, true>::operator=(hb_vector_t<hb_bit_set_t::page_map_t, true> const&) Unexecuted instantiation: hb_vector_t<hb_bit_page_t, false>::operator=(hb_vector_t<hb_bit_page_t, false> const&) Unexecuted instantiation: hb_vector_t<unsigned char, false>::operator=(hb_vector_t<unsigned char, false> const&) Unexecuted instantiation: hb_vector_t<contour_point_t, false>::operator=(hb_vector_t<contour_point_t, false> const&) Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_t, false>::operator=(hb_vector_t<CFF::parsed_cs_str_t, false> const&) Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_vec_t, false>::operator=(hb_vector_t<CFF::parsed_cs_str_vec_t, false> const&) Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::operator=(hb_vector_t<hb_aat_map_builder_t::feature_info_t, true> const&) |
175 | | hb_vector_t& operator = (hb_vector_t &&o) noexcept |
176 | 3.92k | { |
177 | 3.92k | hb_swap (*this, o); |
178 | 3.92k | return *this; |
179 | 3.92k | } Unexecuted instantiation: hb_vector_t<unsigned int, false>::operator=(hb_vector_t<unsigned int, false>&&) Unexecuted instantiation: hb_vector_t<unsigned char, false>::operator=(hb_vector_t<unsigned char, false>&&) Unexecuted instantiation: hb_vector_t<bool, false>::operator=(hb_vector_t<bool, false>&&) Unexecuted instantiation: hb_vector_t<float, false>::operator=(hb_vector_t<float, false>&&) Unexecuted instantiation: hb_vector_t<OT::tuple_delta_t, false>::operator=(hb_vector_t<OT::tuple_delta_t, false>&&) Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false> const*, false>::operator=(hb_vector_t<hb_vector_t<int, false> const*, false>&&) Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_op_t, false>::operator=(hb_vector_t<CFF::parsed_cs_op_t, false>&&) Unexecuted instantiation: hb_vector_t<CFF::dict_val_t, false>::operator=(hb_vector_t<CFF::dict_val_t, false>&&) Unexecuted instantiation: hb_vector_t<CFF::op_str_t, false>::operator=(hb_vector_t<CFF::op_str_t, false>&&) hb_vector_t<AAT::kern_subtable_accelerator_data_t, false>::operator=(hb_vector_t<AAT::kern_subtable_accelerator_data_t, false>&&) Line | Count | Source | 176 | 3.92k | { | 177 | 3.92k | hb_swap (*this, o); | 178 | 3.92k | return *this; | 179 | 3.92k | } |
|
180 | | |
181 | | hb_bytes_t as_bytes () const |
182 | 0 | { return hb_bytes_t ((const char *) arrayZ, get_size ()); } |
183 | | |
184 | 0 | bool operator == (const hb_vector_t &o) const { return as_array () == o.as_array (); }Unexecuted instantiation: hb_vector_t<char, false>::operator==(hb_vector_t<char, false> const&) const Unexecuted instantiation: hb_vector_t<int, false>::operator==(hb_vector_t<int, false> const&) const Unexecuted instantiation: hb_vector_t<unsigned char, false>::operator==(hb_vector_t<unsigned char, false> const&) const |
185 | | bool operator != (const hb_vector_t &o) const { return !(*this == o); } |
186 | 0 | uint32_t hash () const { return as_array ().hash (); }Unexecuted instantiation: hb_vector_t<char, false>::hash() const Unexecuted instantiation: hb_vector_t<int, false>::hash() const Unexecuted instantiation: hb_vector_t<unsigned char, false>::hash() const |
187 | | |
188 | | Type& operator [] (int i_) |
189 | 75.1k | { |
190 | 75.1k | unsigned int i = (unsigned int) i_; |
191 | 75.1k | if (unlikely (i >= length)) |
192 | 0 | return Crap (Type); |
193 | 75.1k | return arrayZ[i]; |
194 | 75.1k | } Unexecuted instantiation: hb_vector_t<hb_user_data_array_t::hb_user_data_item_t, false>::operator[](int) Unexecuted instantiation: hb_vector_t<hb_bit_set_t::page_map_t, true>::operator[](int) Unexecuted instantiation: hb_vector_t<unsigned int, false>::operator[](int) Unexecuted instantiation: hb_vector_t<hb_bit_page_t, false>::operator[](int) Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::operator[](int) Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t*, false>::operator[](int) Unexecuted instantiation: hb_vector_t<hb_bounds_t<float>, false>::operator[](int) Unexecuted instantiation: hb_vector_t<hb_transform_t<float>, false>::operator[](int) Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>::operator[](int) Unexecuted instantiation: hb_vector_t<OT::VarData::serialize(hb_serialize_context_t*, bool, hb_vector_t<hb_vector_t<int, false> const*, false> const&)::delta_size_t, false>::operator[](int) Unexecuted instantiation: hb_vector_t<OT::VarData::serialize(hb_serialize_context_t*, OT::VarData const*, hb_inc_bimap_t const&, hb_inc_bimap_t const&)::delta_size_t, false>::operator[](int) Unexecuted instantiation: hb_vector_t<float, false>::operator[](int) Unexecuted instantiation: hb_vector_t<int, false>::operator[](int) Unexecuted instantiation: hb_vector_t<bool, false>::operator[](int) Unexecuted instantiation: hb_vector_t<OT::tuple_delta_t, false>::operator[](int) Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false>, false>::operator[](int) Unexecuted instantiation: hb_vector_t<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::tuple_variations_t, false>::operator[](int) Unexecuted instantiation: hb_vector_t<OT::delta_row_encoding_t, false>::operator[](int) Unexecuted instantiation: hb_vector_t<hb_set_t*, false>::operator[](int) Unexecuted instantiation: hb_vector_t<OT::index_map_subset_plan_t, false>::operator[](int) Unexecuted instantiation: hb_vector_t<hb_inc_bimap_t, false>::operator[](int) Unexecuted instantiation: hb_vector_t<contour_point_t, false>::operator[](int) Unexecuted instantiation: hb_vector_t<char, false>::operator[](int) Unexecuted instantiation: hb_vector_t<hb_set_t, false>::operator[](int) Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_t, false>::operator[](int) Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::dict_val_t>, false>::operator[](int) Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::op_str_t>, false>::operator[](int) Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::dict_val_t>, false>::operator[](int) Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::op_str_t>, false>::operator[](int) Unexecuted instantiation: hb_vector_t<hb_ot_name_entry_t, false>::operator[](int) Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>, false>::operator[](int) Unexecuted instantiation: hb_vector_t<OT::IndexSubtableRecord, false>::operator[](int) Unexecuted instantiation: hb_vector_t<OT::LayerRecord, false>::operator[](int) Unexecuted instantiation: hb_vector_t<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>*, false>::operator[](int) Unexecuted instantiation: hb_vector_t<hb_outline_point_t, false>::operator[](int) Unexecuted instantiation: hb_vector_t<hb_vector_t<hb_aat_map_t::range_flags_t, true>, false>::operator[](int) Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_event_t, false>::operator[](int) Unexecuted instantiation: hb_vector_t<hb_aat_map_t::range_flags_t, true>::operator[](int) hb_vector_t<hb_ot_map_builder_t::feature_info_t, false>::operator[](int) Line | Count | Source | 189 | 61.4k | { | 190 | 61.4k | unsigned int i = (unsigned int) i_; | 191 | 61.4k | if (unlikely (i >= length)) | 192 | 0 | return Crap (Type); | 193 | 61.4k | return arrayZ[i]; | 194 | 61.4k | } |
hb_vector_t<hb_ot_map_builder_t::stage_info_t, false>::operator[](int) Line | Count | Source | 189 | 13.7k | { | 190 | 13.7k | unsigned int i = (unsigned int) i_; | 191 | 13.7k | if (unlikely (i >= length)) | 192 | 0 | return Crap (Type); | 193 | 13.7k | return arrayZ[i]; | 194 | 13.7k | } |
|
195 | | const Type& operator [] (int i_) const |
196 | 401k | { |
197 | 401k | unsigned int i = (unsigned int) i_; |
198 | 401k | if (unlikely (i >= length)) |
199 | 0 | return Null (Type); |
200 | 401k | return arrayZ[i]; |
201 | 401k | } hb_vector_t<hb_ot_map_t::stage_map_t, false>::operator[](int) const Line | Count | Source | 196 | 397k | { | 197 | 397k | unsigned int i = (unsigned int) i_; | 198 | 397k | if (unlikely (i >= length)) | 199 | 0 | return Null (Type); | 200 | 397k | return arrayZ[i]; | 201 | 397k | } |
Unexecuted instantiation: hb_vector_t<hb_bit_page_t, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<unsigned int, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false> const*, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false> const*, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<OT::delta_row_encoding_t, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<float, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<bool, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<hb_inc_bimap_t, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<contour_point_t, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_op_t, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<CFF::code_pair_t, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<CFF::op_str_t, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<hb_bit_set_t, false>::operator[](int) const hb_vector_t<AAT::kern_subtable_accelerator_data_t, false>::operator[](int) const Line | Count | Source | 196 | 1.51k | { | 197 | 1.51k | unsigned int i = (unsigned int) i_; | 198 | 1.51k | if (unlikely (i >= length)) | 199 | 0 | return Null (Type); | 200 | 1.51k | return arrayZ[i]; | 201 | 1.51k | } |
Unexecuted instantiation: hb_vector_t<hb_aat_map_t::range_flags_t, true>::operator[](int) const Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<hb_outline_point_t, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<hb_vector_t<hb_aat_map_t::range_flags_t, true>, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::dict_val_t>, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::op_str_t>, false>::operator[](int) const Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::dict_val_t>, false>::operator[](int) const hb_vector_t<hb_ot_map_t::lookup_map_t, false>::operator[](int) const Line | Count | Source | 196 | 2.88k | { | 197 | 2.88k | unsigned int i = (unsigned int) i_; | 198 | 2.88k | if (unlikely (i >= length)) | 199 | 0 | return Null (Type); | 200 | 2.88k | return arrayZ[i]; | 201 | 2.88k | } |
|
202 | | |
203 | 0 | Type& tail () { return (*this)[length - 1]; }Unexecuted instantiation: hb_vector_t<hb_user_data_array_t::hb_user_data_item_t, false>::tail() Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t*, false>::tail() Unexecuted instantiation: hb_vector_t<hb_bounds_t<float>, false>::tail() Unexecuted instantiation: hb_vector_t<hb_transform_t<float>, false>::tail() Unexecuted instantiation: hb_vector_t<hb_set_t, false>::tail() Unexecuted instantiation: hb_vector_t<OT::IndexSubtableRecord, false>::tail() Unexecuted instantiation: hb_vector_t<hb_aat_map_t::range_flags_t, true>::tail() |
204 | | const Type& tail () const { return (*this)[length - 1]; } |
205 | | |
206 | 0 | explicit operator bool () const { return length; }Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::operator bool() const Unexecuted instantiation: hb_vector_t<int, false>::operator bool() const Unexecuted instantiation: hb_vector_t<unsigned int, true>::operator bool() const Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>::operator bool() const Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false> const*, false>::operator bool() const Unexecuted instantiation: hb_vector_t<float, false>::operator bool() const Unexecuted instantiation: hb_vector_t<unsigned char, false>::operator bool() const Unexecuted instantiation: hb_vector_t<OT::tuple_delta_t, false>::operator bool() const Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false> const*, false>::operator bool() const Unexecuted instantiation: hb_vector_t<hb_set_t, false>::operator bool() const Unexecuted instantiation: hb_vector_t<OT::delta_row_encoding_t, false>::operator bool() const Unexecuted instantiation: hb_vector_t<hb_outline_point_t, false>::operator bool() const |
207 | 0 | unsigned get_size () const { return length * item_size; } |
208 | | |
209 | | /* Sink interface. */ |
210 | | template <typename T> |
211 | 0 | hb_vector_t& operator << (T&& v) { push (std::forward<T> (v)); return *this; }Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, face_table_info_t>, false>& hb_vector_t<hb_pair_t<unsigned int, face_table_info_t>, false>::operator<< <hb_pair_t<unsigned int, face_table_info_t> >(hb_pair_t<unsigned int, face_table_info_t>&&) Unexecuted instantiation: hb_vector_t<unsigned int, false>& hb_vector_t<unsigned int, false>::operator<< <unsigned int>(unsigned int&&) Unexecuted instantiation: hb_vector_t<unsigned int, true>& hb_vector_t<unsigned int, true>::operator<< <unsigned int const&>(unsigned int const&) Unexecuted instantiation: hb_vector_t<unsigned int, true>& hb_vector_t<unsigned int, true>::operator<< <unsigned int>(unsigned int&&) |
212 | | |
213 | 2.30k | array_t as_array () { return hb_array (arrayZ, length); }Unexecuted instantiation: hb_vector_t<hb_user_data_array_t::hb_user_data_item_t, false>::as_array() Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::as_array() Unexecuted instantiation: hb_vector_t<unsigned int, false>::as_array() Unexecuted instantiation: hb_vector_t<unsigned char, false>::as_array() Unexecuted instantiation: hb_vector_t<OT::delta_row_encoding_t, false>::as_array() Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false> const*, false>::as_array() Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, face_table_info_t>, false>::as_array() Unexecuted instantiation: hb_vector_t<OT::AxisValueMap, false>::as_array() Unexecuted instantiation: hb_vector_t<OT::DeltaSetIndexMap const*, false>::as_array() Unexecuted instantiation: hb_vector_t<OT::index_map_subset_plan_t, false>::as_array() Unexecuted instantiation: hb_vector_t<contour_point_t, false>::as_array() Unexecuted instantiation: hb_vector_t<OT::cff1::accelerator_t::gname_t, true>::as_array() Unexecuted instantiation: hb_vector_t<hb_ot_name_entry_t, false>::as_array() Unexecuted instantiation: hb_vector_t<hb_inc_bimap_t, false>::as_array() Unexecuted instantiation: hb_vector_t<int, false>::as_array() Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_event_t, false>::as_array() Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::as_array() hb_vector_t<hb_ot_map_builder_t::feature_info_t, false>::as_array() Line | Count | Source | 213 | 2.27k | array_t as_array () { return hb_array (arrayZ, length); } |
Unexecuted instantiation: hb_vector_t<hb_ot_map_t::feature_map_t, true>::as_array() hb_vector_t<hb_ot_map_t::lookup_map_t, false>::as_array() Line | Count | Source | 213 | 30 | array_t as_array () { return hb_array (arrayZ, length); } |
|
214 | 38.9k | c_array_t as_array () const { return hb_array (arrayZ, length); }hb_vector_t<hb_ot_map_t::feature_map_t, true>::as_array() const Line | Count | Source | 214 | 18.2k | c_array_t as_array () const { return hb_array (arrayZ, length); } |
Unexecuted instantiation: hb_vector_t<hb_ot_map_t::lookup_map_t, false>::as_array() const hb_vector_t<hb_bit_set_t::page_map_t, true>::as_array() const Line | Count | Source | 214 | 20.7k | c_array_t as_array () const { return hb_array (arrayZ, length); } |
Unexecuted instantiation: hb_vector_t<hb_bit_page_t, false>::as_array() const Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::as_array() const Unexecuted instantiation: hb_vector_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*, false>::as_array() const Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t*, false>::as_array() const Unexecuted instantiation: hb_vector_t<unsigned int, false>::as_array() const Unexecuted instantiation: hb_vector_t<unsigned int, true>::as_array() const Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>::as_array() const Unexecuted instantiation: hb_vector_t<unsigned char, false>::as_array() const Unexecuted instantiation: hb_vector_t<hb_inc_bimap_t, false>::as_array() const Unexecuted instantiation: hb_vector_t<bool, false>::as_array() const Unexecuted instantiation: hb_vector_t<float, false>::as_array() const Unexecuted instantiation: hb_vector_t<char, false>::as_array() const Unexecuted instantiation: hb_vector_t<int, false>::as_array() const Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false> const*, false>::as_array() const Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, false>::as_array() const Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, face_table_info_t>, false>::as_array() const Unexecuted instantiation: hb_vector_t<contour_point_t, false>::as_array() const Unexecuted instantiation: hb_vector_t<OT::glyf_impl::SubsetGlyph, false>::as_array() const Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_t, false>::as_array() const Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_op_t, false>::as_array() const Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_vec_t, false>::as_array() const Unexecuted instantiation: hb_vector_t<hb_array_t<unsigned char const>, false>::as_array() const Unexecuted instantiation: hb_vector_t<OT::LayerRecord, false>::as_array() const Unexecuted instantiation: hb_vector_t<hb_outline_point_t, false>::as_array() const Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::as_array() const Unexecuted instantiation: hb_vector_t<hb_aat_map_t::range_flags_t, true>::as_array() const |
215 | | |
216 | | /* Iterator. */ |
217 | | typedef c_array_t iter_t; |
218 | | typedef array_t writer_t; |
219 | 0 | iter_t iter () const { return as_array (); }Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::iter() const Unexecuted instantiation: hb_vector_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*, false>::iter() const Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t*, false>::iter() const Unexecuted instantiation: hb_vector_t<unsigned int, false>::iter() const Unexecuted instantiation: hb_vector_t<unsigned int, true>::iter() const Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>::iter() const Unexecuted instantiation: hb_vector_t<unsigned char, false>::iter() const Unexecuted instantiation: hb_vector_t<hb_inc_bimap_t, false>::iter() const Unexecuted instantiation: hb_vector_t<bool, false>::iter() const Unexecuted instantiation: hb_vector_t<float, false>::iter() const Unexecuted instantiation: hb_vector_t<int, false>::iter() const Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false> const*, false>::iter() const Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, false>::iter() const Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, face_table_info_t>, false>::iter() const Unexecuted instantiation: hb_vector_t<OT::glyf_impl::SubsetGlyph, false>::iter() const Unexecuted instantiation: hb_vector_t<hb_array_t<unsigned char const>, false>::iter() const Unexecuted instantiation: hb_vector_t<hb_aat_map_t::range_flags_t, true>::iter() const |
220 | 0 | writer_t writer () { return as_array (); }Unexecuted instantiation: hb_vector_t<unsigned int, false>::writer() Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::writer() Unexecuted instantiation: hb_vector_t<unsigned char, false>::writer() |
221 | 0 | operator iter_t () const { return iter (); }Unexecuted instantiation: hb_vector_t<hb_inc_bimap_t, false>::operator hb_array_t<hb_inc_bimap_t const>() const Unexecuted instantiation: hb_vector_t<bool, false>::operator hb_array_t<bool const>() const Unexecuted instantiation: hb_vector_t<float, false>::operator hb_array_t<float const>() const Unexecuted instantiation: hb_vector_t<int, false>::operator hb_array_t<int const>() const |
222 | 0 | operator writer_t () { return writer (); }Unexecuted instantiation: hb_vector_t<unsigned char, false>::operator hb_array_t<unsigned char>() Unexecuted instantiation: hb_vector_t<unsigned int, false>::operator hb_array_t<unsigned int>() |
223 | | |
224 | | /* Faster range-based for loop. */ |
225 | 6.86k | Type *begin () const { return arrayZ; }Unexecuted instantiation: hb_vector_t<hb_bit_set_t::page_map_t, true>::begin() const Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::begin() const Unexecuted instantiation: hb_vector_t<unsigned char, false>::begin() const Unexecuted instantiation: hb_vector_t<hb_pair_t<double, Triple>, false>::begin() const Unexecuted instantiation: hb_vector_t<unsigned int, false>::begin() const Unexecuted instantiation: hb_vector_t<bool, false>::begin() const Unexecuted instantiation: hb_vector_t<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::tuple_variations_t, false>::begin() const Unexecuted instantiation: hb_vector_t<OT::tuple_delta_t, false>::begin() const Unexecuted instantiation: hb_vector_t<float, false>::begin() const Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false>, false>::begin() const Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false> const*, false>::begin() const Unexecuted instantiation: hb_vector_t<int, false>::begin() const Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false> const*, false>::begin() const Unexecuted instantiation: hb_vector_t<OT::AxisValueMap, false>::begin() const Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>::begin() const Unexecuted instantiation: hb_vector_t<contour_point_t, false>::begin() const Unexecuted instantiation: hb_vector_t<OT::glyf_impl::SubsetGlyph, false>::begin() const Unexecuted instantiation: hb_vector_t<hb_outline_point_t, false>::begin() const Unexecuted instantiation: hb_vector_t<hb_vector_t<hb_aat_map_t::range_flags_t, true>, false>::begin() const hb_vector_t<hb_ot_map_t::feature_map_t, true>::begin() const Line | Count | Source | 225 | 6.86k | Type *begin () const { return arrayZ; } |
|
226 | 6.86k | Type *end () const { return arrayZ + length; }Unexecuted instantiation: hb_vector_t<hb_bit_set_t::page_map_t, true>::end() const Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::end() const Unexecuted instantiation: hb_vector_t<unsigned char, false>::end() const Unexecuted instantiation: hb_vector_t<hb_pair_t<double, Triple>, false>::end() const Unexecuted instantiation: hb_vector_t<unsigned int, false>::end() const Unexecuted instantiation: hb_vector_t<bool, false>::end() const Unexecuted instantiation: hb_vector_t<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::tuple_variations_t, false>::end() const Unexecuted instantiation: hb_vector_t<OT::tuple_delta_t, false>::end() const Unexecuted instantiation: hb_vector_t<float, false>::end() const Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false>, false>::end() const Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false> const*, false>::end() const Unexecuted instantiation: hb_vector_t<int, false>::end() const Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false> const*, false>::end() const Unexecuted instantiation: hb_vector_t<OT::AxisValueMap, false>::end() const Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>::end() const Unexecuted instantiation: hb_vector_t<contour_point_t, false>::end() const Unexecuted instantiation: hb_vector_t<OT::glyf_impl::SubsetGlyph, false>::end() const Unexecuted instantiation: hb_vector_t<hb_outline_point_t, false>::end() const Unexecuted instantiation: hb_vector_t<hb_vector_t<hb_aat_map_t::range_flags_t, true>, false>::end() const hb_vector_t<hb_ot_map_t::feature_map_t, true>::end() const Line | Count | Source | 226 | 6.86k | Type *end () const { return arrayZ + length; } |
|
227 | | |
228 | | |
229 | | hb_sorted_array_t<Type> as_sorted_array () |
230 | | { return hb_sorted_array (arrayZ, length); } |
231 | | hb_sorted_array_t<const Type> as_sorted_array () const |
232 | | { return hb_sorted_array (arrayZ, length); } |
233 | | |
234 | | template <typename T> explicit operator T * () { return arrayZ; } |
235 | 0 | template <typename T> explicit operator const T * () const { return arrayZ; } |
236 | | |
237 | | Type * operator + (unsigned int i) { return arrayZ + i; } |
238 | | const Type * operator + (unsigned int i) const { return arrayZ + i; } |
239 | | |
240 | | Type *push () |
241 | 82.2k | { |
242 | 82.2k | if (unlikely (!resize (length + 1))) |
243 | 0 | return std::addressof (Crap (Type)); |
244 | 82.2k | return std::addressof (arrayZ[length - 1]); |
245 | 82.2k | } Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::push() Unexecuted instantiation: hb_vector_t<hb_inc_bimap_t, false>::push() Unexecuted instantiation: hb_vector_t<OT::glyf_impl::SubsetGlyph, false>::push() Unexecuted instantiation: hb_vector_t<CFF::cff1_font_dict_values_t, false>::push() Unexecuted instantiation: hb_vector_t<CFF::cff2_font_dict_values_t, false>::push() Unexecuted instantiation: hb_vector_t<hb_bit_set_t, false>::push() Unexecuted instantiation: hb_vector_t<hb_set_t, false>::push() hb_vector_t<AAT::kern_subtable_accelerator_data_t, false>::push() Line | Count | Source | 241 | 73 | { | 242 | 73 | if (unlikely (!resize (length + 1))) | 243 | 0 | return std::addressof (Crap (Type)); | 244 | 73 | return std::addressof (arrayZ[length - 1]); | 245 | 73 | } |
Unexecuted instantiation: hb_vector_t<hb_ot_name_entry_t, false>::push() Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_range_t, true>::push() Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_event_t, false>::push() hb_vector_t<hb_ot_map_builder_t::feature_info_t, false>::push() Line | Count | Source | 241 | 68.3k | { | 242 | 68.3k | if (unlikely (!resize (length + 1))) | 243 | 0 | return std::addressof (Crap (Type)); | 244 | 68.3k | return std::addressof (arrayZ[length - 1]); | 245 | 68.3k | } |
hb_vector_t<hb_ot_map_t::lookup_map_t, false>::push() Line | Count | Source | 241 | 90 | { | 242 | 90 | if (unlikely (!resize (length + 1))) | 243 | 0 | return std::addressof (Crap (Type)); | 244 | 90 | return std::addressof (arrayZ[length - 1]); | 245 | 90 | } |
hb_vector_t<hb_ot_map_builder_t::stage_info_t, false>::push() Line | Count | Source | 241 | 6.86k | { | 242 | 6.86k | if (unlikely (!resize (length + 1))) | 243 | 0 | return std::addressof (Crap (Type)); | 244 | 6.86k | return std::addressof (arrayZ[length - 1]); | 245 | 6.86k | } |
hb_vector_t<hb_ot_map_t::feature_map_t, true>::push() Line | Count | Source | 241 | 74 | { | 242 | 74 | if (unlikely (!resize (length + 1))) | 243 | 0 | return std::addressof (Crap (Type)); | 244 | 74 | return std::addressof (arrayZ[length - 1]); | 245 | 74 | } |
hb_vector_t<hb_ot_map_t::stage_map_t, false>::push() Line | Count | Source | 241 | 6.86k | { | 242 | 6.86k | if (unlikely (!resize (length + 1))) | 243 | 0 | return std::addressof (Crap (Type)); | 244 | 6.86k | return std::addressof (arrayZ[length - 1]); | 245 | 6.86k | } |
|
246 | | template <typename... Args> Type *push (Args&&... args) |
247 | 0 | { |
248 | 0 | if (unlikely ((int) length >= allocated && !alloc (length + 1))) |
249 | | // If push failed to allocate then don't copy v, since this may cause |
250 | | // the created copy to leak memory since we won't have stored a |
251 | | // reference to it. |
252 | 0 | return std::addressof (Crap (Type)); |
253 | | |
254 | 0 | return push_has_room (std::forward<Args> (args)...); |
255 | 0 | } Unexecuted instantiation: hb_user_data_array_t::hb_user_data_item_t* hb_vector_t<hb_user_data_array_t::hb_user_data_item_t, false>::push<hb_user_data_array_t::hb_user_data_item_t&>(hb_user_data_array_t::hb_user_data_item_t&) Unexecuted instantiation: hb_serialize_context_t::object_t::link_t* hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::push<hb_subset_serialize_link_t&>(hb_subset_serialize_link_t&) Unexecuted instantiation: hb_serialize_context_t::object_t** hb_vector_t<hb_serialize_context_t::object_t*, false>::push<decltype(nullptr)>(decltype(nullptr)&&) Unexecuted instantiation: hb_serialize_context_t::object_t** hb_vector_t<hb_serialize_context_t::object_t*, false>::push<hb_serialize_context_t::object_t*&>(hb_serialize_context_t::object_t*&) Unexecuted instantiation: hb_serialize_context_t::object_t::link_t* hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::push<hb_serialize_context_t::object_t::link_t const&>(hb_serialize_context_t::object_t::link_t const&) Unexecuted instantiation: hb_transform_t<float>* hb_vector_t<hb_transform_t<float>, false>::push<hb_transform_t<float> >(hb_transform_t<float>&&) Unexecuted instantiation: hb_bounds_t<float>* hb_vector_t<hb_bounds_t<float>, false>::push<hb_bounds_t<float> >(hb_bounds_t<float>&&) Unexecuted instantiation: hb_transform_t<float>* hb_vector_t<hb_transform_t<float>, false>::push<hb_transform_t<float>&>(hb_transform_t<float>&) Unexecuted instantiation: hb_bounds_t<float>* hb_vector_t<hb_bounds_t<float>, false>::push<hb_bounds_t<float>&>(hb_bounds_t<float>&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, false>::push<unsigned int&>(unsigned int&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, false>::push<unsigned int const&>(unsigned int const&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, false>::push<unsigned int>(unsigned int&&) Unexecuted instantiation: hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t** hb_vector_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*, false>::push<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*&>(hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*&) Unexecuted instantiation: hb_pair_t<unsigned int, unsigned int>* hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>::push<hb_pair_t<unsigned int&, unsigned int&> >(hb_pair_t<unsigned int&, unsigned int&>&&) Unexecuted instantiation: hb_vector_t<int, false> const** hb_vector_t<hb_vector_t<int, false> const*, false>::push<hb_vector_t<int, false> const*&>(hb_vector_t<int, false> const*&) Unexecuted instantiation: unsigned char* hb_vector_t<unsigned char, false>::push<int>(int&&) Unexecuted instantiation: unsigned char* hb_vector_t<unsigned char, false>::push<unsigned char&>(unsigned char&) Unexecuted instantiation: hb_hashmap_t<unsigned int, Triple, false>* hb_vector_t<hb_hashmap_t<unsigned int, Triple, false>, false>::push<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>&&) Unexecuted instantiation: OT::tuple_delta_t* hb_vector_t<OT::tuple_delta_t, false>::push<OT::tuple_delta_t const&>(OT::tuple_delta_t const&) Unexecuted instantiation: OT::tuple_delta_t* hb_vector_t<OT::tuple_delta_t, false>::push<OT::tuple_delta_t>(OT::tuple_delta_t&&) Unexecuted instantiation: char* hb_vector_t<char, false>::push<char>(char&&) Unexecuted instantiation: int* hb_vector_t<int, false>::push<int&>(int&) Unexecuted instantiation: OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::tuple_variations_t* hb_vector_t<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::tuple_variations_t, false>::push<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::tuple_variations_t>(OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::tuple_variations_t&&) Unexecuted instantiation: hb_hashmap_t<unsigned int, Triple, false> const** hb_vector_t<hb_hashmap_t<unsigned int, Triple, false> const*, false>::push<hb_hashmap_t<unsigned int, Triple, false> const*&>(hb_hashmap_t<unsigned int, Triple, false> const*&) Unexecuted instantiation: hb_hashmap_t<unsigned int, Triple, false> const** hb_vector_t<hb_hashmap_t<unsigned int, Triple, false> const*, false>::push<hb_hashmap_t<unsigned int, Triple, false> const*>(hb_hashmap_t<unsigned int, Triple, false> const*&&) Unexecuted instantiation: hb_hashmap_t<unsigned int, Triple, false> const** hb_vector_t<hb_hashmap_t<unsigned int, Triple, false> const*, false>::push<hb_hashmap_t<unsigned int, Triple, false> const* const&>(hb_hashmap_t<unsigned int, Triple, false> const* const&) Unexecuted instantiation: OT::delta_row_encoding_t* hb_vector_t<OT::delta_row_encoding_t, false>::push<OT::delta_row_encoding_t>(OT::delta_row_encoding_t&&) Unexecuted instantiation: hb_pair_t<OT::item_variations_t::combined_gain_idx_tuple_t, unsigned int>* hb_vector_t<hb_pair_t<OT::item_variations_t::combined_gain_idx_tuple_t, unsigned int>, false>::push<hb_pair_t<OT::item_variations_t::combined_gain_idx_tuple_t, unsigned int> >(hb_pair_t<OT::item_variations_t::combined_gain_idx_tuple_t, unsigned int>&&) Unexecuted instantiation: hb_pair_t<unsigned int, unsigned int>* hb_vector_t<hb_pair_t<unsigned int, unsigned int>, false>::push<hb_pair_t<unsigned int, unsigned int>&>(hb_pair_t<unsigned int, unsigned int>&) Unexecuted instantiation: hb_pair_t<unsigned int, face_table_info_t>* hb_vector_t<hb_pair_t<unsigned int, face_table_info_t>, false>::push<hb_pair_t<unsigned int, face_table_info_t> >(hb_pair_t<unsigned int, face_table_info_t>&&) Unexecuted instantiation: OT::AxisValueMap* hb_vector_t<OT::AxisValueMap, false>::push<OT::AxisValueMap&>(OT::AxisValueMap&) Unexecuted instantiation: OT::DeltaSetIndexMap const** hb_vector_t<OT::DeltaSetIndexMap const*, false>::push<OT::DeltaSetIndexMap const*>(OT::DeltaSetIndexMap const*&&) Unexecuted instantiation: contour_point_t* hb_vector_t<contour_point_t, false>::push<contour_point_t&>(contour_point_t&) Unexecuted instantiation: hb_variation_t* hb_vector_t<hb_variation_t, false>::push<hb_variation_t&>(hb_variation_t&) Unexecuted instantiation: char* hb_vector_t<char, false>::push<int>(int&&) Unexecuted instantiation: CFF::parsed_cs_op_t* hb_vector_t<CFF::parsed_cs_op_t, false>::push<CFF::parsed_cs_op_t const&>(CFF::parsed_cs_op_t const&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, false>::push<OT::NumType<true, unsigned char, 1u> const&>(OT::NumType<true, unsigned char, 1u> const&) Unexecuted instantiation: CFF::cff1_top_dict_val_t* hb_vector_t<CFF::cff1_top_dict_val_t, false>::push<CFF::cff1_top_dict_val_t const&>(CFF::cff1_top_dict_val_t const&) Unexecuted instantiation: CFF::op_str_t* hb_vector_t<CFF::op_str_t, false>::push<CFF::op_str_t const&>(CFF::op_str_t const&) Unexecuted instantiation: CFF::dict_val_t* hb_vector_t<CFF::dict_val_t, false>::push<CFF::dict_val_t const&>(CFF::dict_val_t const&) Unexecuted instantiation: OT::cff1::accelerator_t::gname_t* hb_vector_t<OT::cff1::accelerator_t::gname_t, true>::push<OT::cff1::accelerator_t::gname_t&>(OT::cff1::accelerator_t::gname_t&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, true>::push<unsigned int const&>(unsigned int const&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, true>::push<unsigned int&>(unsigned int&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, true>::push<unsigned int>(unsigned int&&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, false>::push<long>(long&&) Unexecuted instantiation: hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>* hb_vector_t<hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>, false>::push<hb_pair_t<unsigned int, OT::IndexSubtableRecord const*> >(hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>&&) Unexecuted instantiation: bool* hb_vector_t<bool, false>::push<bool&>(bool&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, false>::push<OT::NumType<true, unsigned short, 2u> const&>(OT::NumType<true, unsigned short, 2u> const&) Unexecuted instantiation: OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>** hb_vector_t<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>*, false>::push<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>*&>(OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>*&) Unexecuted instantiation: hb_outline_point_t* hb_vector_t<hb_outline_point_t, false>::push<hb_outline_point_t>(hb_outline_point_t&&) Unexecuted instantiation: hb_aat_map_t::range_flags_t* hb_vector_t<hb_aat_map_t::range_flags_t, true>::push<hb_aat_map_t::range_flags_t>(hb_aat_map_t::range_flags_t&&) Unexecuted instantiation: hb_aat_map_builder_t::feature_info_t* hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::push<hb_aat_map_builder_t::feature_info_t&>(hb_aat_map_builder_t::feature_info_t&) |
256 | | template <typename... Args> Type *push_has_room (Args&&... args) |
257 | 0 | { |
258 | | /* Emplace. */ |
259 | 0 | Type *p = std::addressof (arrayZ[length++]); |
260 | 0 | return new (p) Type (std::forward<Args> (args)...); |
261 | 0 | } Unexecuted instantiation: hb_user_data_array_t::hb_user_data_item_t* hb_vector_t<hb_user_data_array_t::hb_user_data_item_t, false>::push_has_room<hb_user_data_array_t::hb_user_data_item_t&>(hb_user_data_array_t::hb_user_data_item_t&) Unexecuted instantiation: hb_serialize_context_t::object_t::link_t* hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::push_has_room<hb_subset_serialize_link_t&>(hb_subset_serialize_link_t&) Unexecuted instantiation: hb_serialize_context_t::object_t** hb_vector_t<hb_serialize_context_t::object_t*, false>::push_has_room<decltype(nullptr)>(decltype(nullptr)&&) Unexecuted instantiation: hb_serialize_context_t::object_t** hb_vector_t<hb_serialize_context_t::object_t*, false>::push_has_room<hb_serialize_context_t::object_t*&>(hb_serialize_context_t::object_t*&) Unexecuted instantiation: hb_serialize_context_t::object_t::link_t* hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::push_has_room<hb_serialize_context_t::object_t::link_t const&>(hb_serialize_context_t::object_t::link_t const&) Unexecuted instantiation: hb_transform_t<float>* hb_vector_t<hb_transform_t<float>, false>::push_has_room<hb_transform_t<float> >(hb_transform_t<float>&&) Unexecuted instantiation: hb_bounds_t<float>* hb_vector_t<hb_bounds_t<float>, false>::push_has_room<hb_bounds_t<float> >(hb_bounds_t<float>&&) Unexecuted instantiation: hb_transform_t<float>* hb_vector_t<hb_transform_t<float>, false>::push_has_room<hb_transform_t<float>&>(hb_transform_t<float>&) Unexecuted instantiation: hb_bounds_t<float>* hb_vector_t<hb_bounds_t<float>, false>::push_has_room<hb_bounds_t<float>&>(hb_bounds_t<float>&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, false>::push_has_room<unsigned int&>(unsigned int&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, false>::push_has_room<unsigned int const&>(unsigned int const&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, false>::push_has_room<unsigned int>(unsigned int&&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, true>::push_has_room<unsigned int const&>(unsigned int const&) Unexecuted instantiation: hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t** hb_vector_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*, false>::push_has_room<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*&>(hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*&) Unexecuted instantiation: hb_pair_t<unsigned int, unsigned int>* hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>::push_has_room<hb_pair_t<unsigned int&, unsigned int&> >(hb_pair_t<unsigned int&, unsigned int&>&&) Unexecuted instantiation: hb_vector_t<int, false> const** hb_vector_t<hb_vector_t<int, false> const*, false>::push_has_room<hb_vector_t<int, false> const*&>(hb_vector_t<int, false> const*&) Unexecuted instantiation: unsigned char* hb_vector_t<unsigned char, false>::push_has_room<int>(int&&) Unexecuted instantiation: unsigned char* hb_vector_t<unsigned char, false>::push_has_room<unsigned char&>(unsigned char&) Unexecuted instantiation: hb_hashmap_t<unsigned int, Triple, false>* hb_vector_t<hb_hashmap_t<unsigned int, Triple, false>, false>::push_has_room<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>&&) Unexecuted instantiation: OT::tuple_delta_t* hb_vector_t<OT::tuple_delta_t, false>::push_has_room<OT::tuple_delta_t const&>(OT::tuple_delta_t const&) Unexecuted instantiation: OT::tuple_delta_t* hb_vector_t<OT::tuple_delta_t, false>::push_has_room<OT::tuple_delta_t>(OT::tuple_delta_t&&) Unexecuted instantiation: char* hb_vector_t<char, false>::push_has_room<char>(char&&) Unexecuted instantiation: int* hb_vector_t<int, false>::push_has_room<int&>(int&) Unexecuted instantiation: OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::tuple_variations_t* hb_vector_t<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::tuple_variations_t, false>::push_has_room<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::tuple_variations_t>(OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::tuple_variations_t&&) Unexecuted instantiation: hb_hashmap_t<unsigned int, Triple, false> const** hb_vector_t<hb_hashmap_t<unsigned int, Triple, false> const*, false>::push_has_room<hb_hashmap_t<unsigned int, Triple, false> const*&>(hb_hashmap_t<unsigned int, Triple, false> const*&) Unexecuted instantiation: hb_hashmap_t<unsigned int, Triple, false> const** hb_vector_t<hb_hashmap_t<unsigned int, Triple, false> const*, false>::push_has_room<hb_hashmap_t<unsigned int, Triple, false> const*>(hb_hashmap_t<unsigned int, Triple, false> const*&&) Unexecuted instantiation: hb_hashmap_t<unsigned int, Triple, false> const** hb_vector_t<hb_hashmap_t<unsigned int, Triple, false> const*, false>::push_has_room<hb_hashmap_t<unsigned int, Triple, false> const* const&>(hb_hashmap_t<unsigned int, Triple, false> const* const&) Unexecuted instantiation: OT::delta_row_encoding_t* hb_vector_t<OT::delta_row_encoding_t, false>::push_has_room<OT::delta_row_encoding_t>(OT::delta_row_encoding_t&&) Unexecuted instantiation: hb_pair_t<OT::item_variations_t::combined_gain_idx_tuple_t, unsigned int>* hb_vector_t<hb_pair_t<OT::item_variations_t::combined_gain_idx_tuple_t, unsigned int>, false>::push_has_room<hb_pair_t<OT::item_variations_t::combined_gain_idx_tuple_t, unsigned int> >(hb_pair_t<OT::item_variations_t::combined_gain_idx_tuple_t, unsigned int>&&) Unexecuted instantiation: hb_pair_t<unsigned int, unsigned int>* hb_vector_t<hb_pair_t<unsigned int, unsigned int>, false>::push_has_room<hb_pair_t<unsigned int, unsigned int>&>(hb_pair_t<unsigned int, unsigned int>&) Unexecuted instantiation: hb_pair_t<unsigned int, unsigned int>* hb_vector_t<hb_pair_t<unsigned int, unsigned int>, false>::push_has_room<hb_pair_t<unsigned int, unsigned int> const&>(hb_pair_t<unsigned int, unsigned int> const&) Unexecuted instantiation: hb_pair_t<unsigned int, face_table_info_t>* hb_vector_t<hb_pair_t<unsigned int, face_table_info_t>, false>::push_has_room<hb_pair_t<unsigned int, face_table_info_t> >(hb_pair_t<unsigned int, face_table_info_t>&&) Unexecuted instantiation: OT::AxisValueMap* hb_vector_t<OT::AxisValueMap, false>::push_has_room<OT::AxisValueMap&>(OT::AxisValueMap&) Unexecuted instantiation: OT::DeltaSetIndexMap const** hb_vector_t<OT::DeltaSetIndexMap const*, false>::push_has_room<OT::DeltaSetIndexMap const*>(OT::DeltaSetIndexMap const*&&) Unexecuted instantiation: contour_point_t* hb_vector_t<contour_point_t, false>::push_has_room<contour_point_t&>(contour_point_t&) Unexecuted instantiation: hb_variation_t* hb_vector_t<hb_variation_t, false>::push_has_room<hb_variation_t&>(hb_variation_t&) Unexecuted instantiation: char* hb_vector_t<char, false>::push_has_room<int>(int&&) Unexecuted instantiation: CFF::parsed_cs_op_t* hb_vector_t<CFF::parsed_cs_op_t, false>::push_has_room<CFF::parsed_cs_op_t const&>(CFF::parsed_cs_op_t const&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, false>::push_has_room<OT::NumType<true, unsigned char, 1u> const&>(OT::NumType<true, unsigned char, 1u> const&) Unexecuted instantiation: hb_array_t<unsigned char const>* hb_vector_t<hb_array_t<unsigned char const>, false>::push_has_room<hb_array_t<unsigned char const> >(hb_array_t<unsigned char const>&&) Unexecuted instantiation: CFF::cff1_top_dict_val_t* hb_vector_t<CFF::cff1_top_dict_val_t, false>::push_has_room<CFF::cff1_top_dict_val_t const&>(CFF::cff1_top_dict_val_t const&) Unexecuted instantiation: CFF::op_str_t* hb_vector_t<CFF::op_str_t, false>::push_has_room<CFF::op_str_t const&>(CFF::op_str_t const&) Unexecuted instantiation: CFF::dict_val_t* hb_vector_t<CFF::dict_val_t, false>::push_has_room<CFF::dict_val_t const&>(CFF::dict_val_t const&) Unexecuted instantiation: OT::cff1::accelerator_t::gname_t* hb_vector_t<OT::cff1::accelerator_t::gname_t, true>::push_has_room<OT::cff1::accelerator_t::gname_t&>(OT::cff1::accelerator_t::gname_t&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, true>::push_has_room<unsigned int&>(unsigned int&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, true>::push_has_room<unsigned int>(unsigned int&&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, false>::push_has_room<long>(long&&) Unexecuted instantiation: hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>* hb_vector_t<hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>, false>::push_has_room<hb_pair_t<unsigned int, OT::IndexSubtableRecord const*> >(hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>&&) Unexecuted instantiation: bool* hb_vector_t<bool, false>::push_has_room<bool&>(bool&) Unexecuted instantiation: unsigned int* hb_vector_t<unsigned int, false>::push_has_room<OT::NumType<true, unsigned short, 2u> const&>(OT::NumType<true, unsigned short, 2u> const&) Unexecuted instantiation: OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>** hb_vector_t<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>*, false>::push_has_room<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>*&>(OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>*&) Unexecuted instantiation: hb_outline_point_t* hb_vector_t<hb_outline_point_t, false>::push_has_room<hb_outline_point_t>(hb_outline_point_t&&) Unexecuted instantiation: hb_aat_map_t::range_flags_t* hb_vector_t<hb_aat_map_t::range_flags_t, true>::push_has_room<hb_aat_map_t::range_flags_t>(hb_aat_map_t::range_flags_t&&) Unexecuted instantiation: hb_aat_map_builder_t::feature_info_t* hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::push_has_room<hb_aat_map_builder_t::feature_info_t&>(hb_aat_map_builder_t::feature_info_t&) |
262 | | |
263 | 102k | bool in_error () const { return allocated < 0; }Unexecuted instantiation: hb_vector_t<hb_user_data_array_t::hb_user_data_item_t, false>::in_error() const hb_vector_t<hb_bit_page_t, false>::in_error() const Line | Count | Source | 263 | 1.03k | bool in_error () const { return allocated < 0; } |
hb_vector_t<hb_bit_set_t::page_map_t, true>::in_error() const Line | Count | Source | 263 | 831 | bool in_error () const { return allocated < 0; } |
Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t*, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_transform_t<float>, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_bounds_t<float>, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_outline_point_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<unsigned int, false>::in_error() const Unexecuted instantiation: hb_vector_t<unsigned int, true>::in_error() const Unexecuted instantiation: hb_vector_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>::in_error() const Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false> const*, false>::in_error() const Unexecuted instantiation: hb_vector_t<unsigned char, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false>, false>::in_error() const Unexecuted instantiation: hb_vector_t<OT::VarData::serialize(hb_serialize_context_t*, bool, hb_vector_t<hb_vector_t<int, false> const*, false> const&)::delta_size_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<OT::VarData::serialize(hb_serialize_context_t*, OT::VarData const*, hb_inc_bimap_t const&, hb_inc_bimap_t const&)::delta_size_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_inc_bimap_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<OT::tuple_delta_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<char, false>::in_error() const Unexecuted instantiation: hb_vector_t<int, false>::in_error() const Unexecuted instantiation: hb_vector_t<bool, false>::in_error() const Unexecuted instantiation: hb_vector_t<float, false>::in_error() const Unexecuted instantiation: hb_vector_t<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::tuple_variations_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false> const*, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false>, false>::in_error() const Unexecuted instantiation: hb_vector_t<OT::delta_row_encoding_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_pair_t<OT::item_variations_t::combined_gain_idx_tuple_t, unsigned int>, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, face_table_info_t>, false>::in_error() const Unexecuted instantiation: hb_vector_t<OT::AxisValueMap, false>::in_error() const Unexecuted instantiation: hb_vector_t<OT::index_map_subset_plan_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_set_t*, false>::in_error() const Unexecuted instantiation: hb_vector_t<OT::DeltaSetIndexMap const*, false>::in_error() const Unexecuted instantiation: hb_vector_t<contour_point_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<OT::glyf_impl::SubsetGlyph, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_variation_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_set_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_op_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_vec_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<CFF::subr_remap_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<CFF::code_pair_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_array_t<unsigned char const>, false>::in_error() const Unexecuted instantiation: hb_vector_t<CFF::cff1_top_dict_val_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<CFF::op_str_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<CFF::dict_val_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::dict_val_t>, false>::in_error() const Unexecuted instantiation: hb_vector_t<CFF::cff1_font_dict_values_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<OT::cff1::accelerator_t::gname_t, true>::in_error() const Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::op_str_t>, false>::in_error() const Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::dict_val_t>, false>::in_error() const Unexecuted instantiation: hb_vector_t<CFF::cff2_font_dict_values_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::op_str_t>, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_bit_set_t, false>::in_error() const hb_vector_t<AAT::kern_subtable_accelerator_data_t, false>::in_error() const Line | Count | Source | 263 | 168 | bool in_error () const { return allocated < 0; } |
Unexecuted instantiation: hb_vector_t<hb_ot_name_entry_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<OT::IndexSubtableRecord, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>, false>::in_error() const Unexecuted instantiation: hb_vector_t<OT::LayerRecord, false>::in_error() const Unexecuted instantiation: hb_vector_t<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>*, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_vector_t<hb_aat_map_t::range_flags_t, true>, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_aat_map_t::range_flags_t, true>::in_error() const Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_range_t, true>::in_error() const Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_event_t, false>::in_error() const Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::in_error() const Unexecuted instantiation: hb_vector_t<CFF::number_t, false>::in_error() const hb_vector_t<hb_ot_map_builder_t::feature_info_t, false>::in_error() const Line | Count | Source | 263 | 77.4k | bool in_error () const { return allocated < 0; } |
hb_vector_t<hb_ot_map_t::lookup_map_t, false>::in_error() const Line | Count | Source | 263 | 122 | bool in_error () const { return allocated < 0; } |
hb_vector_t<hb_ot_map_builder_t::stage_info_t, false>::in_error() const Line | Count | Source | 263 | 11.4k | bool in_error () const { return allocated < 0; } |
hb_vector_t<hb_ot_map_t::feature_map_t, true>::in_error() const Line | Count | Source | 263 | 93 | bool in_error () const { return allocated < 0; } |
hb_vector_t<hb_ot_map_t::stage_map_t, false>::in_error() const Line | Count | Source | 263 | 11.4k | bool in_error () const { return allocated < 0; } |
|
264 | | void set_error () |
265 | 0 | { |
266 | 0 | assert (allocated >= 0); |
267 | 0 | allocated = -allocated - 1; |
268 | 0 | } Unexecuted instantiation: hb_vector_t<hb_user_data_array_t::hb_user_data_item_t, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_bit_page_t, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_bit_set_t::page_map_t, true>::set_error() Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t*, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_transform_t<float>, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_bounds_t<float>, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_outline_point_t, false>::set_error() Unexecuted instantiation: hb_vector_t<unsigned int, false>::set_error() Unexecuted instantiation: hb_vector_t<unsigned int, true>::set_error() Unexecuted instantiation: hb_vector_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>::set_error() Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false> const*, false>::set_error() Unexecuted instantiation: hb_vector_t<unsigned char, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false>, false>::set_error() Unexecuted instantiation: hb_vector_t<OT::VarData::serialize(hb_serialize_context_t*, bool, hb_vector_t<hb_vector_t<int, false> const*, false> const&)::delta_size_t, false>::set_error() Unexecuted instantiation: hb_vector_t<OT::VarData::serialize(hb_serialize_context_t*, OT::VarData const*, hb_inc_bimap_t const&, hb_inc_bimap_t const&)::delta_size_t, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_inc_bimap_t, false>::set_error() Unexecuted instantiation: hb_vector_t<OT::tuple_delta_t, false>::set_error() Unexecuted instantiation: hb_vector_t<bool, false>::set_error() Unexecuted instantiation: hb_vector_t<float, false>::set_error() Unexecuted instantiation: hb_vector_t<char, false>::set_error() Unexecuted instantiation: hb_vector_t<int, false>::set_error() Unexecuted instantiation: hb_vector_t<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::tuple_variations_t, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false> const*, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false>, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_pair_t<OT::item_variations_t::combined_gain_idx_tuple_t, unsigned int>, false>::set_error() Unexecuted instantiation: hb_vector_t<OT::delta_row_encoding_t, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, face_table_info_t>, false>::set_error() Unexecuted instantiation: hb_vector_t<OT::AxisValueMap, false>::set_error() Unexecuted instantiation: hb_vector_t<OT::index_map_subset_plan_t, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_set_t*, false>::set_error() Unexecuted instantiation: hb_vector_t<OT::DeltaSetIndexMap const*, false>::set_error() Unexecuted instantiation: hb_vector_t<contour_point_t, false>::set_error() Unexecuted instantiation: hb_vector_t<OT::glyf_impl::SubsetGlyph, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_variation_t, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_set_t, false>::set_error() Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_op_t, false>::set_error() Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_t, false>::set_error() Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_vec_t, false>::set_error() Unexecuted instantiation: hb_vector_t<CFF::subr_remap_t, false>::set_error() Unexecuted instantiation: hb_vector_t<CFF::code_pair_t, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_array_t<unsigned char const>, false>::set_error() Unexecuted instantiation: hb_vector_t<CFF::cff1_top_dict_val_t, false>::set_error() Unexecuted instantiation: hb_vector_t<CFF::op_str_t, false>::set_error() Unexecuted instantiation: hb_vector_t<CFF::dict_val_t, false>::set_error() Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::dict_val_t>, false>::set_error() Unexecuted instantiation: hb_vector_t<CFF::cff1_font_dict_values_t, false>::set_error() Unexecuted instantiation: hb_vector_t<OT::cff1::accelerator_t::gname_t, true>::set_error() Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::op_str_t>, false>::set_error() Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::dict_val_t>, false>::set_error() Unexecuted instantiation: hb_vector_t<CFF::cff2_font_dict_values_t, false>::set_error() Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::op_str_t>, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_bit_set_t, false>::set_error() Unexecuted instantiation: hb_vector_t<AAT::kern_subtable_accelerator_data_t, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_ot_name_entry_t, false>::set_error() Unexecuted instantiation: hb_vector_t<OT::IndexSubtableRecord, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>, false>::set_error() Unexecuted instantiation: hb_vector_t<OT::LayerRecord, false>::set_error() Unexecuted instantiation: hb_vector_t<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>*, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_vector_t<hb_aat_map_t::range_flags_t, true>, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_aat_map_t::range_flags_t, true>::set_error() Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_range_t, true>::set_error() Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_event_t, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::set_error() Unexecuted instantiation: hb_vector_t<CFF::number_t, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_ot_map_builder_t::feature_info_t, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_ot_map_t::lookup_map_t, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_ot_map_builder_t::stage_info_t, false>::set_error() Unexecuted instantiation: hb_vector_t<hb_ot_map_t::feature_map_t, true>::set_error() Unexecuted instantiation: hb_vector_t<hb_ot_map_t::stage_map_t, false>::set_error() |
269 | | void reset_error () |
270 | 0 | { |
271 | 0 | assert (allocated < 0); |
272 | 0 | allocated = -(allocated + 1); |
273 | 0 | } Unexecuted instantiation: hb_vector_t<hb_bit_set_t::page_map_t, true>::reset_error() Unexecuted instantiation: hb_vector_t<hb_bit_page_t, false>::reset_error() Unexecuted instantiation: hb_vector_t<unsigned int, false>::reset_error() Unexecuted instantiation: hb_vector_t<unsigned char, false>::reset_error() Unexecuted instantiation: hb_vector_t<contour_point_t, false>::reset_error() Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_t, false>::reset_error() Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_vec_t, false>::reset_error() Unexecuted instantiation: hb_vector_t<hb_set_t, false>::reset_error() Unexecuted instantiation: hb_vector_t<unsigned int, true>::reset_error() Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::reset_error() |
274 | | |
275 | | template <typename T = Type, |
276 | | hb_enable_if (hb_is_trivially_copy_assignable(T))> |
277 | | Type * |
278 | | realloc_vector (unsigned new_allocated, hb_priority<0>) |
279 | 16.4k | { |
280 | 16.4k | if (!new_allocated) |
281 | 0 | { |
282 | 0 | hb_free (arrayZ); |
283 | 0 | return nullptr; |
284 | 0 | } |
285 | 16.4k | return (Type *) hb_realloc (arrayZ, new_allocated * sizeof (Type)); |
286 | 16.4k | } Unexecuted instantiation: _ZN11hb_vector_tIN20hb_user_data_array_t19hb_user_data_item_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE _ZN11hb_vector_tI13hb_bit_page_tLb0EE14realloc_vectorIS0_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS0_j11hb_priorityILj0EE Line | Count | Source | 279 | 354 | { | 280 | 354 | if (!new_allocated) | 281 | 0 | { | 282 | 0 | hb_free (arrayZ); | 283 | 0 | return nullptr; | 284 | 0 | } | 285 | 354 | return (Type *) hb_realloc (arrayZ, new_allocated * sizeof (Type)); | 286 | 354 | } |
_ZN11hb_vector_tIN12hb_bit_set_t10page_map_tELb1EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Line | Count | Source | 279 | 147 | { | 280 | 147 | if (!new_allocated) | 281 | 0 | { | 282 | 0 | hb_free (arrayZ); | 283 | 0 | return nullptr; | 284 | 0 | } | 285 | 147 | return (Type *) hb_realloc (arrayZ, new_allocated * sizeof (Type)); | 286 | 147 | } |
Unexecuted instantiation: _ZN11hb_vector_tIN22hb_serialize_context_t8object_t6link_tELb0EE14realloc_vectorIS2_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS2_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIPN22hb_serialize_context_t8object_tELb0EE14realloc_vectorIS2_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS2_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI14hb_transform_tIfELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI11hb_bounds_tIfELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI18hb_outline_point_tLb0EE14realloc_vectorIS0_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS0_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIjLb0EE14realloc_vectorIjTnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPjj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIjLb1EE14realloc_vectorIjTnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPjj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIPN9hb_pool_tIN22hb_serialize_context_t8object_tELj32EE7chunk_tELb0EE14realloc_vectorIS5_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS5_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI9hb_pair_tIjjELb1EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIPKS_IiLb0EELb0EE14realloc_vectorIS2_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS2_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIhLb0EE14realloc_vectorIhTnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPhj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIZN2OT7VarData9serializeEP22hb_serialize_context_tbRKS_IPKS_IiLb0EELb0EEE12delta_size_tLb0EE14realloc_vectorISA_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPSA_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIZN2OT7VarData9serializeEP22hb_serialize_context_tPKS1_RK14hb_inc_bimap_tS8_E12delta_size_tLb0EE14realloc_vectorIS9_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS9_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIbLb0EE14realloc_vectorIbTnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPbj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIfLb0EE14realloc_vectorIfTnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPfj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIcLb0EE14realloc_vectorIcTnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPcj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIiLb0EE14realloc_vectorIiTnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPij11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIPK12hb_hashmap_tIj6TripleLb0EELb0EE14realloc_vectorIS4_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS4_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI9hb_pair_tIN2OT17item_variations_t25combined_gain_idx_tuple_tEjELb0EE14realloc_vectorIS4_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS4_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI9hb_pair_tIjjELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI9hb_pair_tIj17face_table_info_tELb0EE14realloc_vectorIS2_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS2_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN2OT12AxisValueMapELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIP8hb_set_tLb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIPKN2OT16DeltaSetIndexMapELb0EE14realloc_vectorIS3_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS3_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI15contour_point_tLb0EE14realloc_vectorIS0_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS0_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN2OT9glyf_impl11SubsetGlyphELb0EE14realloc_vectorIS2_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS2_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI14hb_variation_tLb0EE14realloc_vectorIS0_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS0_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF14parsed_cs_op_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF11code_pair_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF19cff1_top_dict_val_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF8op_str_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF10dict_val_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN2OT4cff113accelerator_t7gname_tELb1EE14realloc_vectorIS3_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS3_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI18hb_ot_name_entry_tLb0EE14realloc_vectorIS0_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS0_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI9hb_pair_tIjPKN2OT19IndexSubtableRecordEELb0EE14realloc_vectorIS5_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS5_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN2OT11LayerRecordELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIPN2OT8OffsetToINS0_10SBIXStrikeENS0_7NumTypeILb1EjLj4EEEvLb1EEELb0EE14realloc_vectorIS6_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS6_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN12hb_aat_map_t13range_flags_tELb1EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN20hb_aat_map_builder_t15feature_range_tELb1EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN20hb_aat_map_builder_t15feature_event_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN20hb_aat_map_builder_t14feature_info_tELb1EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF8number_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE _ZN11hb_vector_tIN19hb_ot_map_builder_t14feature_info_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Line | Count | Source | 279 | 6.82k | { | 280 | 6.82k | if (!new_allocated) | 281 | 0 | { | 282 | 0 | hb_free (arrayZ); | 283 | 0 | return nullptr; | 284 | 0 | } | 285 | 6.82k | return (Type *) hb_realloc (arrayZ, new_allocated * sizeof (Type)); | 286 | 6.82k | } |
_ZN11hb_vector_tIN11hb_ot_map_t12lookup_map_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Line | Count | Source | 279 | 32 | { | 280 | 32 | if (!new_allocated) | 281 | 0 | { | 282 | 0 | hb_free (arrayZ); | 283 | 0 | return nullptr; | 284 | 0 | } | 285 | 32 | return (Type *) hb_realloc (arrayZ, new_allocated * sizeof (Type)); | 286 | 32 | } |
_ZN11hb_vector_tIN19hb_ot_map_builder_t12stage_info_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Line | Count | Source | 279 | 4.55k | { | 280 | 4.55k | if (!new_allocated) | 281 | 0 | { | 282 | 0 | hb_free (arrayZ); | 283 | 0 | return nullptr; | 284 | 0 | } | 285 | 4.55k | return (Type *) hb_realloc (arrayZ, new_allocated * sizeof (Type)); | 286 | 4.55k | } |
_ZN11hb_vector_tIN11hb_ot_map_t13feature_map_tELb1EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Line | Count | Source | 279 | 19 | { | 280 | 19 | if (!new_allocated) | 281 | 0 | { | 282 | 0 | hb_free (arrayZ); | 283 | 0 | return nullptr; | 284 | 0 | } | 285 | 19 | return (Type *) hb_realloc (arrayZ, new_allocated * sizeof (Type)); | 286 | 19 | } |
_ZN11hb_vector_tIN11hb_ot_map_t11stage_map_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Line | Count | Source | 279 | 4.55k | { | 280 | 4.55k | if (!new_allocated) | 281 | 0 | { | 282 | 0 | hb_free (arrayZ); | 283 | 0 | return nullptr; | 284 | 0 | } | 285 | 4.55k | return (Type *) hb_realloc (arrayZ, new_allocated * sizeof (Type)); | 286 | 4.55k | } |
|
287 | | template <typename T = Type, |
288 | | hb_enable_if (!hb_is_trivially_copy_assignable(T))> |
289 | | Type * |
290 | | realloc_vector (unsigned new_allocated, hb_priority<0>) |
291 | 22 | { |
292 | 22 | if (!new_allocated) |
293 | 0 | { |
294 | 0 | hb_free (arrayZ); |
295 | 0 | return nullptr; |
296 | 0 | } |
297 | 22 | Type *new_array = (Type *) hb_malloc (new_allocated * sizeof (Type)); |
298 | 22 | if (likely (new_array)) |
299 | 22 | { |
300 | 22 | for (unsigned i = 0; i < length; i++) |
301 | 0 | { |
302 | 0 | new (std::addressof (new_array[i])) Type (); |
303 | 0 | new_array[i] = std::move (arrayZ[i]); |
304 | 0 | arrayZ[i].~Type (); |
305 | 0 | } |
306 | 22 | hb_free (arrayZ); |
307 | 22 | } |
308 | 22 | return new_array; |
309 | 22 | } Unexecuted instantiation: _ZN11hb_vector_tI14hb_inc_bimap_tLb0EE14realloc_vectorIS0_TnPN12hb_enable_ifIXntsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS0_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN2OT18TupleVariationDataINS0_7NumTypeILb1EtLj2EEEE18tuple_variations_tELb0EE14realloc_vectorIS5_TnPN12hb_enable_ifIXntsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS5_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN2OT20delta_row_encoding_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXntsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN2OT23index_map_subset_plan_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXntsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF15parsed_cs_str_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXntsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF12subr_remap_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXntsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF31cff1_private_dict_values_base_tINS0_10dict_val_tEEELb0EE14realloc_vectorIS3_TnPN12hb_enable_ifIXntsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS3_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF23cff1_font_dict_values_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXntsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF31cff1_private_dict_values_base_tINS0_8op_str_tEEELb0EE14realloc_vectorIS3_TnPN12hb_enable_ifIXntsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS3_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF31cff2_private_dict_values_base_tINS0_10dict_val_tEEELb0EE14realloc_vectorIS3_TnPN12hb_enable_ifIXntsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS3_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF23cff2_font_dict_values_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXntsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF31cff2_private_dict_values_base_tINS0_8op_str_tEEELb0EE14realloc_vectorIS3_TnPN12hb_enable_ifIXntsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS3_j11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI12hb_bit_set_tLb0EE14realloc_vectorIS0_TnPN12hb_enable_ifIXntsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS0_j11hb_priorityILj0EE _ZN11hb_vector_tIN3AAT32kern_subtable_accelerator_data_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXntsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE Line | Count | Source | 291 | 22 | { | 292 | 22 | if (!new_allocated) | 293 | 0 | { | 294 | 0 | hb_free (arrayZ); | 295 | 0 | return nullptr; | 296 | 0 | } | 297 | 22 | Type *new_array = (Type *) hb_malloc (new_allocated * sizeof (Type)); | 298 | 22 | if (likely (new_array)) | 299 | 22 | { | 300 | 22 | for (unsigned i = 0; i < length; i++) | 301 | 0 | { | 302 | 0 | new (std::addressof (new_array[i])) Type (); | 303 | 0 | new_array[i] = std::move (arrayZ[i]); | 304 | 0 | arrayZ[i].~Type (); | 305 | 0 | } | 306 | 22 | hb_free (arrayZ); | 307 | 22 | } | 308 | 22 | return new_array; | 309 | 22 | } |
Unexecuted instantiation: _ZN11hb_vector_tIN2OT19IndexSubtableRecordELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXntsr3std28is_trivially_copy_assignableIT_EE5valueEvE4typeELPv0EEEPS1_j11hb_priorityILj0EE |
310 | | /* Specialization for types that can be moved using realloc(). */ |
311 | | template <typename T = Type, |
312 | | hb_enable_if (T::realloc_move)> |
313 | | Type * |
314 | | realloc_vector (unsigned new_allocated, hb_priority<1>) |
315 | 0 | { |
316 | 0 | if (!new_allocated) |
317 | 0 | { |
318 | 0 | hb_free (arrayZ); |
319 | 0 | return nullptr; |
320 | 0 | } |
321 | 0 | return (Type *) hb_realloc (arrayZ, new_allocated * sizeof (Type)); |
322 | 0 | } Unexecuted instantiation: _ZN11hb_vector_tI12hb_hashmap_tIj6TripleLb0EELb0EE14realloc_vectorIS2_TnPN12hb_enable_ifIXsrT_12realloc_moveEvE4typeELPv0EEEPS2_j11hb_priorityILj1EE Unexecuted instantiation: _ZN11hb_vector_tIN2OT13tuple_delta_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsrT_12realloc_moveEvE4typeELPv0EEEPS1_j11hb_priorityILj1EE Unexecuted instantiation: _ZN11hb_vector_tIS_IiLb0EELb0EE14realloc_vectorIS0_TnPN12hb_enable_ifIXsrT_12realloc_moveEvE4typeELPv0EEEPS0_j11hb_priorityILj1EE Unexecuted instantiation: _ZN11hb_vector_tI8hb_set_tLb0EE14realloc_vectorIS0_TnPN12hb_enable_ifIXsrT_12realloc_moveEvE4typeELPv0EEEPS0_j11hb_priorityILj1EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF19parsed_cs_str_vec_tELb0EE14realloc_vectorIS1_TnPN12hb_enable_ifIXsrT_12realloc_moveEvE4typeELPv0EEEPS1_j11hb_priorityILj1EE Unexecuted instantiation: _ZN11hb_vector_tI10hb_array_tIKhELb0EE14realloc_vectorIS2_TnPN12hb_enable_ifIXsrT_12realloc_moveEvE4typeELPv0EEEPS2_j11hb_priorityILj1EE Unexecuted instantiation: _ZN11hb_vector_tIS_IN12hb_aat_map_t13range_flags_tELb1EELb0EE14realloc_vectorIS2_TnPN12hb_enable_ifIXsrT_12realloc_moveEvE4typeELPv0EEEPS2_j11hb_priorityILj1EE |
323 | | |
324 | | template <typename T = Type, |
325 | | hb_enable_if (hb_is_trivially_constructible(T))> |
326 | | void |
327 | | grow_vector (unsigned size, hb_priority<0>) |
328 | 82.7k | { |
329 | 82.7k | hb_memset (arrayZ + length, 0, (size - length) * sizeof (*arrayZ)); |
330 | 82.7k | length = size; |
331 | 82.7k | } _ZN11hb_vector_tIN12hb_bit_set_t10page_map_tELb1EE11grow_vectorIS1_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Line | Count | Source | 328 | 555 | { | 329 | 555 | hb_memset (arrayZ + length, 0, (size - length) * sizeof (*arrayZ)); | 330 | 555 | length = size; | 331 | 555 | } |
Unexecuted instantiation: _ZN11hb_vector_tIN22hb_serialize_context_t8object_t6link_tELb0EE11grow_vectorIS2_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIjLb0EE11grow_vectorIjTnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIZN2OT7VarData9serializeEP22hb_serialize_context_tbRKS_IPKS_IiLb0EELb0EEE12delta_size_tLb0EE11grow_vectorISA_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIZN2OT7VarData9serializeEP22hb_serialize_context_tPKS1_RK14hb_inc_bimap_tS8_E12delta_size_tLb0EE11grow_vectorIS9_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIhLb0EE11grow_vectorIhTnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIfLb0EE11grow_vectorIfTnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIbLb0EE11grow_vectorIbTnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIiLb0EE11grow_vectorIiTnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIP8hb_set_tLb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI15contour_point_tLb0EE11grow_vectorIS0_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF11code_pair_tELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIjLb1EE11grow_vectorIjTnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI18hb_ot_name_entry_tLb0EE11grow_vectorIS0_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN2OT19IndexSubtableRecordELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN2OT11LayerRecordELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN20hb_aat_map_builder_t15feature_range_tELb1EE11grow_vectorIS1_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN20hb_aat_map_builder_t15feature_event_tELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN20hb_aat_map_builder_t14feature_info_tELb1EE11grow_vectorIS1_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIcLb0EE11grow_vectorIcTnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE _ZN11hb_vector_tIN19hb_ot_map_builder_t14feature_info_tELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Line | Count | Source | 328 | 68.3k | { | 329 | 68.3k | hb_memset (arrayZ + length, 0, (size - length) * sizeof (*arrayZ)); | 330 | 68.3k | length = size; | 331 | 68.3k | } |
_ZN11hb_vector_tIN11hb_ot_map_t12lookup_map_tELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Line | Count | Source | 328 | 90 | { | 329 | 90 | hb_memset (arrayZ + length, 0, (size - length) * sizeof (*arrayZ)); | 330 | 90 | length = size; | 331 | 90 | } |
_ZN11hb_vector_tIN19hb_ot_map_builder_t12stage_info_tELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Line | Count | Source | 328 | 6.86k | { | 329 | 6.86k | hb_memset (arrayZ + length, 0, (size - length) * sizeof (*arrayZ)); | 330 | 6.86k | length = size; | 331 | 6.86k | } |
_ZN11hb_vector_tIN11hb_ot_map_t13feature_map_tELb1EE11grow_vectorIS1_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Line | Count | Source | 328 | 74 | { | 329 | 74 | hb_memset (arrayZ + length, 0, (size - length) * sizeof (*arrayZ)); | 330 | 74 | length = size; | 331 | 74 | } |
_ZN11hb_vector_tIN11hb_ot_map_t11stage_map_tELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Line | Count | Source | 328 | 6.86k | { | 329 | 6.86k | hb_memset (arrayZ + length, 0, (size - length) * sizeof (*arrayZ)); | 330 | 6.86k | length = size; | 331 | 6.86k | } |
|
332 | | template <typename T = Type, |
333 | | hb_enable_if (!hb_is_trivially_constructible(T))> |
334 | | void |
335 | | grow_vector (unsigned size, hb_priority<0>) |
336 | 628 | { |
337 | 1.25k | for (; length < size; length++) |
338 | 628 | new (std::addressof (arrayZ[length])) Type (); |
339 | 628 | } _ZN11hb_vector_tI13hb_bit_page_tLb0EE11grow_vectorIS0_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Line | Count | Source | 336 | 555 | { | 337 | 1.11k | for (; length < size; length++) | 338 | 555 | new (std::addressof (arrayZ[length])) Type (); | 339 | 555 | } |
Unexecuted instantiation: _ZN11hb_vector_tI14hb_transform_tIfELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI11hb_bounds_tIfELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI14hb_inc_bimap_tLb0EE11grow_vectorIS0_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI9hb_pair_tIN2OT17item_variations_t25combined_gain_idx_tuple_tEjELb0EE11grow_vectorIS4_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN2OT23index_map_subset_plan_tELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN2OT9glyf_impl11SubsetGlyphELb0EE11grow_vectorIS2_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI8hb_set_tLb0EE11grow_vectorIS0_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF15parsed_cs_str_tELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF19parsed_cs_str_vec_tELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF12subr_remap_tELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF31cff1_private_dict_values_base_tINS0_10dict_val_tEEELb0EE11grow_vectorIS3_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF23cff1_font_dict_values_tELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF31cff1_private_dict_values_base_tINS0_8op_str_tEEELb0EE11grow_vectorIS3_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF31cff2_private_dict_values_base_tINS0_10dict_val_tEEELb0EE11grow_vectorIS3_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF23cff2_font_dict_values_tELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF31cff2_private_dict_values_base_tINS0_8op_str_tEEELb0EE11grow_vectorIS3_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tI12hb_bit_set_tLb0EE11grow_vectorIS0_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE _ZN11hb_vector_tIN3AAT32kern_subtable_accelerator_data_tELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Line | Count | Source | 336 | 73 | { | 337 | 146 | for (; length < size; length++) | 338 | 73 | new (std::addressof (arrayZ[length])) Type (); | 339 | 73 | } |
Unexecuted instantiation: _ZN11hb_vector_tIS_IN12hb_aat_map_t13range_flags_tELb1EELb0EE11grow_vectorIS2_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE Unexecuted instantiation: _ZN11hb_vector_tIN3CFF8number_tELb0EE11grow_vectorIS1_TnPN12hb_enable_ifIXntsr3std26is_trivially_constructibleIT_EE5valueEvE4typeELPv0EEEvj11hb_priorityILj0EE |
340 | | /* Specialization for hb_vector_t<hb_{vector,array}_t<U>> to speed up. */ |
341 | | template <typename T = Type, |
342 | | hb_enable_if (hb_is_same (T, hb_vector_t<typename T::item_t>) || |
343 | | hb_is_same (T, hb_array_t <typename T::item_t>))> |
344 | | void |
345 | | grow_vector (unsigned size, hb_priority<1>) |
346 | 0 | { |
347 | 0 | hb_memset (arrayZ + length, 0, (size - length) * sizeof (*arrayZ)); |
348 | 0 | length = size; |
349 | 0 | } |
350 | | |
351 | | template <typename T = Type, |
352 | | hb_enable_if (hb_is_trivially_copyable (T))> |
353 | | void |
354 | | copy_array (hb_array_t<Type> other) |
355 | 0 | { |
356 | 0 | assert ((int) (length + other.length) <= allocated); |
357 | 0 | hb_memcpy ((void *) (arrayZ + length), (const void *) other.arrayZ, other.length * item_size); |
358 | 0 | length += other.length; |
359 | 0 | } Unexecuted instantiation: _ZN11hb_vector_tI15contour_point_tLb0EE10copy_arrayIS0_TnPN12hb_enable_ifIXsr3std21is_trivially_copyableIT_EE5valueEvE4typeELPv0EEEv10hb_array_tIS0_E Unexecuted instantiation: _ZN11hb_vector_tIiLb0EE10copy_arrayIiTnPN12hb_enable_ifIXsr3std21is_trivially_copyableIT_EE5valueEvE4typeELPv0EEEv10hb_array_tIiE |
360 | | template <typename T = Type, |
361 | | hb_enable_if (hb_is_trivially_copyable (T))> |
362 | | void |
363 | | copy_array (hb_array_t<const Type> other) |
364 | 0 | { |
365 | 0 | assert ((int) (length + other.length) <= allocated); |
366 | 0 | hb_memcpy ((void *) (arrayZ + length), (const void *) other.arrayZ, other.length * item_size); |
367 | 0 | length += other.length; |
368 | 0 | } Unexecuted instantiation: _ZN11hb_vector_tIN12hb_bit_set_t10page_map_tELb1EE10copy_arrayIS1_TnPN12hb_enable_ifIXsr3std21is_trivially_copyableIT_EE5valueEvE4typeELPv0EEEv10hb_array_tIKS1_E Unexecuted instantiation: _ZN11hb_vector_tI13hb_bit_page_tLb0EE10copy_arrayIS0_TnPN12hb_enable_ifIXsr3std21is_trivially_copyableIT_EE5valueEvE4typeELPv0EEEv10hb_array_tIKS0_E Unexecuted instantiation: _ZN11hb_vector_tIbLb0EE10copy_arrayIbTnPN12hb_enable_ifIXsr3std21is_trivially_copyableIT_EE5valueEvE4typeELPv0EEEv10hb_array_tIKbE Unexecuted instantiation: _ZN11hb_vector_tIfLb0EE10copy_arrayIfTnPN12hb_enable_ifIXsr3std21is_trivially_copyableIT_EE5valueEvE4typeELPv0EEEv10hb_array_tIKfE Unexecuted instantiation: _ZN11hb_vector_tIhLb0EE10copy_arrayIhTnPN12hb_enable_ifIXsr3std21is_trivially_copyableIT_EE5valueEvE4typeELPv0EEEv10hb_array_tIKhE Unexecuted instantiation: _ZN11hb_vector_tIcLb0EE10copy_arrayIcTnPN12hb_enable_ifIXsr3std21is_trivially_copyableIT_EE5valueEvE4typeELPv0EEEv10hb_array_tIKcE Unexecuted instantiation: _ZN11hb_vector_tI15contour_point_tLb0EE10copy_arrayIS0_TnPN12hb_enable_ifIXsr3std21is_trivially_copyableIT_EE5valueEvE4typeELPv0EEEv10hb_array_tIKS0_E Unexecuted instantiation: _ZN11hb_vector_tI9hb_pair_tIjjELb1EE10copy_arrayIS1_TnPN12hb_enable_ifIXsr3std21is_trivially_copyableIT_EE5valueEvE4typeELPv0EEEv10hb_array_tIKS1_E Unexecuted instantiation: _ZN11hb_vector_tIN3CFF14parsed_cs_op_tELb0EE10copy_arrayIS1_TnPN12hb_enable_ifIXsr3std21is_trivially_copyableIT_EE5valueEvE4typeELPv0EEEv10hb_array_tIKS1_E Unexecuted instantiation: _ZN11hb_vector_tIN2OT11LayerRecordELb0EE10copy_arrayIS1_TnPN12hb_enable_ifIXsr3std21is_trivially_copyableIT_EE5valueEvE4typeELPv0EEEv10hb_array_tIKS1_E Unexecuted instantiation: _ZN11hb_vector_tIiLb0EE10copy_arrayIiTnPN12hb_enable_ifIXsr3std21is_trivially_copyableIT_EE5valueEvE4typeELPv0EEEv10hb_array_tIKiE Unexecuted instantiation: _ZN11hb_vector_tIN20hb_aat_map_builder_t14feature_info_tELb1EE10copy_arrayIS1_TnPN12hb_enable_ifIXsr3std21is_trivially_copyableIT_EE5valueEvE4typeELPv0EEEv10hb_array_tIKS1_E |
369 | | template <typename T = Type, |
370 | | hb_enable_if (!hb_is_trivially_copyable (T) && |
371 | | std::is_copy_constructible<T>::value)> |
372 | | void |
373 | | copy_array (hb_array_t<const Type> other) |
374 | 0 | { |
375 | 0 | assert ((int) (length + other.length) <= allocated); |
376 | 0 | for (unsigned i = 0; i < other.length; i++) |
377 | 0 | new (std::addressof (arrayZ[length + i])) Type (other.arrayZ[i]); |
378 | 0 | length += other.length; |
379 | 0 | } Unexecuted instantiation: _ZN11hb_vector_tIN3CFF15parsed_cs_str_tELb0EE10copy_arrayIS1_TnPN12hb_enable_ifIXaantsr3std21is_trivially_copyableIT_EE5valuesr3std21is_copy_constructibleIS5_EE5valueEvE4typeELPv0EEEv10hb_array_tIKS1_E Unexecuted instantiation: _ZN11hb_vector_tIN3CFF19parsed_cs_str_vec_tELb0EE10copy_arrayIS1_TnPN12hb_enable_ifIXaantsr3std21is_trivially_copyableIT_EE5valuesr3std21is_copy_constructibleIS5_EE5valueEvE4typeELPv0EEEv10hb_array_tIKS1_E |
380 | | template <typename T = Type, |
381 | | hb_enable_if (!hb_is_trivially_copyable (T) && |
382 | | !std::is_copy_constructible<T>::value && |
383 | | std::is_default_constructible<T>::value && |
384 | | std::is_copy_assignable<T>::value)> |
385 | | void |
386 | | copy_array (hb_array_t<const Type> other) |
387 | | { |
388 | | assert ((int) (length + other.length) <= allocated); |
389 | | for (unsigned i = 0; i < other.length; i++) |
390 | | { |
391 | | new (std::addressof (arrayZ[length + i])) Type (); |
392 | | arrayZ[length + i] = other.arrayZ[i]; |
393 | | } |
394 | | length += other.length; |
395 | | } |
396 | | |
397 | | void |
398 | | shrink_vector (unsigned size) |
399 | 14.2k | { |
400 | 14.2k | assert (size <= length); |
401 | 14.2k | if (!std::is_trivially_destructible<Type>::value) |
402 | 22 | { |
403 | 22 | unsigned count = length - size; |
404 | 22 | Type *p = arrayZ + length - 1; |
405 | 95 | while (count--) |
406 | 73 | p--->~Type (); |
407 | 22 | } |
408 | 14.2k | length = size; |
409 | 14.2k | } Unexecuted instantiation: hb_vector_t<hb_user_data_array_t::hb_user_data_item_t, false>::shrink_vector(unsigned int) hb_vector_t<hb_ot_map_t::feature_map_t, true>::shrink_vector(unsigned int) Line | Count | Source | 399 | 18 | { | 400 | 18 | assert (size <= length); | 401 | 18 | if (!std::is_trivially_destructible<Type>::value) | 402 | 0 | { | 403 | 0 | unsigned count = length - size; | 404 | 0 | Type *p = arrayZ + length - 1; | 405 | 0 | while (count--) | 406 | 0 | p--->~Type (); | 407 | 0 | } | 408 | 18 | length = size; | 409 | 18 | } |
hb_vector_t<hb_ot_map_t::lookup_map_t, false>::shrink_vector(unsigned int) Line | Count | Source | 399 | 31 | { | 400 | 31 | assert (size <= length); | 401 | 31 | if (!std::is_trivially_destructible<Type>::value) | 402 | 0 | { | 403 | 0 | unsigned count = length - size; | 404 | 0 | Type *p = arrayZ + length - 1; | 405 | 0 | while (count--) | 406 | 0 | p--->~Type (); | 407 | 0 | } | 408 | 31 | length = size; | 409 | 31 | } |
hb_vector_t<hb_ot_map_t::stage_map_t, false>::shrink_vector(unsigned int) Line | Count | Source | 399 | 4.55k | { | 400 | 4.55k | assert (size <= length); | 401 | 4.55k | if (!std::is_trivially_destructible<Type>::value) | 402 | 0 | { | 403 | 0 | unsigned count = length - size; | 404 | 0 | Type *p = arrayZ + length - 1; | 405 | 0 | while (count--) | 406 | 0 | p--->~Type (); | 407 | 0 | } | 408 | 4.55k | length = size; | 409 | 4.55k | } |
Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_range_t, true>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_vector_t<hb_aat_map_t::range_flags_t, true>, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_aat_map_t::range_flags_t, true>::shrink_vector(unsigned int) hb_vector_t<hb_bit_set_t::page_map_t, true>::shrink_vector(unsigned int) Line | Count | Source | 399 | 275 | { | 400 | 275 | assert (size <= length); | 401 | 275 | if (!std::is_trivially_destructible<Type>::value) | 402 | 0 | { | 403 | 0 | unsigned count = length - size; | 404 | 0 | Type *p = arrayZ + length - 1; | 405 | 0 | while (count--) | 406 | 0 | p--->~Type (); | 407 | 0 | } | 408 | 275 | length = size; | 409 | 275 | } |
hb_vector_t<hb_bit_page_t, false>::shrink_vector(unsigned int) Line | Count | Source | 399 | 275 | { | 400 | 275 | assert (size <= length); | 401 | 275 | if (!std::is_trivially_destructible<Type>::value) | 402 | 0 | { | 403 | 0 | unsigned count = length - size; | 404 | 0 | Type *p = arrayZ + length - 1; | 405 | 0 | while (count--) | 406 | 0 | p--->~Type (); | 407 | 0 | } | 408 | 275 | length = size; | 409 | 275 | } |
Unexecuted instantiation: hb_vector_t<unsigned int, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t*, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_transform_t<float>, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_bounds_t<float>, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_outline_point_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<unsigned int, true>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<unsigned char, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false> const*, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<OT::VarData::serialize(hb_serialize_context_t*, bool, hb_vector_t<hb_vector_t<int, false> const*, false> const&)::delta_size_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<OT::VarData::serialize(hb_serialize_context_t*, OT::VarData const*, hb_inc_bimap_t const&, hb_inc_bimap_t const&)::delta_size_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_inc_bimap_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<char, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<OT::tuple_delta_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_pair_t<double, Triple>, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<int, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<float, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<bool, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false> const*, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false>, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<OT::delta_row_encoding_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_pair_t<OT::item_variations_t::combined_gain_idx_tuple_t, unsigned int>, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::tuple_variations_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false>, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, face_table_info_t>, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<OT::AxisValueMap, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_ot_name_entry_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<contour_point_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<OT::cff1::accelerator_t::gname_t, true>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::cff1_top_dict_val_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::cff1_font_dict_values_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::op_str_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::dict_val_t>, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::dict_val_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::cff2_font_dict_values_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::dict_val_t>, false>::shrink_vector(unsigned int) hb_vector_t<AAT::kern_subtable_accelerator_data_t, false>::shrink_vector(unsigned int) Line | Count | Source | 399 | 22 | { | 400 | 22 | assert (size <= length); | 401 | 22 | if (!std::is_trivially_destructible<Type>::value) | 402 | 22 | { | 403 | 22 | unsigned count = length - size; | 404 | 22 | Type *p = arrayZ + length - 1; | 405 | 95 | while (count--) | 406 | 73 | p--->~Type (); | 407 | 22 | } | 408 | 22 | length = size; | 409 | 22 | } |
Unexecuted instantiation: hb_vector_t<hb_bit_set_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_set_t*, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<OT::index_map_subset_plan_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<OT::DeltaSetIndexMap const*, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<OT::glyf_impl::SubsetGlyph, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_variation_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_set_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_op_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_vec_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::code_pair_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::subr_remap_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_array_t<unsigned char const>, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::op_str_t>, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::op_str_t>, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<OT::IndexSubtableRecord, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<OT::LayerRecord, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>*, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_event_t, false>::shrink_vector(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::number_t, false>::shrink_vector(unsigned int) hb_vector_t<hb_ot_map_builder_t::feature_info_t, false>::shrink_vector(unsigned int) Line | Count | Source | 399 | 4.55k | { | 400 | 4.55k | assert (size <= length); | 401 | 4.55k | if (!std::is_trivially_destructible<Type>::value) | 402 | 0 | { | 403 | 0 | unsigned count = length - size; | 404 | 0 | Type *p = arrayZ + length - 1; | 405 | 0 | while (count--) | 406 | 0 | p--->~Type (); | 407 | 0 | } | 408 | 4.55k | length = size; | 409 | 4.55k | } |
hb_vector_t<hb_ot_map_builder_t::stage_info_t, false>::shrink_vector(unsigned int) Line | Count | Source | 399 | 4.55k | { | 400 | 4.55k | assert (size <= length); | 401 | 4.55k | if (!std::is_trivially_destructible<Type>::value) | 402 | 0 | { | 403 | 0 | unsigned count = length - size; | 404 | 0 | Type *p = arrayZ + length - 1; | 405 | 0 | while (count--) | 406 | 0 | p--->~Type (); | 407 | 0 | } | 408 | 4.55k | length = size; | 409 | 4.55k | } |
|
410 | | |
411 | | void |
412 | | shift_down_vector (unsigned i) |
413 | 0 | { |
414 | 0 | for (; i < length; i++) |
415 | 0 | arrayZ[i - 1] = std::move (arrayZ[i]); |
416 | 0 | } |
417 | | |
418 | | /* Allocate for size but don't adjust length. */ |
419 | | bool alloc (unsigned int size, bool exact=false) |
420 | 85.9k | { |
421 | 85.9k | if (unlikely (in_error ())) |
422 | 0 | return false; |
423 | | |
424 | 85.9k | unsigned int new_allocated; |
425 | 85.9k | if (exact) |
426 | 2.53k | { |
427 | | /* If exact was specified, we allow shrinking the storage. */ |
428 | 2.53k | size = hb_max (size, length); |
429 | 2.53k | if (size <= (unsigned) allocated && |
430 | 2.53k | size >= (unsigned) allocated >> 2) |
431 | 2.27k | return true; |
432 | | |
433 | 259 | new_allocated = size; |
434 | 259 | } |
435 | 83.3k | else |
436 | 83.3k | { |
437 | 83.3k | if (likely (size <= (unsigned) allocated)) |
438 | 67.1k | return true; |
439 | | |
440 | 16.2k | new_allocated = allocated; |
441 | 32.4k | while (size > new_allocated) |
442 | 16.2k | new_allocated += (new_allocated >> 1) + 8; |
443 | 16.2k | } |
444 | | |
445 | | /* Reallocate */ |
446 | | |
447 | 16.5k | bool overflows = |
448 | 16.5k | (int) in_error () || |
449 | 16.5k | (new_allocated < size) || |
450 | 16.5k | hb_unsigned_mul_overflows (new_allocated, sizeof (Type)); |
451 | | |
452 | 16.5k | if (unlikely (overflows)) |
453 | 0 | { |
454 | 0 | set_error (); |
455 | 0 | return false; |
456 | 0 | } |
457 | | |
458 | 16.5k | Type *new_array = realloc_vector (new_allocated, hb_prioritize); |
459 | | |
460 | 16.5k | if (unlikely (new_allocated && !new_array)) |
461 | 0 | { |
462 | 0 | if (new_allocated <= (unsigned) allocated) |
463 | 0 | return true; // shrinking failed; it's okay; happens in our fuzzer |
464 | | |
465 | 0 | set_error (); |
466 | 0 | return false; |
467 | 0 | } |
468 | | |
469 | 16.5k | arrayZ = new_array; |
470 | 16.5k | allocated = new_allocated; |
471 | | |
472 | 16.5k | return true; |
473 | 16.5k | } Unexecuted instantiation: hb_vector_t<hb_user_data_array_t::hb_user_data_item_t, false>::alloc(unsigned int, bool) hb_vector_t<hb_bit_page_t, false>::alloc(unsigned int, bool) Line | Count | Source | 420 | 684 | { | 421 | 684 | if (unlikely (in_error ())) | 422 | 0 | return false; | 423 | | | 424 | 684 | unsigned int new_allocated; | 425 | 684 | if (exact) | 426 | 259 | { | 427 | | /* If exact was specified, we allow shrinking the storage. */ | 428 | 259 | size = hb_max (size, length); | 429 | 259 | if (size <= (unsigned) allocated && | 430 | 259 | size >= (unsigned) allocated >> 2) | 431 | 0 | return true; | 432 | | | 433 | 259 | new_allocated = size; | 434 | 259 | } | 435 | 425 | else | 436 | 425 | { | 437 | 425 | if (likely (size <= (unsigned) allocated)) | 438 | 330 | return true; | 439 | | | 440 | 95 | new_allocated = allocated; | 441 | 190 | while (size > new_allocated) | 442 | 95 | new_allocated += (new_allocated >> 1) + 8; | 443 | 95 | } | 444 | | | 445 | | /* Reallocate */ | 446 | | | 447 | 354 | bool overflows = | 448 | 354 | (int) in_error () || | 449 | 354 | (new_allocated < size) || | 450 | 354 | hb_unsigned_mul_overflows (new_allocated, sizeof (Type)); | 451 | | | 452 | 354 | if (unlikely (overflows)) | 453 | 0 | { | 454 | 0 | set_error (); | 455 | 0 | return false; | 456 | 0 | } | 457 | | | 458 | 354 | Type *new_array = realloc_vector (new_allocated, hb_prioritize); | 459 | | | 460 | 354 | if (unlikely (new_allocated && !new_array)) | 461 | 0 | { | 462 | 0 | if (new_allocated <= (unsigned) allocated) | 463 | 0 | return true; // shrinking failed; it's okay; happens in our fuzzer | 464 | | | 465 | 0 | set_error (); | 466 | 0 | return false; | 467 | 0 | } | 468 | | | 469 | 354 | arrayZ = new_array; | 470 | 354 | allocated = new_allocated; | 471 | | | 472 | 354 | return true; | 473 | 354 | } |
hb_vector_t<hb_bit_set_t::page_map_t, true>::alloc(unsigned int, bool) Line | Count | Source | 420 | 684 | { | 421 | 684 | if (unlikely (in_error ())) | 422 | 0 | return false; | 423 | | | 424 | 684 | unsigned int new_allocated; | 425 | 684 | if (exact) | 426 | 0 | { | 427 | | /* If exact was specified, we allow shrinking the storage. */ | 428 | 0 | size = hb_max (size, length); | 429 | 0 | if (size <= (unsigned) allocated && | 430 | 0 | size >= (unsigned) allocated >> 2) | 431 | 0 | return true; | 432 | | | 433 | 0 | new_allocated = size; | 434 | 0 | } | 435 | 684 | else | 436 | 684 | { | 437 | 684 | if (likely (size <= (unsigned) allocated)) | 438 | 537 | return true; | 439 | | | 440 | 147 | new_allocated = allocated; | 441 | 294 | while (size > new_allocated) | 442 | 147 | new_allocated += (new_allocated >> 1) + 8; | 443 | 147 | } | 444 | | | 445 | | /* Reallocate */ | 446 | | | 447 | 147 | bool overflows = | 448 | 147 | (int) in_error () || | 449 | 147 | (new_allocated < size) || | 450 | 147 | hb_unsigned_mul_overflows (new_allocated, sizeof (Type)); | 451 | | | 452 | 147 | if (unlikely (overflows)) | 453 | 0 | { | 454 | 0 | set_error (); | 455 | 0 | return false; | 456 | 0 | } | 457 | | | 458 | 147 | Type *new_array = realloc_vector (new_allocated, hb_prioritize); | 459 | | | 460 | 147 | if (unlikely (new_allocated && !new_array)) | 461 | 0 | { | 462 | 0 | if (new_allocated <= (unsigned) allocated) | 463 | 0 | return true; // shrinking failed; it's okay; happens in our fuzzer | 464 | | | 465 | 0 | set_error (); | 466 | 0 | return false; | 467 | 0 | } | 468 | | | 469 | 147 | arrayZ = new_array; | 470 | 147 | allocated = new_allocated; | 471 | | | 472 | 147 | return true; | 473 | 147 | } |
Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t*, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_transform_t<float>, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_bounds_t<float>, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_outline_point_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<unsigned int, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<unsigned int, true>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false> const*, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<unsigned char, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false>, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<OT::VarData::serialize(hb_serialize_context_t*, bool, hb_vector_t<hb_vector_t<int, false> const*, false> const&)::delta_size_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<OT::VarData::serialize(hb_serialize_context_t*, OT::VarData const*, hb_inc_bimap_t const&, hb_inc_bimap_t const&)::delta_size_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_inc_bimap_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<OT::tuple_delta_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<bool, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<float, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<char, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<int, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::tuple_variations_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_hashmap_t<unsigned int, Triple, false> const*, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false>, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_pair_t<OT::item_variations_t::combined_gain_idx_tuple_t, unsigned int>, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<OT::delta_row_encoding_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, face_table_info_t>, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<OT::AxisValueMap, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<OT::index_map_subset_plan_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_set_t*, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<OT::DeltaSetIndexMap const*, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<contour_point_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<OT::glyf_impl::SubsetGlyph, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_variation_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_set_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_op_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_vec_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<CFF::subr_remap_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<CFF::code_pair_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_array_t<unsigned char const>, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<CFF::cff1_top_dict_val_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<CFF::op_str_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<CFF::dict_val_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::dict_val_t>, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<CFF::cff1_font_dict_values_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<OT::cff1::accelerator_t::gname_t, true>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::op_str_t>, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::dict_val_t>, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<CFF::cff2_font_dict_values_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::op_str_t>, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_bit_set_t, false>::alloc(unsigned int, bool) hb_vector_t<AAT::kern_subtable_accelerator_data_t, false>::alloc(unsigned int, bool) Line | Count | Source | 420 | 73 | { | 421 | 73 | if (unlikely (in_error ())) | 422 | 0 | return false; | 423 | | | 424 | 73 | unsigned int new_allocated; | 425 | 73 | if (exact) | 426 | 0 | { | 427 | | /* If exact was specified, we allow shrinking the storage. */ | 428 | 0 | size = hb_max (size, length); | 429 | 0 | if (size <= (unsigned) allocated && | 430 | 0 | size >= (unsigned) allocated >> 2) | 431 | 0 | return true; | 432 | | | 433 | 0 | new_allocated = size; | 434 | 0 | } | 435 | 73 | else | 436 | 73 | { | 437 | 73 | if (likely (size <= (unsigned) allocated)) | 438 | 51 | return true; | 439 | | | 440 | 22 | new_allocated = allocated; | 441 | 44 | while (size > new_allocated) | 442 | 22 | new_allocated += (new_allocated >> 1) + 8; | 443 | 22 | } | 444 | | | 445 | | /* Reallocate */ | 446 | | | 447 | 22 | bool overflows = | 448 | 22 | (int) in_error () || | 449 | 22 | (new_allocated < size) || | 450 | 22 | hb_unsigned_mul_overflows (new_allocated, sizeof (Type)); | 451 | | | 452 | 22 | if (unlikely (overflows)) | 453 | 0 | { | 454 | 0 | set_error (); | 455 | 0 | return false; | 456 | 0 | } | 457 | | | 458 | 22 | Type *new_array = realloc_vector (new_allocated, hb_prioritize); | 459 | | | 460 | 22 | if (unlikely (new_allocated && !new_array)) | 461 | 0 | { | 462 | 0 | if (new_allocated <= (unsigned) allocated) | 463 | 0 | return true; // shrinking failed; it's okay; happens in our fuzzer | 464 | | | 465 | 0 | set_error (); | 466 | 0 | return false; | 467 | 0 | } | 468 | | | 469 | 22 | arrayZ = new_array; | 470 | 22 | allocated = new_allocated; | 471 | | | 472 | 22 | return true; | 473 | 22 | } |
Unexecuted instantiation: hb_vector_t<hb_ot_name_entry_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<OT::IndexSubtableRecord, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<OT::LayerRecord, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>*, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_vector_t<hb_aat_map_t::range_flags_t, true>, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_aat_map_t::range_flags_t, true>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_range_t, true>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_event_t, false>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::alloc(unsigned int, bool) Unexecuted instantiation: hb_vector_t<CFF::number_t, false>::alloc(unsigned int, bool) hb_vector_t<hb_ot_map_builder_t::feature_info_t, false>::alloc(unsigned int, bool) Line | Count | Source | 420 | 70.5k | { | 421 | 70.5k | if (unlikely (in_error ())) | 422 | 0 | return false; | 423 | | | 424 | 70.5k | unsigned int new_allocated; | 425 | 70.5k | if (exact) | 426 | 2.27k | { | 427 | | /* If exact was specified, we allow shrinking the storage. */ | 428 | 2.27k | size = hb_max (size, length); | 429 | 2.27k | if (size <= (unsigned) allocated && | 430 | 2.27k | size >= (unsigned) allocated >> 2) | 431 | 2.27k | return true; | 432 | | | 433 | 0 | new_allocated = size; | 434 | 0 | } | 435 | 68.3k | else | 436 | 68.3k | { | 437 | 68.3k | if (likely (size <= (unsigned) allocated)) | 438 | 61.4k | return true; | 439 | | | 440 | 6.82k | new_allocated = allocated; | 441 | 13.6k | while (size > new_allocated) | 442 | 6.82k | new_allocated += (new_allocated >> 1) + 8; | 443 | 6.82k | } | 444 | | | 445 | | /* Reallocate */ | 446 | | | 447 | 6.82k | bool overflows = | 448 | 6.82k | (int) in_error () || | 449 | 6.82k | (new_allocated < size) || | 450 | 6.82k | hb_unsigned_mul_overflows (new_allocated, sizeof (Type)); | 451 | | | 452 | 6.82k | if (unlikely (overflows)) | 453 | 0 | { | 454 | 0 | set_error (); | 455 | 0 | return false; | 456 | 0 | } | 457 | | | 458 | 6.82k | Type *new_array = realloc_vector (new_allocated, hb_prioritize); | 459 | | | 460 | 6.82k | if (unlikely (new_allocated && !new_array)) | 461 | 0 | { | 462 | 0 | if (new_allocated <= (unsigned) allocated) | 463 | 0 | return true; // shrinking failed; it's okay; happens in our fuzzer | 464 | | | 465 | 0 | set_error (); | 466 | 0 | return false; | 467 | 0 | } | 468 | | | 469 | 6.82k | arrayZ = new_array; | 470 | 6.82k | allocated = new_allocated; | 471 | | | 472 | 6.82k | return true; | 473 | 6.82k | } |
hb_vector_t<hb_ot_map_t::lookup_map_t, false>::alloc(unsigned int, bool) Line | Count | Source | 420 | 90 | { | 421 | 90 | if (unlikely (in_error ())) | 422 | 0 | return false; | 423 | | | 424 | 90 | unsigned int new_allocated; | 425 | 90 | if (exact) | 426 | 0 | { | 427 | | /* If exact was specified, we allow shrinking the storage. */ | 428 | 0 | size = hb_max (size, length); | 429 | 0 | if (size <= (unsigned) allocated && | 430 | 0 | size >= (unsigned) allocated >> 2) | 431 | 0 | return true; | 432 | | | 433 | 0 | new_allocated = size; | 434 | 0 | } | 435 | 90 | else | 436 | 90 | { | 437 | 90 | if (likely (size <= (unsigned) allocated)) | 438 | 58 | return true; | 439 | | | 440 | 32 | new_allocated = allocated; | 441 | 64 | while (size > new_allocated) | 442 | 32 | new_allocated += (new_allocated >> 1) + 8; | 443 | 32 | } | 444 | | | 445 | | /* Reallocate */ | 446 | | | 447 | 32 | bool overflows = | 448 | 32 | (int) in_error () || | 449 | 32 | (new_allocated < size) || | 450 | 32 | hb_unsigned_mul_overflows (new_allocated, sizeof (Type)); | 451 | | | 452 | 32 | if (unlikely (overflows)) | 453 | 0 | { | 454 | 0 | set_error (); | 455 | 0 | return false; | 456 | 0 | } | 457 | | | 458 | 32 | Type *new_array = realloc_vector (new_allocated, hb_prioritize); | 459 | | | 460 | 32 | if (unlikely (new_allocated && !new_array)) | 461 | 0 | { | 462 | 0 | if (new_allocated <= (unsigned) allocated) | 463 | 0 | return true; // shrinking failed; it's okay; happens in our fuzzer | 464 | | | 465 | 0 | set_error (); | 466 | 0 | return false; | 467 | 0 | } | 468 | | | 469 | 32 | arrayZ = new_array; | 470 | 32 | allocated = new_allocated; | 471 | | | 472 | 32 | return true; | 473 | 32 | } |
hb_vector_t<hb_ot_map_builder_t::stage_info_t, false>::alloc(unsigned int, bool) Line | Count | Source | 420 | 6.86k | { | 421 | 6.86k | if (unlikely (in_error ())) | 422 | 0 | return false; | 423 | | | 424 | 6.86k | unsigned int new_allocated; | 425 | 6.86k | if (exact) | 426 | 0 | { | 427 | | /* If exact was specified, we allow shrinking the storage. */ | 428 | 0 | size = hb_max (size, length); | 429 | 0 | if (size <= (unsigned) allocated && | 430 | 0 | size >= (unsigned) allocated >> 2) | 431 | 0 | return true; | 432 | | | 433 | 0 | new_allocated = size; | 434 | 0 | } | 435 | 6.86k | else | 436 | 6.86k | { | 437 | 6.86k | if (likely (size <= (unsigned) allocated)) | 438 | 2.30k | return true; | 439 | | | 440 | 4.55k | new_allocated = allocated; | 441 | 9.10k | while (size > new_allocated) | 442 | 4.55k | new_allocated += (new_allocated >> 1) + 8; | 443 | 4.55k | } | 444 | | | 445 | | /* Reallocate */ | 446 | | | 447 | 4.55k | bool overflows = | 448 | 4.55k | (int) in_error () || | 449 | 4.55k | (new_allocated < size) || | 450 | 4.55k | hb_unsigned_mul_overflows (new_allocated, sizeof (Type)); | 451 | | | 452 | 4.55k | if (unlikely (overflows)) | 453 | 0 | { | 454 | 0 | set_error (); | 455 | 0 | return false; | 456 | 0 | } | 457 | | | 458 | 4.55k | Type *new_array = realloc_vector (new_allocated, hb_prioritize); | 459 | | | 460 | 4.55k | if (unlikely (new_allocated && !new_array)) | 461 | 0 | { | 462 | 0 | if (new_allocated <= (unsigned) allocated) | 463 | 0 | return true; // shrinking failed; it's okay; happens in our fuzzer | 464 | | | 465 | 0 | set_error (); | 466 | 0 | return false; | 467 | 0 | } | 468 | | | 469 | 4.55k | arrayZ = new_array; | 470 | 4.55k | allocated = new_allocated; | 471 | | | 472 | 4.55k | return true; | 473 | 4.55k | } |
hb_vector_t<hb_ot_map_t::feature_map_t, true>::alloc(unsigned int, bool) Line | Count | Source | 420 | 74 | { | 421 | 74 | if (unlikely (in_error ())) | 422 | 0 | return false; | 423 | | | 424 | 74 | unsigned int new_allocated; | 425 | 74 | if (exact) | 426 | 0 | { | 427 | | /* If exact was specified, we allow shrinking the storage. */ | 428 | 0 | size = hb_max (size, length); | 429 | 0 | if (size <= (unsigned) allocated && | 430 | 0 | size >= (unsigned) allocated >> 2) | 431 | 0 | return true; | 432 | | | 433 | 0 | new_allocated = size; | 434 | 0 | } | 435 | 74 | else | 436 | 74 | { | 437 | 74 | if (likely (size <= (unsigned) allocated)) | 438 | 55 | return true; | 439 | | | 440 | 19 | new_allocated = allocated; | 441 | 38 | while (size > new_allocated) | 442 | 19 | new_allocated += (new_allocated >> 1) + 8; | 443 | 19 | } | 444 | | | 445 | | /* Reallocate */ | 446 | | | 447 | 19 | bool overflows = | 448 | 19 | (int) in_error () || | 449 | 19 | (new_allocated < size) || | 450 | 19 | hb_unsigned_mul_overflows (new_allocated, sizeof (Type)); | 451 | | | 452 | 19 | if (unlikely (overflows)) | 453 | 0 | { | 454 | 0 | set_error (); | 455 | 0 | return false; | 456 | 0 | } | 457 | | | 458 | 19 | Type *new_array = realloc_vector (new_allocated, hb_prioritize); | 459 | | | 460 | 19 | if (unlikely (new_allocated && !new_array)) | 461 | 0 | { | 462 | 0 | if (new_allocated <= (unsigned) allocated) | 463 | 0 | return true; // shrinking failed; it's okay; happens in our fuzzer | 464 | | | 465 | 0 | set_error (); | 466 | 0 | return false; | 467 | 0 | } | 468 | | | 469 | 19 | arrayZ = new_array; | 470 | 19 | allocated = new_allocated; | 471 | | | 472 | 19 | return true; | 473 | 19 | } |
hb_vector_t<hb_ot_map_t::stage_map_t, false>::alloc(unsigned int, bool) Line | Count | Source | 420 | 6.86k | { | 421 | 6.86k | if (unlikely (in_error ())) | 422 | 0 | return false; | 423 | | | 424 | 6.86k | unsigned int new_allocated; | 425 | 6.86k | if (exact) | 426 | 0 | { | 427 | | /* If exact was specified, we allow shrinking the storage. */ | 428 | 0 | size = hb_max (size, length); | 429 | 0 | if (size <= (unsigned) allocated && | 430 | 0 | size >= (unsigned) allocated >> 2) | 431 | 0 | return true; | 432 | | | 433 | 0 | new_allocated = size; | 434 | 0 | } | 435 | 6.86k | else | 436 | 6.86k | { | 437 | 6.86k | if (likely (size <= (unsigned) allocated)) | 438 | 2.30k | return true; | 439 | | | 440 | 4.55k | new_allocated = allocated; | 441 | 9.10k | while (size > new_allocated) | 442 | 4.55k | new_allocated += (new_allocated >> 1) + 8; | 443 | 4.55k | } | 444 | | | 445 | | /* Reallocate */ | 446 | | | 447 | 4.55k | bool overflows = | 448 | 4.55k | (int) in_error () || | 449 | 4.55k | (new_allocated < size) || | 450 | 4.55k | hb_unsigned_mul_overflows (new_allocated, sizeof (Type)); | 451 | | | 452 | 4.55k | if (unlikely (overflows)) | 453 | 0 | { | 454 | 0 | set_error (); | 455 | 0 | return false; | 456 | 0 | } | 457 | | | 458 | 4.55k | Type *new_array = realloc_vector (new_allocated, hb_prioritize); | 459 | | | 460 | 4.55k | if (unlikely (new_allocated && !new_array)) | 461 | 0 | { | 462 | 0 | if (new_allocated <= (unsigned) allocated) | 463 | 0 | return true; // shrinking failed; it's okay; happens in our fuzzer | 464 | | | 465 | 0 | set_error (); | 466 | 0 | return false; | 467 | 0 | } | 468 | | | 469 | 4.55k | arrayZ = new_array; | 470 | 4.55k | allocated = new_allocated; | 471 | | | 472 | 4.55k | return true; | 473 | 4.55k | } |
|
474 | | bool alloc_exact (unsigned int size) |
475 | 2.27k | { |
476 | 2.27k | return alloc (size, true); |
477 | 2.27k | } Unexecuted instantiation: hb_vector_t<hb_bit_set_t::page_map_t, true>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<hb_bit_page_t, false>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<hb_outline_point_t, false>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<bool, false>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<float, false>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<unsigned char, false>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<char, false>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<contour_point_t, false>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<unsigned int, false>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<OT::glyf_impl::SubsetGlyph, false>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_op_t, false>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_t, false>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_vec_t, false>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<hb_ot_name_entry_t, false>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<OT::LayerRecord, false>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_event_t, false>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::alloc_exact(unsigned int) Unexecuted instantiation: hb_vector_t<CFF::number_t, false>::alloc_exact(unsigned int) hb_vector_t<hb_ot_map_builder_t::feature_info_t, false>::alloc_exact(unsigned int) Line | Count | Source | 475 | 2.27k | { | 476 | 2.27k | return alloc (size, true); | 477 | 2.27k | } |
Unexecuted instantiation: hb_vector_t<hb_ot_map_t::lookup_map_t, false>::alloc_exact(unsigned int) |
478 | | |
479 | | void clear () |
480 | 0 | { |
481 | 0 | resize (0); |
482 | 0 | } Unexecuted instantiation: hb_vector_t<hb_transform_t<float>, false>::clear() Unexecuted instantiation: hb_vector_t<hb_bounds_t<float>, false>::clear() Unexecuted instantiation: hb_vector_t<unsigned int, false>::clear() Unexecuted instantiation: hb_vector_t<contour_point_t, false>::clear() Unexecuted instantiation: hb_vector_t<bool, false>::clear() Unexecuted instantiation: hb_vector_t<float, false>::clear() |
483 | | |
484 | | bool resize (int size_, bool initialize = true, bool exact = false) |
485 | 83.6k | { |
486 | 83.6k | unsigned int size = size_ < 0 ? 0u : (unsigned int) size_; |
487 | 83.6k | if (!alloc (size, exact)) |
488 | 0 | return false; |
489 | | |
490 | 83.6k | if (size > length) |
491 | 83.3k | { |
492 | 83.3k | if (initialize) |
493 | 83.3k | grow_vector (size, hb_prioritize); |
494 | 83.3k | } |
495 | 258 | else if (size < length) |
496 | 256 | { |
497 | 256 | if (initialize) |
498 | 256 | shrink_vector (size); |
499 | 256 | } |
500 | | |
501 | 83.6k | length = size; |
502 | 83.6k | return true; |
503 | 83.6k | } hb_vector_t<hb_bit_page_t, false>::resize(int, bool, bool) Line | Count | Source | 485 | 684 | { | 486 | 684 | unsigned int size = size_ < 0 ? 0u : (unsigned int) size_; | 487 | 684 | if (!alloc (size, exact)) | 488 | 0 | return false; | 489 | | | 490 | 684 | if (size > length) | 491 | 555 | { | 492 | 555 | if (initialize) | 493 | 555 | grow_vector (size, hb_prioritize); | 494 | 555 | } | 495 | 129 | else if (size < length) | 496 | 128 | { | 497 | 128 | if (initialize) | 498 | 128 | shrink_vector (size); | 499 | 128 | } | 500 | | | 501 | 684 | length = size; | 502 | 684 | return true; | 503 | 684 | } |
hb_vector_t<hb_bit_set_t::page_map_t, true>::resize(int, bool, bool) Line | Count | Source | 485 | 684 | { | 486 | 684 | unsigned int size = size_ < 0 ? 0u : (unsigned int) size_; | 487 | 684 | if (!alloc (size, exact)) | 488 | 0 | return false; | 489 | | | 490 | 684 | if (size > length) | 491 | 555 | { | 492 | 555 | if (initialize) | 493 | 555 | grow_vector (size, hb_prioritize); | 494 | 555 | } | 495 | 129 | else if (size < length) | 496 | 128 | { | 497 | 128 | if (initialize) | 498 | 128 | shrink_vector (size); | 499 | 128 | } | 500 | | | 501 | 684 | length = size; | 502 | 684 | return true; | 503 | 684 | } |
Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<hb_transform_t<float>, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<hb_bounds_t<float>, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<unsigned int, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<OT::VarData::serialize(hb_serialize_context_t*, bool, hb_vector_t<hb_vector_t<int, false> const*, false> const&)::delta_size_t, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<OT::VarData::serialize(hb_serialize_context_t*, OT::VarData const*, hb_inc_bimap_t const&, hb_inc_bimap_t const&)::delta_size_t, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<hb_inc_bimap_t, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<unsigned char, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<float, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<bool, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false>, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<int, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<hb_pair_t<OT::item_variations_t::combined_gain_idx_tuple_t, unsigned int>, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<OT::index_map_subset_plan_t, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<hb_set_t*, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<contour_point_t, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<OT::glyf_impl::SubsetGlyph, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<hb_set_t, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_t, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_str_vec_t, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<CFF::subr_remap_t, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<CFF::code_pair_t, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::dict_val_t>, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<CFF::cff1_font_dict_values_t, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<CFF::cff1_private_dict_values_base_t<CFF::op_str_t>, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::dict_val_t>, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<CFF::cff2_font_dict_values_t, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<CFF::cff2_private_dict_values_base_t<CFF::op_str_t>, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<hb_bit_set_t, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<unsigned int, true>::resize(int, bool, bool) hb_vector_t<AAT::kern_subtable_accelerator_data_t, false>::resize(int, bool, bool) Line | Count | Source | 485 | 73 | { | 486 | 73 | unsigned int size = size_ < 0 ? 0u : (unsigned int) size_; | 487 | 73 | if (!alloc (size, exact)) | 488 | 0 | return false; | 489 | | | 490 | 73 | if (size > length) | 491 | 73 | { | 492 | 73 | if (initialize) | 493 | 73 | grow_vector (size, hb_prioritize); | 494 | 73 | } | 495 | 0 | else if (size < length) | 496 | 0 | { | 497 | 0 | if (initialize) | 498 | 0 | shrink_vector (size); | 499 | 0 | } | 500 | | | 501 | 73 | length = size; | 502 | 73 | return true; | 503 | 73 | } |
Unexecuted instantiation: hb_vector_t<hb_ot_name_entry_t, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<OT::IndexSubtableRecord, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<OT::LayerRecord, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<hb_vector_t<hb_aat_map_t::range_flags_t, true>, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_range_t, true>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_event_t, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<char, false>::resize(int, bool, bool) Unexecuted instantiation: hb_vector_t<CFF::number_t, false>::resize(int, bool, bool) hb_vector_t<hb_ot_map_builder_t::feature_info_t, false>::resize(int, bool, bool) Line | Count | Source | 485 | 68.3k | { | 486 | 68.3k | unsigned int size = size_ < 0 ? 0u : (unsigned int) size_; | 487 | 68.3k | if (!alloc (size, exact)) | 488 | 0 | return false; | 489 | | | 490 | 68.3k | if (size > length) | 491 | 68.3k | { | 492 | 68.3k | if (initialize) | 493 | 68.3k | grow_vector (size, hb_prioritize); | 494 | 68.3k | } | 495 | 0 | else if (size < length) | 496 | 0 | { | 497 | 0 | if (initialize) | 498 | 0 | shrink_vector (size); | 499 | 0 | } | 500 | | | 501 | 68.3k | length = size; | 502 | 68.3k | return true; | 503 | 68.3k | } |
hb_vector_t<hb_ot_map_t::lookup_map_t, false>::resize(int, bool, bool) Line | Count | Source | 485 | 90 | { | 486 | 90 | unsigned int size = size_ < 0 ? 0u : (unsigned int) size_; | 487 | 90 | if (!alloc (size, exact)) | 488 | 0 | return false; | 489 | | | 490 | 90 | if (size > length) | 491 | 90 | { | 492 | 90 | if (initialize) | 493 | 90 | grow_vector (size, hb_prioritize); | 494 | 90 | } | 495 | 0 | else if (size < length) | 496 | 0 | { | 497 | 0 | if (initialize) | 498 | 0 | shrink_vector (size); | 499 | 0 | } | 500 | | | 501 | 90 | length = size; | 502 | 90 | return true; | 503 | 90 | } |
hb_vector_t<hb_ot_map_builder_t::stage_info_t, false>::resize(int, bool, bool) Line | Count | Source | 485 | 6.86k | { | 486 | 6.86k | unsigned int size = size_ < 0 ? 0u : (unsigned int) size_; | 487 | 6.86k | if (!alloc (size, exact)) | 488 | 0 | return false; | 489 | | | 490 | 6.86k | if (size > length) | 491 | 6.86k | { | 492 | 6.86k | if (initialize) | 493 | 6.86k | grow_vector (size, hb_prioritize); | 494 | 6.86k | } | 495 | 0 | else if (size < length) | 496 | 0 | { | 497 | 0 | if (initialize) | 498 | 0 | shrink_vector (size); | 499 | 0 | } | 500 | | | 501 | 6.86k | length = size; | 502 | 6.86k | return true; | 503 | 6.86k | } |
hb_vector_t<hb_ot_map_t::feature_map_t, true>::resize(int, bool, bool) Line | Count | Source | 485 | 74 | { | 486 | 74 | unsigned int size = size_ < 0 ? 0u : (unsigned int) size_; | 487 | 74 | if (!alloc (size, exact)) | 488 | 0 | return false; | 489 | | | 490 | 74 | if (size > length) | 491 | 74 | { | 492 | 74 | if (initialize) | 493 | 74 | grow_vector (size, hb_prioritize); | 494 | 74 | } | 495 | 0 | else if (size < length) | 496 | 0 | { | 497 | 0 | if (initialize) | 498 | 0 | shrink_vector (size); | 499 | 0 | } | 500 | | | 501 | 74 | length = size; | 502 | 74 | return true; | 503 | 74 | } |
hb_vector_t<hb_ot_map_t::stage_map_t, false>::resize(int, bool, bool) Line | Count | Source | 485 | 6.86k | { | 486 | 6.86k | unsigned int size = size_ < 0 ? 0u : (unsigned int) size_; | 487 | 6.86k | if (!alloc (size, exact)) | 488 | 0 | return false; | 489 | | | 490 | 6.86k | if (size > length) | 491 | 6.86k | { | 492 | 6.86k | if (initialize) | 493 | 6.86k | grow_vector (size, hb_prioritize); | 494 | 6.86k | } | 495 | 0 | else if (size < length) | 496 | 0 | { | 497 | 0 | if (initialize) | 498 | 0 | shrink_vector (size); | 499 | 0 | } | 500 | | | 501 | 6.86k | length = size; | 502 | 6.86k | return true; | 503 | 6.86k | } |
|
504 | | bool resize_exact (int size_, bool initialize = true) |
505 | 0 | { |
506 | 0 | return resize (size_, initialize, true); |
507 | 0 | } Unexecuted instantiation: hb_vector_t<unsigned int, false>::resize_exact(int, bool) Unexecuted instantiation: hb_vector_t<hb_set_t, false>::resize_exact(int, bool) Unexecuted instantiation: hb_vector_t<float, false>::resize_exact(int, bool) Unexecuted instantiation: hb_vector_t<CFF::number_t, false>::resize_exact(int, bool) |
508 | | |
509 | | Type pop () |
510 | 0 | { |
511 | 0 | if (!length) return Null (Type); |
512 | 0 | Type v (std::move (arrayZ[length - 1])); |
513 | 0 | arrayZ[length - 1].~Type (); |
514 | 0 | length--; |
515 | 0 | return v; |
516 | 0 | } Unexecuted instantiation: hb_vector_t<hb_user_data_array_t::hb_user_data_item_t, false>::pop() Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t*, false>::pop() Unexecuted instantiation: hb_vector_t<hb_transform_t<float>, false>::pop() Unexecuted instantiation: hb_vector_t<hb_bounds_t<float>, false>::pop() Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_op_t, false>::pop() Unexecuted instantiation: hb_vector_t<hb_set_t, false>::pop() Unexecuted instantiation: hb_vector_t<bool, false>::pop() |
517 | | |
518 | | void remove_ordered (unsigned int i) |
519 | 0 | { |
520 | 0 | if (unlikely (i >= length)) |
521 | 0 | return; |
522 | 0 | shift_down_vector (i + 1); |
523 | 0 | arrayZ[length - 1].~Type (); |
524 | 0 | length--; |
525 | 0 | } |
526 | | |
527 | | template <bool Sorted = sorted, |
528 | | hb_enable_if (!Sorted)> |
529 | | void remove_unordered (unsigned int i) |
530 | | { |
531 | | if (unlikely (i >= length)) |
532 | | return; |
533 | | if (i != length - 1) |
534 | | arrayZ[i] = std::move (arrayZ[length - 1]); |
535 | | arrayZ[length - 1].~Type (); |
536 | | length--; |
537 | | } |
538 | | |
539 | | void shrink (int size_, bool shrink_memory = true) |
540 | 2.30k | { |
541 | 2.30k | unsigned int size = size_ < 0 ? 0u : (unsigned int) size_; |
542 | 2.30k | if (size >= length) |
543 | 30 | return; |
544 | | |
545 | 2.27k | shrink_vector (size); |
546 | | |
547 | 2.27k | if (shrink_memory) |
548 | 2.27k | alloc_exact (size); /* To force shrinking memory if needed. */ |
549 | 2.27k | } Unexecuted instantiation: hb_vector_t<hb_serialize_context_t::object_t::link_t, false>::shrink(int, bool) Unexecuted instantiation: hb_vector_t<hb_outline_point_t, false>::shrink(int, bool) Unexecuted instantiation: hb_vector_t<CFF::parsed_cs_op_t, false>::shrink(int, bool) Unexecuted instantiation: hb_vector_t<char, false>::shrink(int, bool) Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::shrink(int, bool) Unexecuted instantiation: hb_vector_t<CFF::number_t, false>::shrink(int, bool) hb_vector_t<hb_ot_map_builder_t::feature_info_t, false>::shrink(int, bool) Line | Count | Source | 540 | 2.27k | { | 541 | 2.27k | unsigned int size = size_ < 0 ? 0u : (unsigned int) size_; | 542 | 2.27k | if (size >= length) | 543 | 0 | return; | 544 | | | 545 | 2.27k | shrink_vector (size); | 546 | | | 547 | 2.27k | if (shrink_memory) | 548 | 2.27k | alloc_exact (size); /* To force shrinking memory if needed. */ | 549 | 2.27k | } |
hb_vector_t<hb_ot_map_t::lookup_map_t, false>::shrink(int, bool) Line | Count | Source | 540 | 30 | { | 541 | 30 | unsigned int size = size_ < 0 ? 0u : (unsigned int) size_; | 542 | 30 | if (size >= length) | 543 | 30 | return; | 544 | | | 545 | 0 | shrink_vector (size); | 546 | |
| 547 | 0 | if (shrink_memory) | 548 | 0 | alloc_exact (size); /* To force shrinking memory if needed. */ | 549 | 0 | } |
|
550 | | |
551 | | |
552 | | /* Sorting API. */ |
553 | | void qsort (int (*cmp)(const void*, const void*) = Type::cmp) |
554 | 2.27k | { as_array ().qsort (cmp); }Unexecuted instantiation: hb_vector_t<unsigned int, false>::qsort(int (*)(void const*, void const*)) Unexecuted instantiation: hb_vector_t<OT::delta_row_encoding_t, false>::qsort(int (*)(void const*, void const*)) Unexecuted instantiation: hb_vector_t<hb_vector_t<int, false> const*, false>::qsort(int (*)(void const*, void const*)) Unexecuted instantiation: hb_vector_t<hb_pair_t<unsigned int, face_table_info_t>, false>::qsort(int (*)(void const*, void const*)) Unexecuted instantiation: hb_vector_t<OT::AxisValueMap, false>::qsort(int (*)(void const*, void const*)) Unexecuted instantiation: hb_vector_t<OT::cff1::accelerator_t::gname_t, true>::qsort(int (*)(void const*, void const*)) Unexecuted instantiation: hb_vector_t<hb_ot_name_entry_t, false>::qsort(int (*)(void const*, void const*)) Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_event_t, false>::qsort(int (*)(void const*, void const*)) Unexecuted instantiation: hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::qsort(int (*)(void const*, void const*)) hb_vector_t<hb_ot_map_builder_t::feature_info_t, false>::qsort(int (*)(void const*, void const*)) Line | Count | Source | 554 | 2.27k | { as_array ().qsort (cmp); } |
Unexecuted instantiation: hb_vector_t<hb_ot_map_t::feature_map_t, true>::qsort(int (*)(void const*, void const*)) |
555 | | |
556 | | /* Unsorted search API. */ |
557 | | template <typename T> |
558 | | Type *lsearch (const T &x, Type *not_found = nullptr) |
559 | 0 | { return as_array ().lsearch (x, not_found); }Unexecuted instantiation: hb_user_data_array_t::hb_user_data_item_t* hb_vector_t<hb_user_data_array_t::hb_user_data_item_t, false>::lsearch<hb_user_data_key_t*>(hb_user_data_key_t* const&, hb_user_data_array_t::hb_user_data_item_t*) Unexecuted instantiation: hb_user_data_array_t::hb_user_data_item_t* hb_vector_t<hb_user_data_array_t::hb_user_data_item_t, false>::lsearch<hb_user_data_array_t::hb_user_data_item_t>(hb_user_data_array_t::hb_user_data_item_t const&, hb_user_data_array_t::hb_user_data_item_t*) Unexecuted instantiation: hb_aat_map_builder_t::feature_info_t* hb_vector_t<hb_aat_map_builder_t::feature_info_t, true>::lsearch<hb_aat_map_builder_t::feature_info_t>(hb_aat_map_builder_t::feature_info_t const&, hb_aat_map_builder_t::feature_info_t*) |
560 | | template <typename T> |
561 | | const Type *lsearch (const T &x, const Type *not_found = nullptr) const |
562 | | { return as_array ().lsearch (x, not_found); } |
563 | | template <typename T> |
564 | | bool lfind (const T &x, unsigned *pos = nullptr) const |
565 | | { return as_array ().lfind (x, pos); } |
566 | | |
567 | | /* Sorted search API. */ |
568 | | template <typename T, |
569 | | bool Sorted=sorted, hb_enable_if (Sorted)> |
570 | | Type *bsearch (const T &x, Type *not_found = nullptr) |
571 | 0 | { return as_array ().bsearch (x, not_found); } |
572 | | template <typename T, |
573 | | bool Sorted=sorted, hb_enable_if (Sorted)> |
574 | | const Type *bsearch (const T &x, const Type *not_found = nullptr) const |
575 | 18.2k | { return as_array ().bsearch (x, not_found); }_ZNK11hb_vector_tIN11hb_ot_map_t13feature_map_tELb1EE7bsearchIjLb1ETnPN12hb_enable_ifIXT0_EvE4typeELPv0EEEPKS1_RKT_SA_ Line | Count | Source | 575 | 18.2k | { return as_array ().bsearch (x, not_found); } |
Unexecuted instantiation: _ZNK11hb_vector_tIN20hb_aat_map_builder_t14feature_info_tELb1EE7bsearchIS1_Lb1ETnPN12hb_enable_ifIXT0_EvE4typeELPv0EEEPKS1_RKT_SA_ |
576 | | template <typename T, |
577 | | bool Sorted=sorted, hb_enable_if (Sorted)> |
578 | | bool bfind (const T &x, unsigned int *i = nullptr, |
579 | | hb_not_found_t not_found = HB_NOT_FOUND_DONT_STORE, |
580 | | unsigned int to_store = (unsigned int) -1) const |
581 | 20.7k | { return as_array ().bfind (x, i, not_found, to_store); }Unexecuted instantiation: _ZNK11hb_vector_tIN12hb_bit_set_t10page_map_tELb1EE5bfindIjLb1ETnPN12hb_enable_ifIXT0_EvE4typeELPv0EEEbRKT_Pj14hb_not_found_tj _ZNK11hb_vector_tIN12hb_bit_set_t10page_map_tELb1EE5bfindIS1_Lb1ETnPN12hb_enable_ifIXT0_EvE4typeELPv0EEEbRKT_Pj14hb_not_found_tj Line | Count | Source | 581 | 20.7k | { return as_array ().bfind (x, i, not_found, to_store); } |
|
582 | | }; |
583 | | |
584 | | template <typename Type> |
585 | | using hb_sorted_vector_t = hb_vector_t<Type, true>; |
586 | | |
587 | | #endif /* HB_VECTOR_HH */ |