/work/workdir/UnpackedTarball/harfbuzz/src/hb-array.hh
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright © 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_ARRAY_HH |
28 | | #define HB_ARRAY_HH |
29 | | |
30 | | #include "hb.hh" |
31 | | #include "hb-algs.hh" |
32 | | #include "hb-iter.hh" |
33 | | #include "hb-null.hh" |
34 | | |
35 | | |
36 | | template <typename Type> |
37 | | struct hb_sorted_array_t; |
38 | | |
39 | | enum hb_not_found_t |
40 | | { |
41 | | HB_NOT_FOUND_DONT_STORE, |
42 | | HB_NOT_FOUND_STORE, |
43 | | HB_NOT_FOUND_STORE_CLOSEST, |
44 | | }; |
45 | | |
46 | | |
47 | | template <typename Type> |
48 | | struct hb_array_t : hb_iter_with_fallback_t<hb_array_t<Type>, Type&> |
49 | | { |
50 | | static constexpr bool realloc_move = true; |
51 | | |
52 | | /* |
53 | | * Constructors. |
54 | | */ |
55 | 0 | hb_array_t () = default; Unexecuted instantiation: hb_array_t<char const>::hb_array_t() Unexecuted instantiation: hb_array_t<unsigned char const>::hb_array_t() Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 4u> const>::hb_array_t() |
56 | | hb_array_t (const hb_array_t&) = default; |
57 | | ~hb_array_t () = default; |
58 | | hb_array_t& operator= (const hb_array_t&) = default; |
59 | | hb_array_t& operator= (hb_array_t&&) = default; |
60 | | |
61 | 1.60G | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} Unexecuted instantiation: hb_array_t<OT::HBFixed<OT::IntType<int, 4u>, 16u> const>::hb_array_t(OT::HBFixed<OT::IntType<int, 4u>, 16u> const*, unsigned int) Unexecuted instantiation: hb_array_t<AAT::FeatureName const>::hb_array_t(AAT::FeatureName const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_aat_layout_feature_type_t>::hb_array_t(hb_aat_layout_feature_type_t*, unsigned int) Unexecuted instantiation: hb_array_t<AAT::SettingName const>::hb_array_t(AAT::SettingName const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_aat_layout_feature_selector_info_t>::hb_array_t(hb_aat_layout_feature_selector_info_t*, unsigned int) hb_array_t<char const>::hb_array_t(char const*, unsigned int) Line | Count | Source | 61 | 1.05G | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::HBGlyphID16 const>::hb_array_t(OT::HBGlyphID16 const*, unsigned int) Line | Count | Source | 61 | 136M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<hb_aat_feature_mapping_t const>::hb_array_t(hb_aat_feature_mapping_t const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, void, true> const>::hb_array_t(OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<AAT::Feature const>::hb_array_t(AAT::Feature const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_aat_map_builder_t::feature_info_t>::hb_array_t(hb_aat_map_builder_t::feature_info_t*, unsigned int) hb_array_t<hb_bit_set_t::page_map_t>::hb_array_t(hb_bit_set_t::page_map_t*, unsigned int) Line | Count | Source | 61 | 5.49M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<hb_aat_map_t::range_flags_t>::hb_array_t(hb_aat_map_t::range_flags_t*, unsigned int) hb_array_t<hb_glyph_info_t>::hb_array_t(hb_glyph_info_t*, unsigned int) Line | Count | Source | 61 | 109M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<hb_glyph_position_t>::hb_array_t(hb_glyph_position_t*, unsigned int) Line | Count | Source | 61 | 1.29M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const>::hb_array_t(OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const*, unsigned int) Line | Count | Source | 61 | 2.88M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<AAT::KernPair const>::hb_array_t(AAT::KernPair const*, unsigned int) Line | Count | Source | 61 | 218k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<hb_aat_map_builder_t::feature_event_t>::hb_array_t(hb_aat_map_builder_t::feature_event_t*, unsigned int) Unexecuted instantiation: hb_array_t<hb_user_data_array_t::hb_user_data_item_t>::hb_array_t(hb_user_data_array_t::hb_user_data_item_t*, unsigned int) Unexecuted instantiation: hb_array_t<OT::ResourceRecord const>::hb_array_t(OT::ResourceRecord const*, unsigned int) hb_array_t<OT::TableRecord const>::hb_array_t(OT::TableRecord const*, unsigned int) Line | Count | Source | 61 | 55.6M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<unsigned int>::hb_array_t(unsigned int*, unsigned int) Line | Count | Source | 61 | 42.8k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::VariationSelectorRecord const>::hb_array_t(OT::VariationSelectorRecord const*, unsigned int) Line | Count | Source | 61 | 25.4k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::UVSMapping const>::hb_array_t(OT::UVSMapping const*, unsigned int) Line | Count | Source | 61 | 25.4k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::EncodingRecord const>::hb_array_t(OT::EncodingRecord const*, unsigned int) Line | Count | Source | 61 | 360 | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<OT::CmapSubtableLongGroup const>::hb_array_t(OT::CmapSubtableLongGroup const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_serialize_context_t::object_t*>::hb_array_t(hb_serialize_context_t::object_t**, unsigned int) Unexecuted instantiation: hb_array_t<hb_serialize_context_t::object_t* const>::hb_array_t(hb_serialize_context_t::object_t* const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, face_table_info_t, false>::item_t>::hb_array_t(hb_hashmap_t<unsigned int, face_table_info_t, false>::item_t*, unsigned int) Unexecuted instantiation: hb_array_t<hb_pair_t<unsigned int, face_table_info_t> >::hb_array_t(hb_pair_t<unsigned int, face_table_info_t>*, unsigned int) Unexecuted instantiation: hb_array_t<OT::TableRecord>::hb_array_t(OT::TableRecord*, unsigned int) Unexecuted instantiation: hb_array_t<hb_pair_t<unsigned int, face_table_info_t> const>::hb_array_t(hb_pair_t<unsigned int, face_table_info_t> const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*>::hb_array_t(hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t**, unsigned int) Unexecuted instantiation: hb_array_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t* const>::hb_array_t(hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t* const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::AxisRecord const>::hb_array_t(OT::AxisRecord const*, unsigned int) hb_array_t<OT::Index const>::hb_array_t(OT::Index const*, unsigned int) Line | Count | Source | 61 | 85.7k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 4u> const>::hb_array_t(OT::IntType<unsigned int, 4u> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::BaseGlyphPaintRecord const>::hb_array_t(OT::BaseGlyphPaintRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::BaseGlyphRecord const>::hb_array_t(OT::BaseGlyphRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::LayerRecord const>::hb_array_t(OT::LayerRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_ot_color_layer_t>::hb_array_t(hb_ot_color_layer_t*, unsigned int) Unexecuted instantiation: hb_array_t<OT::SVGDocumentIndexEntry const>::hb_array_t(OT::SVGDocumentIndexEntry const*, unsigned int) hb_array_t<OT::UnicodeValueRange const>::hb_array_t(OT::UnicodeValueRange const*, unsigned int) Line | Count | Source | 61 | 25.4k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<OT::VertOriginMetric const>::hb_array_t(OT::VertOriginMetric const*, unsigned int) hb_array_t<OT::HBFixed<OT::IntType<short, 2u>, 14u> const>::hb_array_t(OT::HBFixed<OT::IntType<short, 2u>, 14u> const*, unsigned int) Line | Count | Source | 61 | 60 | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<contour_point_t>::hb_array_t(contour_point_t*, unsigned int) Unexecuted instantiation: hb_array_t<contour_point_t const>::hb_array_t(contour_point_t const*, unsigned int) hb_array_t<int>::hb_array_t(int*, unsigned int) Line | Count | Source | 61 | 6.71M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<int const>::hb_array_t(int const*, unsigned int) Line | Count | Source | 61 | 72.6M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<unsigned char const>::hb_array_t(unsigned char const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::ClipRecord const>::hb_array_t(OT::ClipRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::cff1::accelerator_t::gname_t>::hb_array_t(OT::cff1::accelerator_t::gname_t*, unsigned int) Unexecuted instantiation: hb_array_t<hb_outline_point_t>::hb_array_t(hb_outline_point_t*, unsigned int) Unexecuted instantiation: hb_array_t<hb_outline_point_t const>::hb_array_t(hb_outline_point_t const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::IntType<short, 2u> const>::hb_array_t(OT::IntType<short, 2u> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::IntType<unsigned char, 1u> const>::hb_array_t(OT::IntType<unsigned char, 1u> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> const>::hb_array_t(OT::IntType<unsigned short, 2u> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, void, true> const>::hb_array_t(OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) hb_array_t<OT::Record<OT::Script> const>::hb_array_t(OT::Record<OT::Script> const*, unsigned int) Line | Count | Source | 61 | 35.6k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<OT::Record<OT::Feature> const>::hb_array_t(OT::Record<OT::Feature> const*, unsigned int) hb_array_t<OT::Record<OT::LangSys> const>::hb_array_t(OT::Record<OT::LangSys> const*, unsigned int) Line | Count | Source | 61 | 35.5k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<OT::FeatureTableSubstitutionRecord const>::hb_array_t(OT::FeatureTableSubstitutionRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::hb_array_t(OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::hb_array_t(OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::hb_array_t(OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::hb_array_t(OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::hb_array_t(OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::hb_array_t(OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::hb_array_t(OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::hb_array_t(OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>::item_t>::hb_array_t(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>::item_t*, unsigned int) Unexecuted instantiation: hb_array_t<hb_bit_page_t>::hb_array_t(hb_bit_page_t*, unsigned int) Unexecuted instantiation: hb_array_t<hb_bit_page_t const>::hb_array_t(hb_bit_page_t const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_set_t, false>::item_t>::hb_array_t(hb_hashmap_t<unsigned int, hb_set_t, false>::item_t*, unsigned int) Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 3u> const>::hb_array_t(OT::IntType<unsigned int, 3u> const*, unsigned int) hb_array_t<OT::BaseScriptRecord const>::hb_array_t(OT::BaseScriptRecord const*, unsigned int) Line | Count | Source | 61 | 469k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<OT::BaseLangSysRecord const>::hb_array_t(OT::BaseLangSysRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::FeatMinMaxRecord const>::hb_array_t(OT::FeatMinMaxRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::Tag const>::hb_array_t(OT::Tag const*, unsigned int) hb_array_t<OT::hb_accelerate_subtables_context_t::hb_applicable_t>::hb_array_t(OT::hb_accelerate_subtables_context_t::hb_applicable_t*, unsigned int) Line | Count | Source | 61 | 946 | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::hb_accelerate_subtables_context_t::hb_applicable_t const>::hb_array_t(OT::hb_accelerate_subtables_context_t::hb_applicable_t const*, unsigned int) Line | Count | Source | 61 | 155M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::NameRecord const>::hb_array_t(OT::NameRecord const*, unsigned int) Line | Count | Source | 61 | 1.15k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<hb_ot_name_entry_t>::hb_array_t(hb_ot_name_entry_t*, unsigned int) Line | Count | Source | 61 | 9 | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<hb_ot_map_t::feature_map_t>::hb_array_t(hb_ot_map_t::feature_map_t*, unsigned int) Line | Count | Source | 61 | 94.4k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<LangTag const>::hb_array_t(LangTag const*, unsigned int) Line | Count | Source | 61 | 1.02k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<sid_to_gid_t const>::hb_array_t(sid_to_gid_t const*, unsigned int) Unexecuted instantiation: hb_array_t<CFF::number_t const>::hb_array_t(CFF::number_t const*, unsigned int) hb_array_t<hb_ot_map_builder_t::feature_info_t>::hb_array_t(hb_ot_map_builder_t::feature_info_t*, unsigned int) Line | Count | Source | 61 | 7.31k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<hb_ot_map_t::lookup_map_t>::hb_array_t(hb_ot_map_t::lookup_map_t*, unsigned int) Line | Count | Source | 61 | 3.07k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<hb_ot_map_t::feature_map_t const>::hb_array_t(hb_ot_map_t::feature_map_t const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> >::hb_array_t(OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes>*, unsigned int) Unexecuted instantiation: hb_array_t<OT::HBGlyphID16>::hb_array_t(OT::HBGlyphID16*, unsigned int) Unexecuted instantiation: hb_array_t<unsigned int const>::hb_array_t(unsigned int const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_ot_map_t::lookup_map_t const>::hb_array_t(hb_ot_map_t::lookup_map_t const*, unsigned int) |
62 | | template <unsigned int length_> |
63 | 0 | constexpr hb_array_t (Type (&array_)[length_]) : hb_array_t (array_, length_) {} Unexecuted instantiation: hb_array_t<hb_aat_feature_mapping_t const>::hb_array_t<78u>(hb_aat_feature_mapping_t const (&) [78u]) Unexecuted instantiation: hb_array_t<sid_to_gid_t const>::hb_array_t<165u>(sid_to_gid_t const (&) [165u]) Unexecuted instantiation: hb_array_t<sid_to_gid_t const>::hb_array_t<86u>(sid_to_gid_t const (&) [86u]) Unexecuted instantiation: hb_array_t<CFF::number_t const>::hb_array_t<513u>(CFF::number_t const (&) [513u]) |
64 | | |
65 | | template <typename U, |
66 | | hb_enable_if (hb_is_cr_convertible(U, Type))> |
67 | | constexpr hb_array_t (const hb_array_t<U> &o) : |
68 | 5.58M | hb_iter_with_fallback_t<hb_array_t, Type&> (), |
69 | 5.58M | arrayZ (o.arrayZ), length (o.length), backwards_length (o.backwards_length) {} Unexecuted instantiation: _ZN10hb_array_tIKN20hb_aat_map_builder_t14feature_info_tEEC2IS1_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S2_EE5valueEvE4typeELPv0EEERKS_IS6_E _ZN10hb_array_tIKN12hb_bit_set_t10page_map_tEEC2IS1_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S2_EE5valueEvE4typeELPv0EEERKS_IS6_E Line | Count | Source | 68 | 5.49M | hb_iter_with_fallback_t<hb_array_t, Type&> (), | 69 | 5.49M | arrayZ (o.arrayZ), length (o.length), backwards_length (o.backwards_length) {} |
Unexecuted instantiation: _ZN10hb_array_tIKN12hb_aat_map_t13range_flags_tEEC2IS1_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S2_EE5valueEvE4typeELPv0EEERKS_IS6_E _ZN10hb_array_tIKN11hb_ot_map_t13feature_map_tEEC2IS1_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S2_EE5valueEvE4typeELPv0EEERKS_IS6_E Line | Count | Source | 68 | 92.9k | hb_iter_with_fallback_t<hb_array_t, Type&> (), | 69 | 92.9k | arrayZ (o.arrayZ), length (o.length), backwards_length (o.backwards_length) {} |
Unexecuted instantiation: _ZN10hb_array_tIKN2OT11HBGlyphID16EEC2IS1_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S2_EE5valueEvE4typeELPv0EEERKS_IS6_E |
70 | | template <typename U, |
71 | | hb_enable_if (hb_is_cr_convertible(U, Type))> |
72 | | hb_array_t& operator = (const hb_array_t<U> &o) |
73 | 0 | { arrayZ = o.arrayZ; length = o.length; backwards_length = o.backwards_length; return *this; } |
74 | | |
75 | | /* |
76 | | * Iterator implementation. |
77 | | */ |
78 | | typedef Type& __item_t__; |
79 | | static constexpr bool is_random_access_iterator = true; |
80 | | static constexpr bool has_fast_len = true; |
81 | | Type& __item__ () const |
82 | 156M | { |
83 | 156M | if (unlikely (!length)) return CrapOrNull (Type); |
84 | 156M | return *arrayZ; |
85 | 156M | } Unexecuted instantiation: hb_array_t<hb_aat_layout_feature_type_t>::__item__() const Unexecuted instantiation: hb_array_t<AAT::FeatureName const>::__item__() const Unexecuted instantiation: hb_array_t<hb_aat_layout_feature_selector_info_t>::__item__() const Unexecuted instantiation: hb_array_t<AAT::SettingName const>::__item__() const Unexecuted instantiation: hb_array_t<hb_aat_map_t::range_flags_t const>::__item__() const hb_array_t<unsigned int>::__item__() const Line | Count | Source | 82 | 38.7k | { | 83 | 38.7k | if (unlikely (!length)) return CrapOrNull (Type); | 84 | 38.7k | return *arrayZ; | 85 | 38.7k | } |
Unexecuted instantiation: hb_array_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t* const>::__item__() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>::item_t>::__item__() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, unsigned int, true>::item_t>::__item__() const Unexecuted instantiation: hb_array_t<unsigned char>::__item__() const Unexecuted instantiation: hb_array_t<unsigned int const>::__item__() const Unexecuted instantiation: hb_array_t<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const>::__item__() const hb_array_t<OT::Index const>::__item__() const Line | Count | Source | 82 | 38.7k | { | 83 | 38.7k | if (unlikely (!length)) return CrapOrNull (Type); | 84 | 38.7k | return *arrayZ; | 85 | 38.7k | } |
Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 3u> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::Record<OT::Feature> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::Record<OT::LangSys> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::Record<OT::Script> const>::__item__() const Unexecuted instantiation: hb_array_t<hb_pair_t<unsigned int, unsigned int> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> const>::__item__() const Unexecuted instantiation: hb_array_t<unsigned char const>::__item__() const Unexecuted instantiation: hb_array_t<OT::FeatureTableSubstitutionRecord const>::__item__() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, Triple, false>::item_t>::__item__() const Unexecuted instantiation: hb_array_t<OT::HBFixed<OT::IntType<short, 2u>, 14u> >::__item__() const Unexecuted instantiation: hb_array_t<hb_vector_t<int, false> const* const>::__item__() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>::item_t>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<int>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_pair_t<unsigned int, int>, false>::item_t>::__item__() const hb_array_t<OT::hb_accelerate_subtables_context_t::hb_applicable_t const>::__item__() const Line | Count | Source | 82 | 156M | { | 83 | 156M | if (unlikely (!length)) return CrapOrNull (Type); | 84 | 156M | return *arrayZ; | 85 | 156M | } |
Unexecuted instantiation: hb_array_t<OT::Layout::GPOS_impl::EntryExitRecord const>::__item__() const Unexecuted instantiation: hb_array_t<OT::Layout::GPOS_impl::MarkRecord const>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::StatAxisRecord const>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::HBGlyphID16 const>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::TableRecord const>::__item__() const Unexecuted instantiation: hb_array_t<OT::UVSMapping const>::__item__() const Unexecuted instantiation: hb_array_t<OT::VariationSelectorRecord const>::__item__() const Unexecuted instantiation: hb_array_t<OT::EncodingRecord const>::__item__() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, face_table_info_t, false>::item_t>::__item__() const Unexecuted instantiation: hb_array_t<hb_pair_t<unsigned int, face_table_info_t> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 4u> const>::__item__() const Unexecuted instantiation: hb_array_t<hb_ot_color_layer_t>::__item__() const Unexecuted instantiation: hb_array_t<OT::LayerRecord const>::__item__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, void, true> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::DataMap const>::__item__() const Unexecuted instantiation: hb_array_t<hb_ot_meta_tag_t>::__item__() const Unexecuted instantiation: hb_array_t<OT::NameRecord const>::__item__() const Unexecuted instantiation: hb_array_t<OT::VertOriginMetric const>::__item__() const Unexecuted instantiation: hb_array_t<hb_outline_point_t const>::__item__() const Unexecuted instantiation: hb_array_t<OT::Record<OT::JstfLangSys> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::Record<OT::JstfScript> const>::__item__() const Unexecuted instantiation: hb_array_t<OT::HBGlyphID16>::__item__() const Unexecuted instantiation: hb_array_t<hb_glyph_info_t>::__item__() const |
86 | | Type& __item_at__ (unsigned i) const |
87 | 1.96k | { |
88 | 1.96k | if (unlikely (i >= length)) return CrapOrNull (Type); |
89 | 1.96k | return arrayZ[i]; |
90 | 1.96k | } Unexecuted instantiation: hb_array_t<OT::HBFixed<OT::IntType<int, 4u>, 16u> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<AAT::SettingName const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<hb_inc_bimap_t const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<int const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<bool const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::StatAxisRecord const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::AxisValueRecord const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, void, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<unsigned int const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::HBGlyphID16 const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::ResourceRecord const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::AxisRecord const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::Index const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 4u> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::LayerRecord const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::DeltaSetIndexMap const*>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::index_map_subset_plan_t>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<contour_point_t>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<unsigned int>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<unsigned char const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned char, 1u> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::IntType<short, 2u> const>::__item_at__(unsigned int) const hb_array_t<OT::NameRecord const>::__item_at__(unsigned int) const Line | Count | Source | 87 | 1.96k | { | 88 | 1.96k | if (unlikely (i >= length)) return CrapOrNull (Type); | 89 | 1.96k | return arrayZ[i]; | 90 | 1.96k | } |
Unexecuted instantiation: hb_array_t<hb_ot_map_t::feature_map_t const>::__item_at__(unsigned int) const |
91 | | void __next__ () |
92 | 154M | { |
93 | 154M | if (unlikely (!length)) |
94 | 0 | return; |
95 | 154M | length--; |
96 | 154M | backwards_length++; |
97 | 154M | arrayZ++; |
98 | 154M | } Unexecuted instantiation: hb_array_t<hb_aat_layout_feature_type_t>::__next__() Unexecuted instantiation: hb_array_t<AAT::FeatureName const>::__next__() Unexecuted instantiation: hb_array_t<hb_aat_layout_feature_selector_info_t>::__next__() Unexecuted instantiation: hb_array_t<AAT::SettingName const>::__next__() Unexecuted instantiation: hb_array_t<hb_aat_map_t::range_flags_t const>::__next__() hb_array_t<unsigned int>::__next__() Line | Count | Source | 92 | 38.7k | { | 93 | 38.7k | if (unlikely (!length)) | 94 | 0 | return; | 95 | 38.7k | length--; | 96 | 38.7k | backwards_length++; | 97 | 38.7k | arrayZ++; | 98 | 38.7k | } |
Unexecuted instantiation: hb_array_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t* const>::__next__() Unexecuted instantiation: hb_array_t<hb_serialize_context_t::object_t* const>::__next__() Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>::item_t>::__next__() Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, unsigned int, true>::item_t>::__next__() Unexecuted instantiation: hb_array_t<unsigned char>::__next__() Unexecuted instantiation: hb_array_t<unsigned int const>::__next__() Unexecuted instantiation: hb_array_t<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const>::__next__() hb_array_t<OT::Index const>::__next__() Line | Count | Source | 92 | 38.7k | { | 93 | 38.7k | if (unlikely (!length)) | 94 | 0 | return; | 95 | 38.7k | length--; | 96 | 38.7k | backwards_length++; | 97 | 38.7k | arrayZ++; | 98 | 38.7k | } |
Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 3u> const>::__next__() Unexecuted instantiation: hb_array_t<OT::Record<OT::Feature> const>::__next__() Unexecuted instantiation: hb_array_t<OT::Record<OT::LangSys> const>::__next__() Unexecuted instantiation: hb_array_t<OT::Record<OT::Script> const>::__next__() Unexecuted instantiation: hb_array_t<hb_pair_t<unsigned int, unsigned int> const>::__next__() Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> const>::__next__() Unexecuted instantiation: hb_array_t<unsigned char const>::__next__() Unexecuted instantiation: hb_array_t<OT::FeatureTableSubstitutionRecord const>::__next__() Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, Triple, false>::item_t>::__next__() Unexecuted instantiation: hb_array_t<OT::HBFixed<OT::IntType<short, 2u>, 14u> >::__next__() Unexecuted instantiation: hb_array_t<hb_vector_t<int, false> const* const>::__next__() Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>::item_t>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<int>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_pair_t<unsigned int, int>, false>::item_t>::__next__() hb_array_t<OT::hb_accelerate_subtables_context_t::hb_applicable_t const>::__next__() Line | Count | Source | 92 | 154M | { | 93 | 154M | if (unlikely (!length)) | 94 | 0 | return; | 95 | 154M | length--; | 96 | 154M | backwards_length++; | 97 | 154M | arrayZ++; | 98 | 154M | } |
Unexecuted instantiation: hb_array_t<OT::Layout::GPOS_impl::EntryExitRecord const>::__next__() Unexecuted instantiation: hb_array_t<OT::Layout::GPOS_impl::MarkRecord const>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<OT::StatAxisRecord const>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<OT::HBGlyphID16 const>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<OT::TableRecord const>::__next__() Unexecuted instantiation: hb_array_t<OT::UVSMapping const>::__next__() Unexecuted instantiation: hb_array_t<OT::VariationSelectorRecord const>::__next__() Unexecuted instantiation: hb_array_t<OT::EncodingRecord const>::__next__() Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, face_table_info_t, false>::item_t>::__next__() Unexecuted instantiation: hb_array_t<hb_pair_t<unsigned int, face_table_info_t> const>::__next__() Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 4u> const>::__next__() Unexecuted instantiation: hb_array_t<hb_ot_color_layer_t>::__next__() Unexecuted instantiation: hb_array_t<OT::LayerRecord const>::__next__() Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, void, true> const>::__next__() Unexecuted instantiation: hb_array_t<OT::DataMap const>::__next__() Unexecuted instantiation: hb_array_t<hb_ot_meta_tag_t>::__next__() Unexecuted instantiation: hb_array_t<OT::NameRecord const>::__next__() Unexecuted instantiation: hb_array_t<OT::VertOriginMetric const>::__next__() Unexecuted instantiation: hb_array_t<hb_outline_point_t const>::__next__() Unexecuted instantiation: hb_array_t<OT::Record<OT::JstfLangSys> const>::__next__() Unexecuted instantiation: hb_array_t<OT::Record<OT::JstfScript> const>::__next__() Unexecuted instantiation: hb_array_t<OT::HBGlyphID16>::__next__() Unexecuted instantiation: hb_array_t<hb_glyph_info_t>::__next__() |
99 | | void __forward__ (unsigned n) |
100 | 0 | { |
101 | 0 | if (unlikely (n > length)) |
102 | 0 | n = length; |
103 | 0 | length -= n; |
104 | 0 | backwards_length += n; |
105 | 0 | arrayZ += n; |
106 | 0 | } Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>::item_t>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, unsigned int, true>::item_t>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::Index const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::Record<OT::LangSys> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::Record<OT::Script> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<hb_pair_t<unsigned int, unsigned int> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, Triple, false>::item_t>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<hb_vector_t<int, false> const* const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>::item_t>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_pair_t<unsigned int, int>, false>::item_t>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::Layout::GPOS_impl::EntryExitRecord const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::Layout::GPOS_impl::MarkRecord const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, void, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::HBGlyphID16 const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<unsigned int const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::UVSMapping const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::EncodingRecord const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, face_table_info_t, false>::item_t>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<hb_pair_t<unsigned int, face_table_info_t> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, void, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::NameRecord const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::VertOriginMetric const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::HBGlyphID16>::__forward__(unsigned int) |
107 | | void __prev__ () |
108 | 0 | { |
109 | 0 | if (unlikely (!backwards_length)) |
110 | 0 | return; |
111 | 0 | length++; |
112 | 0 | backwards_length--; |
113 | 0 | arrayZ--; |
114 | 0 | } |
115 | | void __rewind__ (unsigned n) |
116 | | { |
117 | | if (unlikely (n > backwards_length)) |
118 | | n = backwards_length; |
119 | | length += n; |
120 | | backwards_length -= n; |
121 | | arrayZ -= n; |
122 | | } |
123 | 317M | unsigned __len__ () const { return length; } Unexecuted instantiation: hb_array_t<AAT::FeatureName const>::__len__() const Unexecuted instantiation: hb_array_t<AAT::SettingName const>::__len__() const hb_array_t<OT::HBGlyphID16 const>::__len__() const Line | Count | Source | 123 | 1.36k | unsigned __len__ () const { return length; } |
Unexecuted instantiation: hb_array_t<hb_aat_map_t::range_flags_t const>::__len__() const Unexecuted instantiation: hb_array_t<unsigned int>::__len__() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, unsigned int, true>::item_t>::__len__() const Unexecuted instantiation: hb_array_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t* const>::__len__() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>::item_t>::__len__() const Unexecuted instantiation: hb_array_t<unsigned int const>::__len__() const Unexecuted instantiation: hb_array_t<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const>::__len__() const hb_array_t<OT::Index const>::__len__() const Line | Count | Source | 123 | 81.6k | unsigned __len__ () const { return length; } |
Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 3u> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::Record<OT::Feature> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::Record<OT::LangSys> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::Record<OT::Script> const>::__len__() const Unexecuted instantiation: hb_array_t<hb_pair_t<unsigned int, unsigned int> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> const>::__len__() const Unexecuted instantiation: hb_array_t<unsigned char const>::__len__() const hb_array_t<int const>::__len__() const Line | Count | Source | 123 | 6.71M | unsigned __len__ () const { return length; } |
Unexecuted instantiation: hb_array_t<OT::FeatureTableSubstitutionRecord const>::__len__() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, Triple, false>::item_t>::__len__() const Unexecuted instantiation: hb_array_t<float const>::__len__() const Unexecuted instantiation: hb_array_t<hb_inc_bimap_t const>::__len__() const Unexecuted instantiation: hb_array_t<hb_vector_t<int, false> const* const>::__len__() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>::item_t>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_pair_t<unsigned int, int>, false>::item_t>::__len__() const hb_array_t<OT::hb_accelerate_subtables_context_t::hb_applicable_t const>::__len__() const Line | Count | Source | 123 | 310M | unsigned __len__ () const { return length; } |
Unexecuted instantiation: hb_array_t<OT::Layout::GPOS_impl::EntryExitRecord const>::__len__() const Unexecuted instantiation: hb_array_t<OT::Layout::GPOS_impl::MarkRecord const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::StatAxisRecord const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::TableRecord const>::__len__() const Unexecuted instantiation: hb_array_t<OT::UVSMapping const>::__len__() const Unexecuted instantiation: hb_array_t<OT::VariationSelectorRecord const>::__len__() const Unexecuted instantiation: hb_array_t<OT::EncodingRecord const>::__len__() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, face_table_info_t, false>::item_t>::__len__() const Unexecuted instantiation: hb_array_t<hb_pair_t<unsigned int, face_table_info_t> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 4u> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::LayerRecord const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, void, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned char, 1u> const>::__len__() const Unexecuted instantiation: hb_array_t<contour_point_t>::__len__() const Unexecuted instantiation: hb_array_t<hb_array_t<unsigned char const> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::DataMap const>::__len__() const Unexecuted instantiation: hb_array_t<OT::NameRecord const>::__len__() const Unexecuted instantiation: hb_array_t<OT::VertOriginMetric const>::__len__() const Unexecuted instantiation: hb_array_t<hb_outline_point_t const>::__len__() const Unexecuted instantiation: hb_array_t<OT::Tag const>::__len__() const Unexecuted instantiation: hb_array_t<OT::Record<OT::JstfLangSys> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::Record<OT::JstfScript> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::HBGlyphID16>::__len__() const Unexecuted instantiation: hb_array_t<hb_glyph_info_t>::__len__() const |
124 | | /* Ouch. The operator== compares the contents of the array. For range-based for loops, |
125 | | * it's best if we can just compare arrayZ, though comparing contents is still fast, |
126 | | * but also would require that Type has operator==. As such, we optimize this operator |
127 | | * for range-based for loop and just compare arrayZ and length. |
128 | | * |
129 | | * The above comment is outdated now because we implemented separate begin/end to |
130 | | * objects that were using hb_array_t for range-based loop before. */ |
131 | | bool operator != (const hb_array_t& o) const |
132 | 0 | { return this->arrayZ != o.arrayZ || this->length != o.length; } Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>::item_t>::operator!=(hb_array_t<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>::item_t> const&) const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, unsigned int, true>::item_t>::operator!=(hb_array_t<hb_hashmap_t<unsigned int, unsigned int, true>::item_t> const&) const Unexecuted instantiation: hb_array_t<OT::Index const>::operator!=(hb_array_t<OT::Index const> const&) const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> const>::operator!=(hb_array_t<OT::IntType<unsigned short, 2u> const> const&) const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, Triple, false>::item_t>::operator!=(hb_array_t<hb_hashmap_t<unsigned int, Triple, false>::item_t> const&) const Unexecuted instantiation: hb_array_t<hb_vector_t<int, false> const* const>::operator!=(hb_array_t<hb_vector_t<int, false> const* const> const&) const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>::item_t>::operator!=(hb_array_t<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>::item_t> const&) const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_pair_t<unsigned int, int>, false>::item_t>::operator!=(hb_array_t<hb_hashmap_t<unsigned int, hb_pair_t<unsigned int, int>, false>::item_t> const&) const Unexecuted instantiation: hb_array_t<OT::Layout::GPOS_impl::EntryExitRecord const>::operator!=(hb_array_t<OT::Layout::GPOS_impl::EntryExitRecord const> const&) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::operator!=(hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const> const&) const Unexecuted instantiation: hb_array_t<OT::Layout::GPOS_impl::MarkRecord const>::operator!=(hb_array_t<OT::Layout::GPOS_impl::MarkRecord const> const&) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, void, true> const>::operator!=(hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, void, true> const> const&) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::operator!=(hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const> const&) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>::operator!=(hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const> const&) const Unexecuted instantiation: hb_array_t<OT::HBGlyphID16 const>::operator!=(hb_array_t<OT::HBGlyphID16 const> const&) const Unexecuted instantiation: hb_array_t<hb_pair_t<unsigned int, face_table_info_t> const>::operator!=(hb_array_t<hb_pair_t<unsigned int, face_table_info_t> const> const&) const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, face_table_info_t, false>::item_t>::operator!=(hb_array_t<hb_hashmap_t<unsigned int, face_table_info_t, false>::item_t> const&) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, void, true> const>::operator!=(hb_array_t<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, void, true> const> const&) const Unexecuted instantiation: hb_array_t<OT::NameRecord const>::operator!=(hb_array_t<OT::NameRecord const> const&) const Unexecuted instantiation: hb_array_t<OT::HBGlyphID16>::operator!=(hb_array_t<OT::HBGlyphID16> const&) const |
133 | | |
134 | | /* Faster range-based for loop without bounds-check. */ |
135 | 946 | Type *begin () const { return arrayZ; } Unexecuted instantiation: hb_array_t<hb_serialize_context_t::object_t* const>::begin() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>::item_t>::begin() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>::item_t>::begin() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, unsigned int, true>::item_t>::begin() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>::item_t>::begin() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, Triple, false>::item_t>::begin() const Unexecuted instantiation: hb_array_t<unsigned int const>::begin() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<hb::shared_ptr<hb_map_t>, unsigned int, false>::item_t>::begin() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb::shared_ptr<hb_set_t>, false>::item_t>::begin() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, OT::Feature const*, false>::item_t>::begin() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>::item_t>::begin() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>::item_t>::begin() const Unexecuted instantiation: hb_array_t<int const>::begin() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>::item_t>::begin() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>::item_t>::begin() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, void, true> const>::begin() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, void, true> const>::begin() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_set_t, false>::item_t>::begin() const Unexecuted instantiation: hb_array_t<OT::LookupRecord const>::begin() const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> const>::begin() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, void, true> const>::begin() const hb_array_t<OT::hb_accelerate_subtables_context_t::hb_applicable_t>::begin() const Line | Count | Source | 135 | 946 | Type *begin () const { return arrayZ; } |
Unexecuted instantiation: hb_array_t<OT::AxisValueRecord const>::begin() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, void, true> const>::begin() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, face_table_info_t, false>::item_t>::begin() const Unexecuted instantiation: hb_array_t<OT::AxisValueMap const>::begin() const Unexecuted instantiation: hb_array_t<OT::BitmapSizeTable const>::begin() const Unexecuted instantiation: hb_array_t<OT::NoVariable<OT::ColorStop> const>::begin() const Unexecuted instantiation: hb_array_t<OT::Variable<OT::ColorStop> const>::begin() const Unexecuted instantiation: hb_array_t<OT::BaseGlyphRecord const>::begin() const Unexecuted instantiation: hb_array_t<OT::LayerRecord const>::begin() const Unexecuted instantiation: hb_array_t<contour_point_t>::begin() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_pair_t<unsigned int, int>, false>::item_t>::begin() const Unexecuted instantiation: hb_array_t<OT::glyf_impl::SubsetGlyph const>::begin() const Unexecuted instantiation: hb_array_t<hb_array_t<unsigned char const> const>::begin() const Unexecuted instantiation: hb_array_t<OT::NameRecord>::begin() const Unexecuted instantiation: hb_array_t<hb_ot_map_t::lookup_map_t const>::begin() const |
136 | 946 | Type *end () const { return arrayZ + length; } Unexecuted instantiation: hb_array_t<hb_serialize_context_t::object_t* const>::end() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>::item_t>::end() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>::item_t>::end() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, unsigned int, true>::item_t>::end() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>::item_t>::end() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, Triple, false>::item_t>::end() const Unexecuted instantiation: hb_array_t<unsigned int const>::end() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<hb::shared_ptr<hb_map_t>, unsigned int, false>::item_t>::end() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb::shared_ptr<hb_set_t>, false>::item_t>::end() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, OT::Feature const*, false>::item_t>::end() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>::item_t>::end() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>::item_t>::end() const Unexecuted instantiation: hb_array_t<int const>::end() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>::item_t>::end() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>::item_t>::end() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, void, true> const>::end() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, void, true> const>::end() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_set_t, false>::item_t>::end() const Unexecuted instantiation: hb_array_t<OT::LookupRecord const>::end() const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> const>::end() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, void, true> const>::end() const hb_array_t<OT::hb_accelerate_subtables_context_t::hb_applicable_t>::end() const Line | Count | Source | 136 | 946 | Type *end () const { return arrayZ + length; } |
Unexecuted instantiation: hb_array_t<OT::AxisValueRecord const>::end() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, void, true> const>::end() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, face_table_info_t, false>::item_t>::end() const Unexecuted instantiation: hb_array_t<OT::AxisValueMap const>::end() const Unexecuted instantiation: hb_array_t<OT::BitmapSizeTable const>::end() const Unexecuted instantiation: hb_array_t<OT::NoVariable<OT::ColorStop> const>::end() const Unexecuted instantiation: hb_array_t<OT::Variable<OT::ColorStop> const>::end() const Unexecuted instantiation: hb_array_t<OT::BaseGlyphRecord const>::end() const Unexecuted instantiation: hb_array_t<OT::LayerRecord const>::end() const Unexecuted instantiation: hb_array_t<contour_point_t>::end() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, hb_pair_t<unsigned int, int>, false>::item_t>::end() const Unexecuted instantiation: hb_array_t<OT::glyf_impl::SubsetGlyph const>::end() const Unexecuted instantiation: hb_array_t<hb_array_t<unsigned char const> const>::end() const Unexecuted instantiation: hb_array_t<OT::NameRecord>::end() const Unexecuted instantiation: hb_array_t<hb_ot_map_t::lookup_map_t const>::end() const |
137 | | |
138 | | |
139 | | /* Extra operators. |
140 | | */ |
141 | 1.36k | Type * operator & () const { return arrayZ; } hb_array_t<OT::HBGlyphID16 const>::operator&() const Line | Count | Source | 141 | 1.36k | Type * operator & () const { return arrayZ; } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, void, true> const>::operator&() const Unexecuted instantiation: hb_array_t<AAT::Feature const>::operator&() const Unexecuted instantiation: hb_array_t<OT::Index const>::operator&() const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> const>::operator&() const Unexecuted instantiation: hb_array_t<OT::AxisRecord const>::operator&() const Unexecuted instantiation: hb_array_t<OT::HBFixed<OT::IntType<int, 4u>, 16u> const>::operator&() const Unexecuted instantiation: hb_array_t<char const>::operator&() const Unexecuted instantiation: hb_array_t<unsigned char const>::operator&() const Unexecuted instantiation: hb_array_t<OT::IntType<short, 2u> const>::operator&() const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned char, 1u> const>::operator&() const |
142 | 6.71M | operator hb_array_t<const Type> () { return hb_array_t<const Type> (arrayZ, length); } Unexecuted instantiation: hb_array_t<hb_ot_map_t::lookup_map_t>::operator hb_array_t<hb_ot_map_t::lookup_map_t const>() Unexecuted instantiation: hb_array_t<hb_bit_page_t>::operator hb_array_t<hb_bit_page_t const>() Unexecuted instantiation: hb_array_t<hb_serialize_context_t::object_t::link_t>::operator hb_array_t<hb_serialize_context_t::object_t::link_t const>() Unexecuted instantiation: hb_array_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*>::operator hb_array_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t* const>() Unexecuted instantiation: hb_array_t<hb_serialize_context_t::object_t*>::operator hb_array_t<hb_serialize_context_t::object_t* const>() Unexecuted instantiation: hb_array_t<unsigned int>::operator hb_array_t<unsigned int const>() Unexecuted instantiation: hb_array_t<unsigned char>::operator hb_array_t<unsigned char const>() Unexecuted instantiation: hb_array_t<hb_inc_bimap_t>::operator hb_array_t<hb_inc_bimap_t const>() Unexecuted instantiation: hb_array_t<bool>::operator hb_array_t<bool const>() Unexecuted instantiation: hb_array_t<float>::operator hb_array_t<float const>() Unexecuted instantiation: hb_array_t<char>::operator hb_array_t<char const>() hb_array_t<int>::operator hb_array_t<int const>() Line | Count | Source | 142 | 6.71M | operator hb_array_t<const Type> () { return hb_array_t<const Type> (arrayZ, length); } |
Unexecuted instantiation: hb_array_t<hb_vector_t<int, false> const*>::operator hb_array_t<hb_vector_t<int, false> const* const>() Unexecuted instantiation: hb_array_t<hb_pair_t<unsigned int, unsigned int> >::operator hb_array_t<hb_pair_t<unsigned int, unsigned int> const>() Unexecuted instantiation: hb_array_t<hb_pair_t<unsigned int, face_table_info_t> >::operator hb_array_t<hb_pair_t<unsigned int, face_table_info_t> const>() Unexecuted instantiation: hb_array_t<OT::LayerRecord>::operator hb_array_t<OT::LayerRecord const>() Unexecuted instantiation: hb_array_t<contour_point_t>::operator hb_array_t<contour_point_t const>() Unexecuted instantiation: hb_array_t<OT::glyf_impl::SubsetGlyph>::operator hb_array_t<OT::glyf_impl::SubsetGlyph const>() Unexecuted instantiation: hb_array_t<CFF::parsed_cs_str_t>::operator hb_array_t<CFF::parsed_cs_str_t const>() Unexecuted instantiation: hb_array_t<CFF::parsed_cs_op_t>::operator hb_array_t<CFF::parsed_cs_op_t const>() Unexecuted instantiation: hb_array_t<CFF::parsed_cs_str_vec_t>::operator hb_array_t<CFF::parsed_cs_str_vec_t const>() Unexecuted instantiation: hb_array_t<hb_array_t<unsigned char const> >::operator hb_array_t<hb_array_t<unsigned char const> const>() Unexecuted instantiation: hb_array_t<hb_outline_point_t>::operator hb_array_t<hb_outline_point_t const>() Unexecuted instantiation: hb_array_t<OT::HBGlyphID16>::operator hb_array_t<OT::HBGlyphID16 const>() |
143 | 0 | template <typename T> operator T * () const { return arrayZ; } |
144 | | |
145 | | HB_INTERNAL bool operator == (const hb_array_t &o) const; |
146 | | |
147 | | uint32_t hash () const |
148 | 0 | { |
149 | 0 | // FNV-1a hash function |
150 | 0 | // https://github.com/harfbuzz/harfbuzz/pull/4228 |
151 | 0 | uint32_t current = /*cbf29ce4*/0x84222325; |
152 | 0 | for (auto &v : *this) |
153 | 0 | { |
154 | 0 | current = current ^ hb_hash (v); |
155 | 0 | current = current * 16777619; |
156 | 0 | } |
157 | 0 | return current; |
158 | 0 | } |
159 | | |
160 | | /* |
161 | | * Compare, Sort, and Search. |
162 | | */ |
163 | | |
164 | | /* Note: our compare is NOT lexicographic; it also does NOT call Type::cmp. */ |
165 | | int cmp (const hb_array_t &a) const |
166 | 0 | { |
167 | 0 | if (length != a.length) |
168 | 0 | return (int) a.length - (int) length; |
169 | 0 | return hb_memcmp (a.arrayZ, arrayZ, get_size ()); |
170 | 0 | } Unexecuted instantiation: hb_array_t<unsigned char const>::cmp(hb_array_t<unsigned char const> const&) const Unexecuted instantiation: hb_array_t<char const>::cmp(hb_array_t<char const> const&) const |
171 | | HB_INTERNAL static int cmp (const void *pa, const void *pb) |
172 | | { |
173 | | hb_array_t *a = (hb_array_t *) pa; |
174 | | hb_array_t *b = (hb_array_t *) pb; |
175 | | return b->cmp (*a); |
176 | | } |
177 | | |
178 | | template <typename T> |
179 | | Type *lsearch (const T &x, Type *not_found = nullptr) |
180 | 0 | { |
181 | 0 | unsigned i; |
182 | 0 | return lfind (x, &i) ? &this->arrayZ[i] : not_found; |
183 | 0 | } Unexecuted instantiation: hb_user_data_array_t::hb_user_data_item_t* hb_array_t<hb_user_data_array_t::hb_user_data_item_t>::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_array_t<hb_user_data_array_t::hb_user_data_item_t>::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_array_t<hb_aat_map_builder_t::feature_info_t>::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*) Unexecuted instantiation: OT::DataMap const* hb_array_t<OT::DataMap const>::lsearch<unsigned int>(unsigned int const&, OT::DataMap const*) |
184 | | template <typename T> |
185 | | const Type *lsearch (const T &x, const Type *not_found = nullptr) const |
186 | | { |
187 | | unsigned i; |
188 | | return lfind (x, &i) ? &this->arrayZ[i] : not_found; |
189 | | } |
190 | | template <typename T> |
191 | | bool lfind (const T &x, unsigned *pos = nullptr, |
192 | | hb_not_found_t not_found = HB_NOT_FOUND_DONT_STORE, |
193 | | unsigned int to_store = (unsigned int) -1) const |
194 | 0 | { |
195 | 0 | for (unsigned i = 0; i < length; ++i) |
196 | 0 | if (hb_equal (x, this->arrayZ[i])) |
197 | 0 | { |
198 | 0 | if (pos) |
199 | 0 | *pos = i; |
200 | 0 | return true; |
201 | 0 | } |
202 | | |
203 | 0 | if (pos) |
204 | 0 | { |
205 | 0 | switch (not_found) |
206 | 0 | { |
207 | 0 | case HB_NOT_FOUND_DONT_STORE: |
208 | 0 | break; |
209 | | |
210 | 0 | case HB_NOT_FOUND_STORE: |
211 | 0 | *pos = to_store; |
212 | 0 | break; |
213 | | |
214 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: |
215 | 0 | *pos = length; |
216 | 0 | break; |
217 | 0 | } |
218 | 0 | } |
219 | 0 | return false; |
220 | 0 | } Unexecuted instantiation: bool hb_array_t<hb_user_data_array_t::hb_user_data_item_t>::lfind<hb_user_data_key_t*>(hb_user_data_key_t* const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_array_t<hb_user_data_array_t::hb_user_data_item_t>::lfind<hb_user_data_array_t::hb_user_data_item_t>(hb_user_data_array_t::hb_user_data_item_t const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_array_t<OT::StatAxisRecord const>::lfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_array_t<hb_aat_map_builder_t::feature_info_t>::lfind<hb_aat_map_builder_t::feature_info_t>(hb_aat_map_builder_t::feature_info_t const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_array_t<OT::TableRecord const>::lfind<OT::Tag>(OT::Tag const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_array_t<OT::AxisRecord const>::lfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_array_t<OT::DataMap const>::lfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const |
221 | | |
222 | | hb_sorted_array_t<Type> qsort (int (*cmp_)(const void*, const void*)) |
223 | 8.85k | { |
224 | | //static_assert (hb_enable_if (hb_is_trivially_copy_assignable(Type)), ""); |
225 | 8.85k | if (likely (length)) |
226 | 8.70k | hb_qsort (arrayZ, length, this->get_item_size (), cmp_); |
227 | 8.85k | return hb_sorted_array_t<Type> (*this); |
228 | 8.85k | } Unexecuted instantiation: hb_array_t<unsigned int>::qsort(int (*)(void const*, void const*)) Unexecuted instantiation: hb_array_t<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> >::qsort(int (*)(void const*, void const*)) Unexecuted instantiation: hb_array_t<OT::delta_row_encoding_t>::qsort(int (*)(void const*, void const*)) Unexecuted instantiation: hb_array_t<hb_vector_t<int, false> const*>::qsort(int (*)(void const*, void const*)) Unexecuted instantiation: hb_array_t<hb_aat_map_builder_t::feature_event_t>::qsort(int (*)(void const*, void const*)) Unexecuted instantiation: hb_array_t<hb_aat_map_builder_t::feature_info_t>::qsort(int (*)(void const*, void const*)) Unexecuted instantiation: hb_array_t<hb_pair_t<unsigned int, face_table_info_t> >::qsort(int (*)(void const*, void const*)) Unexecuted instantiation: hb_array_t<OT::AxisValueMap>::qsort(int (*)(void const*, void const*)) Unexecuted instantiation: hb_array_t<OT::cff1::accelerator_t::gname_t>::qsort(int (*)(void const*, void const*)) hb_array_t<hb_ot_name_entry_t>::qsort(int (*)(void const*, void const*)) Line | Count | Source | 223 | 9 | { | 224 | | //static_assert (hb_enable_if (hb_is_trivially_copy_assignable(Type)), ""); | 225 | 9 | if (likely (length)) | 226 | 9 | hb_qsort (arrayZ, length, this->get_item_size (), cmp_); | 227 | 9 | return hb_sorted_array_t<Type> (*this); | 228 | 9 | } |
hb_array_t<hb_ot_map_builder_t::feature_info_t>::qsort(int (*)(void const*, void const*)) Line | Count | Source | 223 | 7.31k | { | 224 | | //static_assert (hb_enable_if (hb_is_trivially_copy_assignable(Type)), ""); | 225 | 7.31k | if (likely (length)) | 226 | 7.31k | hb_qsort (arrayZ, length, this->get_item_size (), cmp_); | 227 | 7.31k | return hb_sorted_array_t<Type> (*this); | 228 | 7.31k | } |
hb_array_t<hb_ot_map_t::feature_map_t>::qsort(int (*)(void const*, void const*)) Line | Count | Source | 223 | 1.53k | { | 224 | | //static_assert (hb_enable_if (hb_is_trivially_copy_assignable(Type)), ""); | 225 | 1.53k | if (likely (length)) | 226 | 1.38k | hb_qsort (arrayZ, length, this->get_item_size (), cmp_); | 227 | 1.53k | return hb_sorted_array_t<Type> (*this); | 228 | 1.53k | } |
|
229 | | hb_sorted_array_t<Type> qsort () |
230 | 1.53k | { |
231 | | //static_assert (hb_enable_if (hb_is_trivially_copy_assignable(Type)), ""); |
232 | 1.53k | if (likely (length)) |
233 | 1.53k | hb_qsort (arrayZ, length, this->get_item_size (), Type::cmp); |
234 | 1.53k | return hb_sorted_array_t<Type> (*this); |
235 | 1.53k | } Unexecuted instantiation: hb_array_t<OT::TableRecord>::qsort() Unexecuted instantiation: hb_array_t<OT::NameRecord>::qsort() hb_array_t<hb_ot_map_t::lookup_map_t>::qsort() Line | Count | Source | 230 | 1.53k | { | 231 | | //static_assert (hb_enable_if (hb_is_trivially_copy_assignable(Type)), ""); | 232 | 1.53k | if (likely (length)) | 233 | 1.53k | hb_qsort (arrayZ, length, this->get_item_size (), Type::cmp); | 234 | 1.53k | return hb_sorted_array_t<Type> (*this); | 235 | 1.53k | } |
|
236 | | |
237 | | /* |
238 | | * Other methods. |
239 | | */ |
240 | | |
241 | 0 | unsigned int get_size () const { return length * this->get_item_size (); } Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, void, true> const>::get_size() const Unexecuted instantiation: hb_array_t<AAT::Feature const>::get_size() const Unexecuted instantiation: hb_array_t<unsigned char const>::get_size() const Unexecuted instantiation: hb_array_t<OT::HBFixed<OT::IntType<short, 2u>, 14u> const>::get_size() const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> const>::get_size() const Unexecuted instantiation: hb_array_t<OT::AxisRecord const>::get_size() const Unexecuted instantiation: hb_array_t<OT::HBFixed<OT::IntType<int, 4u>, 16u> const>::get_size() const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 4u> const>::get_size() const Unexecuted instantiation: hb_array_t<OT::Index const>::get_size() const Unexecuted instantiation: hb_array_t<OT::LayerRecord const>::get_size() const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned char, 1u> const>::get_size() const Unexecuted instantiation: hb_array_t<char const>::get_size() const Unexecuted instantiation: hb_array_t<OT::IntType<short, 2u> const>::get_size() const Unexecuted instantiation: hb_array_t<OT::Tag const>::get_size() const |
242 | | |
243 | | /* |
244 | | * Reverse the order of items in this array in the range [start, end). |
245 | | */ |
246 | | void reverse (unsigned start = 0, unsigned end = -1) |
247 | 111M | { |
248 | 111M | start = hb_min (start, length); |
249 | 111M | end = hb_min (end, length); |
250 | | |
251 | 111M | if (end < start + 2) |
252 | 109M | return; |
253 | | |
254 | 2.07M | unsigned stop = start + (end - start) / 2; |
255 | 57.7M | for (unsigned lhs = start, rhs = end - 1; lhs < stop; lhs++, rhs--) |
256 | 55.6M | hb_swap (arrayZ[rhs], arrayZ[lhs]); |
257 | 2.07M | } hb_array_t<hb_glyph_info_t>::reverse(unsigned int, unsigned int) Line | Count | Source | 247 | 109M | { | 248 | 109M | start = hb_min (start, length); | 249 | 109M | end = hb_min (end, length); | 250 | | | 251 | 109M | if (end < start + 2) | 252 | 108M | return; | 253 | | | 254 | 1.71M | unsigned stop = start + (end - start) / 2; | 255 | 55.9M | for (unsigned lhs = start, rhs = end - 1; lhs < stop; lhs++, rhs--) | 256 | 54.1M | hb_swap (arrayZ[rhs], arrayZ[lhs]); | 257 | 1.71M | } |
hb_array_t<hb_glyph_position_t>::reverse(unsigned int, unsigned int) Line | Count | Source | 247 | 1.29M | { | 248 | 1.29M | start = hb_min (start, length); | 249 | 1.29M | end = hb_min (end, length); | 250 | | | 251 | 1.29M | if (end < start + 2) | 252 | 932k | return; | 253 | | | 254 | 362k | unsigned stop = start + (end - start) / 2; | 255 | 1.78M | for (unsigned lhs = start, rhs = end - 1; lhs < stop; lhs++, rhs--) | 256 | 1.42M | hb_swap (arrayZ[rhs], arrayZ[lhs]); | 257 | 362k | } |
Unexecuted instantiation: hb_array_t<OT::VariationSelectorRecord>::reverse(unsigned int, unsigned int) |
258 | | |
259 | | hb_array_t sub_array (unsigned int start_offset = 0, unsigned int *seg_count = nullptr /* IN/OUT */) const |
260 | 45.5k | { |
261 | 45.5k | if (!start_offset && !seg_count) |
262 | 0 | return *this; |
263 | | |
264 | 45.5k | unsigned int count = length; |
265 | 45.5k | if (unlikely (start_offset > count)) |
266 | 0 | count = 0; |
267 | 45.5k | else |
268 | 45.5k | count -= start_offset; |
269 | 45.5k | if (seg_count) |
270 | 45.5k | count = *seg_count = hb_min (count, *seg_count); |
271 | 45.5k | return hb_array_t (arrayZ + start_offset, count); |
272 | 45.5k | } Unexecuted instantiation: hb_array_t<AAT::FeatureName const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<AAT::SettingName const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<hb_ot_map_t::lookup_map_t const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<unsigned char>::sub_array(unsigned int, unsigned int*) const hb_array_t<OT::Index const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 260 | 42.8k | { | 261 | 42.8k | if (!start_offset && !seg_count) | 262 | 0 | return *this; | 263 | | | 264 | 42.8k | unsigned int count = length; | 265 | 42.8k | if (unlikely (start_offset > count)) | 266 | 0 | count = 0; | 267 | 42.8k | else | 268 | 42.8k | count -= start_offset; | 269 | 42.8k | if (seg_count) | 270 | 42.8k | count = *seg_count = hb_min (count, *seg_count); | 271 | 42.8k | return hb_array_t (arrayZ + start_offset, count); | 272 | 42.8k | } |
Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 3u> const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<OT::Record<OT::LangSys> const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<OT::HBFixed<OT::IntType<short, 2u>, 14u> const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<OT::HBFixed<OT::IntType<short, 2u>, 14u> >::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, void, true> const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<OT::Record<OT::Script> const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<OT::Record<OT::Feature> const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<OT::HBGlyphID16 const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<unsigned int const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<OT::TableRecord const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<unsigned int>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<OT::AxisRecord const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<OT::HBFixed<OT::IntType<int, 4u>, 16u> const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 4u> const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<OT::LayerRecord const>::sub_array(unsigned int, unsigned int*) const hb_array_t<char const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 260 | 1.15k | { | 261 | 1.15k | if (!start_offset && !seg_count) | 262 | 0 | return *this; | 263 | | | 264 | 1.15k | unsigned int count = length; | 265 | 1.15k | if (unlikely (start_offset > count)) | 266 | 0 | count = 0; | 267 | 1.15k | else | 268 | 1.15k | count -= start_offset; | 269 | 1.15k | if (seg_count) | 270 | 1.15k | count = *seg_count = hb_min (count, *seg_count); | 271 | 1.15k | return hb_array_t (arrayZ + start_offset, count); | 272 | 1.15k | } |
Unexecuted instantiation: hb_array_t<contour_point_t>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<unsigned char const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<OT::DataMap const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<hb_outline_point_t const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<OT::Record<OT::JstfLangSys> const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<OT::Record<OT::JstfScript> const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_array_t<CFF::number_t const>::sub_array(unsigned int, unsigned int*) const hb_array_t<hb_ot_map_t::lookup_map_t>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 260 | 1.53k | { | 261 | 1.53k | if (!start_offset && !seg_count) | 262 | 0 | return *this; | 263 | | | 264 | 1.53k | unsigned int count = length; | 265 | 1.53k | if (unlikely (start_offset > count)) | 266 | 0 | count = 0; | 267 | 1.53k | else | 268 | 1.53k | count -= start_offset; | 269 | 1.53k | if (seg_count) | 270 | 1.53k | count = *seg_count = hb_min (count, *seg_count); | 271 | 1.53k | return hb_array_t (arrayZ + start_offset, count); | 272 | 1.53k | } |
Unexecuted instantiation: hb_array_t<hb_ot_map_t::feature_map_t const>::sub_array(unsigned int, unsigned int*) const |
273 | | hb_array_t sub_array (unsigned int start_offset, unsigned int seg_count) const |
274 | 2.68k | { return sub_array (start_offset, &seg_count); } Unexecuted instantiation: hb_array_t<hb_ot_map_t::lookup_map_t const>::sub_array(unsigned int, unsigned int) const Unexecuted instantiation: hb_array_t<OT::HBFixed<OT::IntType<short, 2u>, 14u> const>::sub_array(unsigned int, unsigned int) const Unexecuted instantiation: hb_array_t<OT::HBFixed<OT::IntType<short, 2u>, 14u> >::sub_array(unsigned int, unsigned int) const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> const>::sub_array(unsigned int, unsigned int) const Unexecuted instantiation: hb_array_t<OT::HBGlyphID16 const>::sub_array(unsigned int, unsigned int) const Unexecuted instantiation: hb_array_t<unsigned int const>::sub_array(unsigned int, unsigned int) const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 4u> const>::sub_array(unsigned int, unsigned int) const Unexecuted instantiation: hb_array_t<OT::LayerRecord const>::sub_array(unsigned int, unsigned int) const hb_array_t<char const>::sub_array(unsigned int, unsigned int) const Line | Count | Source | 274 | 1.15k | { return sub_array (start_offset, &seg_count); } |
Unexecuted instantiation: hb_array_t<contour_point_t>::sub_array(unsigned int, unsigned int) const Unexecuted instantiation: hb_array_t<unsigned char const>::sub_array(unsigned int, unsigned int) const Unexecuted instantiation: hb_array_t<hb_outline_point_t const>::sub_array(unsigned int, unsigned int) const Unexecuted instantiation: hb_array_t<CFF::number_t const>::sub_array(unsigned int, unsigned int) const hb_array_t<hb_ot_map_t::lookup_map_t>::sub_array(unsigned int, unsigned int) const Line | Count | Source | 274 | 1.53k | { return sub_array (start_offset, &seg_count); } |
|
275 | | |
276 | | hb_array_t truncate (unsigned length) const { return sub_array (0, length); } |
277 | | |
278 | | template <typename T, |
279 | | unsigned P = sizeof (Type), |
280 | | hb_enable_if (P == 1)> |
281 | | const T *as () const |
282 | 1.05G | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } _ZNK10hb_array_tIKcE2asIN2OT4GDEFELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 158M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
_ZNK10hb_array_tIKcE2asIN2OT6Layout4GSUBELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 33.2M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
_ZNK10hb_array_tIKcE2asIN3AAT4morxELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 16.9M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
Unexecuted instantiation: _ZNK10hb_array_tIKcE2asIN3AAT4ltagELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v _ZNK10hb_array_tIKcE2asIN3AAT4mortELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 16.9M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
_ZNK10hb_array_tIKcE2asIN3AAT4kerxELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 8.91k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
Unexecuted instantiation: _ZNK10hb_array_tIKcE2asIN3AAT4ankrELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v _ZNK10hb_array_tIKcE2asIN3AAT4trakELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 8.85k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
Unexecuted instantiation: _ZNK10hb_array_tIKcE2asIN3AAT4featELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v _ZNK10hb_array_tIKcE2asIN2OT6Layout4GPOSELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 41.4M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
Unexecuted instantiation: _ZNK10hb_array_tIKcE2asIN2OT4STATELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v _ZNK10hb_array_tIKcE2asIN2OT16OpenTypeFontFileELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 55.6M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
_ZNK10hb_array_tIKcE2asIN2OT4cmapELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 120 | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
_ZNK10hb_array_tIKcE2asIN2OT3OS2ELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 17.9M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
_ZNK10hb_array_tIKcE2asIN2OT4MVARELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 17.4M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
Unexecuted instantiation: _ZNK10hb_array_tIKcE2asIN2OT4fvarELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Unexecuted instantiation: _ZNK10hb_array_tIKcE2asIN2OT4avarELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Unexecuted instantiation: _ZNK10hb_array_tIKcE2asIN2OT3SVGELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v _ZNK10hb_array_tIKcE2asIN2OT4CBDTELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 8.49M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
_ZNK10hb_array_tIKcE2asIN2OT4sbixELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 15.2M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
_ZNK10hb_array_tIKcE2asIN2OT4CBLCELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 13.4M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
Unexecuted instantiation: _ZNK10hb_array_tIKcE2asIN2OT4CPALELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v _ZNK10hb_array_tIKcE2asIN2OT4COLRELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 15.2M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
Unexecuted instantiation: _ZNK10hb_array_tIKcE2asIN2OT4sbix13accelerator_t9PNGHeaderELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v _ZNK10hb_array_tIKcE2asIN2OT4hheaELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 28.8M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
_ZNK10hb_array_tIKcE2asIN2OT4vheaELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 60 | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
_ZNK10hb_array_tIKcE2asIN2OT4maxpELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 180 | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
_ZNK10hb_array_tIKcE2asIN2OT9gvar_GVARINS3_7IntTypeItLj2EEELj1735811442EEELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 420 | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
Unexecuted instantiation: _ZNK10hb_array_tIKcE2asIN2OT9gvar_GVARINS3_7IntTypeIjLj3EEELj1196835154EEELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v _ZNK10hb_array_tIKcE2asIN2OT8hmtxvmtxINS3_4hmtxENS3_4hheaENS3_4HVAREEELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 515M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
Unexecuted instantiation: _ZNK10hb_array_tIKcE2asIN2OT8hmtxvmtxINS3_4vmtxENS3_4vheaENS3_4VVAREEELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Unexecuted instantiation: _ZNK10hb_array_tIKcE2asIN2OT18TupleVariationDataINS3_7IntTypeItLj2EEEEELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v _ZNK10hb_array_tIKcE2asIN2OT9glyf_impl11GlyphHeaderELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 6.71M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
_ZNK10hb_array_tIKcE2asIN2OT4headELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 13.4M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
_ZNK10hb_array_tIKcE2asIN2OT4locaELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 6.71M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
_ZNK10hb_array_tIKcE2asIN2OT4glyfELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 6.71M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
Unexecuted instantiation: _ZNK10hb_array_tIKcE2asIN2OT4cff1ELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Unexecuted instantiation: _ZNK10hb_array_tIKcE2asIN2OT4cff2ELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v _ZNK10hb_array_tIKcE2asIN2OT4kernELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 23.7M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
Unexecuted instantiation: _ZNK10hb_array_tIKcE2asIN2OT4metaELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v _ZNK10hb_array_tIKcE2asIN2OT4nameELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 2.35k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
_ZNK10hb_array_tIKcE2asIN2OT4postELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 1.87M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
_ZNK10hb_array_tIKcE2asIN2OT4HVARELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 42.4M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
Unexecuted instantiation: _ZNK10hb_array_tIKcE2asIN2OT4VVARELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v _ZNK10hb_array_tIKcE2asIN2OT4VORGELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 2.72M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
_ZNK10hb_array_tIKcE2asIN2OT4BASEELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEPKT_v Line | Count | Source | 282 | 234k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
|
283 | | |
284 | | template <typename T, |
285 | | unsigned P = sizeof (Type), |
286 | | hb_enable_if (P == 1)> |
287 | | bool check_range (const T *p, unsigned int size = T::static_size) const |
288 | 0 | { |
289 | 0 | return arrayZ <= ((const char *) p) |
290 | 0 | && ((const char *) p) <= arrayZ + length |
291 | 0 | && (unsigned int) (arrayZ + length - (const char *) p) >= size; |
292 | 0 | } Unexecuted instantiation: _ZNK10hb_array_tIKcE11check_rangeIN2OT7IntTypeItLj2EEELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEbPKT_j Unexecuted instantiation: _ZNK10hb_array_tIKcE11check_rangeIN2OT9glyf_impl20CompositeGlyphRecordELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEbPKT_j Unexecuted instantiation: _ZNK10hb_array_tIKcE11check_rangeIN2OT20TupleVariationHeaderELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEbPKT_j Unexecuted instantiation: _ZNK10hb_array_tIKcE11check_rangeIN2OT7IntTypeIhLj1EEELj1ETnPN12hb_enable_ifIXeqT0_Li1EEvE4typeELPv0EEEbPKT_j |
293 | | |
294 | | /* Only call if you allocated the underlying array using hb_malloc() or similar. */ |
295 | | void fini () |
296 | 0 | { hb_free ((void *) arrayZ); arrayZ = nullptr; length = 0; } |
297 | | |
298 | | template <typename hb_serialize_context_t, |
299 | | typename U = Type, |
300 | | hb_enable_if (!(sizeof (U) < sizeof (long long) && hb_is_trivially_copy_assignable(hb_decay<Type>)))> |
301 | | hb_array_t copy (hb_serialize_context_t *c) const |
302 | | { |
303 | | TRACE_SERIALIZE (this); |
304 | | auto* out = c->start_embed (arrayZ); |
305 | | if (unlikely (!c->extend_size (out, get_size (), false))) return_trace (hb_array_t ()); |
306 | | for (unsigned i = 0; i < length; i++) |
307 | | out[i] = arrayZ[i]; /* TODO: add version that calls c->copy() */ |
308 | | return_trace (hb_array_t (out, length)); |
309 | | } |
310 | | |
311 | | template <typename hb_serialize_context_t, |
312 | | typename U = Type, |
313 | | hb_enable_if (sizeof (U) < sizeof (long long) && hb_is_trivially_copy_assignable(hb_decay<Type>))> |
314 | | hb_array_t copy (hb_serialize_context_t *c) const |
315 | 0 | { |
316 | 0 | TRACE_SERIALIZE (this); |
317 | 0 | auto* out = c->start_embed (arrayZ); |
318 | 0 | if (unlikely (!c->extend_size (out, get_size (), false))) return_trace (hb_array_t ()); |
319 | 0 | hb_memcpy (out, arrayZ, get_size ()); |
320 | 0 | return_trace (hb_array_t (out, length)); |
321 | 0 | } Unexecuted instantiation: _ZNK10hb_array_tIKN2OT7IntTypeIjLj4EEEE4copyI22hb_serialize_context_tS3_TnPN12hb_enable_ifIXaaltstT0_Lm8EL_ZNSt3__117integral_constantIbLb1EE5valueEEEvE4typeELPv0EEES4_PT_ Unexecuted instantiation: _ZNK10hb_array_tIKN2OT5IndexEE4copyI22hb_serialize_context_tS2_TnPN12hb_enable_ifIXaaltstT0_Lm8EL_ZNSt3__117integral_constantIbLb1EE5valueEEEvE4typeELPv0EEES3_PT_ Unexecuted instantiation: _ZNK10hb_array_tIKN2OT11LayerRecordEE4copyI22hb_serialize_context_tS2_TnPN12hb_enable_ifIXaaltstT0_Lm8EL_ZNSt3__117integral_constantIbLb1EE5valueEEEvE4typeELPv0EEES3_PT_ Unexecuted instantiation: _ZNK10hb_array_tIKN2OT7IntTypeIhLj1EEEE4copyI22hb_serialize_context_tS3_TnPN12hb_enable_ifIXaaltstT0_Lm8EL_ZNSt3__117integral_constantIbLb1EE5valueEEEvE4typeELPv0EEES4_PT_ Unexecuted instantiation: _ZNK10hb_array_tIKcE4copyI22hb_serialize_context_tS0_TnPN12hb_enable_ifIXaaltstT0_Lm8EL_ZNSt3__117integral_constantIbLb1EE5valueEEEvE4typeELPv0EEES1_PT_ Unexecuted instantiation: _ZNK10hb_array_tIKN2OT3TagEE4copyI22hb_serialize_context_tS2_TnPN12hb_enable_ifIXaaltstT0_Lm8EL_ZNSt3__117integral_constantIbLb1EE5valueEEEvE4typeELPv0EEES3_PT_ |
322 | | |
323 | | template <typename hb_sanitize_context_t> |
324 | | bool sanitize (hb_sanitize_context_t *c) const |
325 | 0 | { return c->check_array (arrayZ, length); } Unexecuted instantiation: bool hb_array_t<OT::AxisRecord const>::sanitize<hb_sanitize_context_t>(hb_sanitize_context_t*) const Unexecuted instantiation: bool hb_array_t<unsigned char const>::sanitize<hb_sanitize_context_t>(hb_sanitize_context_t*) const |
326 | | |
327 | | /* |
328 | | * Members |
329 | | */ |
330 | | |
331 | | public: |
332 | | Type *arrayZ = nullptr; |
333 | | unsigned int length = 0; |
334 | | unsigned int backwards_length = 0; |
335 | | }; |
336 | | template <typename T> inline hb_array_t<T> |
337 | | hb_array () |
338 | | { return hb_array_t<T> (); } |
339 | | template <typename T> inline hb_array_t<T> |
340 | | hb_array (T *array, unsigned int length) |
341 | 78.2M | { return hb_array_t<T> (array, length); } Unexecuted instantiation: hb_array_t<OT::HBFixed<OT::IntType<int, 4u>, 16u> const> hb_array<OT::HBFixed<OT::IntType<int, 4u>, 16u> const>(OT::HBFixed<OT::IntType<int, 4u>, 16u> const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_aat_layout_feature_type_t> hb_array<hb_aat_layout_feature_type_t>(hb_aat_layout_feature_type_t*, unsigned int) Unexecuted instantiation: hb_array_t<AAT::SettingName const> hb_array<AAT::SettingName const>(AAT::SettingName const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_aat_layout_feature_selector_info_t> hb_array<hb_aat_layout_feature_selector_info_t>(hb_aat_layout_feature_selector_info_t*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<AAT::Feature const> hb_array<AAT::Feature const>(AAT::Feature const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_aat_map_builder_t::feature_info_t> hb_array<hb_aat_map_builder_t::feature_info_t>(hb_aat_map_builder_t::feature_info_t*, unsigned int) hb_array_t<hb_bit_set_t::page_map_t> hb_array<hb_bit_set_t::page_map_t>(hb_bit_set_t::page_map_t*, unsigned int) Line | Count | Source | 341 | 5.49M | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<hb_aat_map_t::range_flags_t> hb_array<hb_aat_map_t::range_flags_t>(hb_aat_map_t::range_flags_t*, unsigned int) Unexecuted instantiation: hb_array_t<hb_user_data_array_t::hb_user_data_item_t> hb_array<hb_user_data_array_t::hb_user_data_item_t>(hb_user_data_array_t::hb_user_data_item_t*, unsigned int) hb_array_t<hb_ot_map_t::feature_map_t> hb_array<hb_ot_map_t::feature_map_t>(hb_ot_map_t::feature_map_t*, unsigned int) Line | Count | Source | 341 | 94.4k | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<hb_ot_map_t::lookup_map_t const> hb_array<hb_ot_map_t::lookup_map_t const>(hb_ot_map_t::lookup_map_t const*, unsigned int) hb_array_t<hb_ot_map_t::lookup_map_t> hb_array<hb_ot_map_t::lookup_map_t>(hb_ot_map_t::lookup_map_t*, unsigned int) Line | Count | Source | 341 | 1.53k | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<hb_bit_page_t> hb_array<hb_bit_page_t>(hb_bit_page_t*, unsigned int) Unexecuted instantiation: hb_array_t<hb_serialize_context_t::object_t::link_t> hb_array<hb_serialize_context_t::object_t::link_t>(hb_serialize_context_t::object_t::link_t*, unsigned int) Unexecuted instantiation: hb_array_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*> hb_array<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t*>(hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t**, unsigned int) Unexecuted instantiation: hb_array_t<hb_serialize_context_t::object_t*> hb_array<hb_serialize_context_t::object_t*>(hb_serialize_context_t::object_t**, unsigned int) Unexecuted instantiation: hb_array_t<unsigned int const> hb_array<unsigned int const>(unsigned int const*, unsigned int) hb_array_t<OT::Index const> hb_array<OT::Index const>(OT::Index const*, unsigned int) Line | Count | Source | 341 | 42.8k | { return hb_array_t<T> (array, length); } |
hb_array_t<unsigned int> hb_array<unsigned int>(unsigned int*, unsigned int) Line | Count | Source | 341 | 42.8k | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 3u> const> hb_array<OT::IntType<unsigned int, 3u> const>(OT::IntType<unsigned int, 3u> const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_pair_t<unsigned int, unsigned int> > hb_array<hb_pair_t<unsigned int, unsigned int> >(hb_pair_t<unsigned int, unsigned int>*, unsigned int) Unexecuted instantiation: hb_array_t<unsigned char> hb_array<unsigned char>(unsigned char*, unsigned int) Unexecuted instantiation: hb_array_t<hb_inc_bimap_t> hb_array<hb_inc_bimap_t>(hb_inc_bimap_t*, unsigned int) Unexecuted instantiation: hb_array_t<float> hb_array<float>(float*, unsigned int) Unexecuted instantiation: hb_array_t<OT::FeatureTableSubstitutionRecord const> hb_array<OT::FeatureTableSubstitutionRecord const>(OT::FeatureTableSubstitutionRecord const*, unsigned int) hb_array_t<OT::HBFixed<OT::IntType<short, 2u>, 14u> const> hb_array<OT::HBFixed<OT::IntType<short, 2u>, 14u> const>(OT::HBFixed<OT::IntType<short, 2u>, 14u> const*, unsigned int) Line | Count | Source | 341 | 60 | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<bool> hb_array<bool>(bool*, unsigned int) Unexecuted instantiation: hb_array_t<char> hb_array<char>(char*, unsigned int) Unexecuted instantiation: hb_array_t<OT::delta_row_encoding_t> hb_array<OT::delta_row_encoding_t>(OT::delta_row_encoding_t*, unsigned int) Unexecuted instantiation: hb_array_t<hb_vector_t<int, false> const*> hb_array<hb_vector_t<int, false> const*>(hb_vector_t<int, false> const**, unsigned int) Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> const> hb_array<OT::IntType<unsigned short, 2u> const>(OT::IntType<unsigned short, 2u> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) hb_array_t<int> hb_array<int>(int*, unsigned int) Line | Count | Source | 341 | 6.71M | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, void, true> const> hb_array<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, void, true> const>(OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::LookupRecord const> hb_array<OT::LookupRecord const>(OT::LookupRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::Layout::GPOS_impl::EntryExitRecord const> hb_array<OT::Layout::GPOS_impl::EntryExitRecord const>(OT::Layout::GPOS_impl::EntryExitRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::Layout::GPOS_impl::MarkRecord const> hb_array<OT::Layout::GPOS_impl::MarkRecord const>(OT::Layout::GPOS_impl::MarkRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::AxisValueRecord const> hb_array<OT::AxisValueRecord const>(OT::AxisValueRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::StatAxisRecord const> hb_array<OT::StatAxisRecord const>(OT::StatAxisRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::HBGlyphID16 const> hb_array<OT::HBGlyphID16 const>(OT::HBGlyphID16 const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, void, true> const> hb_array<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, void, true> const>(OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_aat_map_builder_t::feature_event_t> hb_array<hb_aat_map_builder_t::feature_event_t>(hb_aat_map_builder_t::feature_event_t*, unsigned int) Unexecuted instantiation: hb_array_t<OT::ResourceRecord const> hb_array<OT::ResourceRecord const>(OT::ResourceRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::TableRecord const> hb_array<OT::TableRecord const>(OT::TableRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_pair_t<unsigned int, face_table_info_t> > hb_array<hb_pair_t<unsigned int, face_table_info_t> >(hb_pair_t<unsigned int, face_table_info_t>*, unsigned int) Unexecuted instantiation: hb_array_t<OT::TableRecord> hb_array<OT::TableRecord>(OT::TableRecord*, unsigned int) Unexecuted instantiation: hb_array_t<OT::AxisRecord const> hb_array<OT::AxisRecord const>(OT::AxisRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::AxisValueMap const> hb_array<OT::AxisValueMap const>(OT::AxisValueMap const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::AxisValueMap> hb_array<OT::AxisValueMap>(OT::AxisValueMap*, unsigned int) Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 4u> const> hb_array<OT::IntType<unsigned int, 4u> const>(OT::IntType<unsigned int, 4u> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::LayerRecord const> hb_array<OT::LayerRecord const>(OT::LayerRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_ot_color_layer_t> hb_array<hb_ot_color_layer_t>(hb_ot_color_layer_t*, unsigned int) Unexecuted instantiation: hb_array_t<OT::BitmapSizeTable const> hb_array<OT::BitmapSizeTable const>(OT::BitmapSizeTable const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::NoVariable<OT::ColorStop> const> hb_array<OT::NoVariable<OT::ColorStop> const>(OT::NoVariable<OT::ColorStop> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::Variable<OT::ColorStop> const> hb_array<OT::Variable<OT::ColorStop> const>(OT::Variable<OT::ColorStop> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, void, true> const> hb_array<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, void, true> const>(OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, void, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::LayerRecord> hb_array<OT::LayerRecord>(OT::LayerRecord*, unsigned int) Unexecuted instantiation: hb_array_t<OT::IntType<unsigned char, 1u> const> hb_array<OT::IntType<unsigned char, 1u> const>(OT::IntType<unsigned char, 1u> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::DeltaSetIndexMap const*> hb_array<OT::DeltaSetIndexMap const*>(OT::DeltaSetIndexMap const**, unsigned int) Unexecuted instantiation: hb_array_t<OT::index_map_subset_plan_t> hb_array<OT::index_map_subset_plan_t>(OT::index_map_subset_plan_t*, unsigned int) Unexecuted instantiation: hb_array_t<contour_point_t> hb_array<contour_point_t>(contour_point_t*, unsigned int) Unexecuted instantiation: hb_array_t<OT::glyf_impl::SubsetGlyph> hb_array<OT::glyf_impl::SubsetGlyph>(OT::glyf_impl::SubsetGlyph*, unsigned int) Unexecuted instantiation: hb_array_t<CFF::parsed_cs_str_t> hb_array<CFF::parsed_cs_str_t>(CFF::parsed_cs_str_t*, unsigned int) Unexecuted instantiation: hb_array_t<CFF::parsed_cs_op_t> hb_array<CFF::parsed_cs_op_t>(CFF::parsed_cs_op_t*, unsigned int) Unexecuted instantiation: hb_array_t<CFF::parsed_cs_str_vec_t> hb_array<CFF::parsed_cs_str_vec_t>(CFF::parsed_cs_str_vec_t*, unsigned int) Unexecuted instantiation: hb_array_t<hb_array_t<unsigned char const> > hb_array<hb_array_t<unsigned char const> >(hb_array_t<unsigned char const>*, unsigned int) Unexecuted instantiation: hb_array_t<OT::cff1::accelerator_t::gname_t> hb_array<OT::cff1::accelerator_t::gname_t>(OT::cff1::accelerator_t::gname_t*, unsigned int) Unexecuted instantiation: hb_array_t<OT::IntType<short, 2u> const> hb_array<OT::IntType<short, 2u> const>(OT::IntType<short, 2u> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::DataMap const> hb_array<OT::DataMap const>(OT::DataMap const*, unsigned int) Unexecuted instantiation: hb_array_t<hb_ot_meta_tag_t> hb_array<hb_ot_meta_tag_t>(hb_ot_meta_tag_t*, unsigned int) Unexecuted instantiation: hb_array_t<OT::NameRecord const> hb_array<OT::NameRecord const>(OT::NameRecord const*, unsigned int) hb_array_t<hb_ot_name_entry_t> hb_array<hb_ot_name_entry_t>(hb_ot_name_entry_t*, unsigned int) Line | Count | Source | 341 | 9 | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<hb_outline_point_t> hb_array<hb_outline_point_t>(hb_outline_point_t*, unsigned int) hb_array_t<int const> hb_array<int const>(int const*, unsigned int) Line | Count | Source | 341 | 65.8M | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<OT::Tag const> hb_array<OT::Tag const>(OT::Tag const*, unsigned int) hb_array_t<hb_ot_map_builder_t::feature_info_t> hb_array<hb_ot_map_builder_t::feature_info_t>(hb_ot_map_builder_t::feature_info_t*, unsigned int) Line | Count | Source | 341 | 7.31k | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<OT::HBGlyphID16> hb_array<OT::HBGlyphID16>(OT::HBGlyphID16*, unsigned int) |
342 | | template <typename T, unsigned int length_> inline hb_array_t<T> |
343 | | hb_array (T (&array_)[length_]) |
344 | 0 | { return hb_array_t<T> (array_); } |
345 | | |
346 | | template <typename Type> |
347 | | struct hb_sorted_array_t : |
348 | | hb_array_t<Type>, |
349 | | hb_iter_t<hb_sorted_array_t<Type>, Type&> |
350 | | { |
351 | | typedef hb_iter_t<hb_sorted_array_t, Type&> iter_base_t; |
352 | | HB_ITER_USING (iter_base_t); |
353 | | static constexpr bool is_random_access_iterator = true; |
354 | | static constexpr bool is_sorted_iterator = true; |
355 | | static constexpr bool has_fast_len = true; |
356 | | |
357 | | hb_sorted_array_t () = default; |
358 | | hb_sorted_array_t (const hb_sorted_array_t&) = default; |
359 | | ~hb_sorted_array_t () = default; |
360 | | hb_sorted_array_t& operator= (const hb_sorted_array_t&) = default; |
361 | | hb_sorted_array_t& operator= (hb_sorted_array_t&&) = default; |
362 | | |
363 | 196M | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} Unexecuted instantiation: hb_sorted_array_t<AAT::FeatureName const>::hb_sorted_array_t(AAT::FeatureName const*, unsigned int) hb_sorted_array_t<OT::HBGlyphID16 const>::hb_sorted_array_t(OT::HBGlyphID16 const*, unsigned int) Line | Count | Source | 363 | 136M | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const>::hb_sorted_array_t(OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const*, unsigned int) Line | Count | Source | 363 | 2.88M | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<AAT::KernPair const>::hb_sorted_array_t(AAT::KernPair const*, unsigned int) Line | Count | Source | 363 | 218k | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::TableRecord const>::hb_sorted_array_t(OT::TableRecord const*, unsigned int) Line | Count | Source | 363 | 55.6M | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::VariationSelectorRecord const>::hb_sorted_array_t(OT::VariationSelectorRecord const*, unsigned int) Line | Count | Source | 363 | 25.4k | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::UVSMapping const>::hb_sorted_array_t(OT::UVSMapping const*, unsigned int) Line | Count | Source | 363 | 25.4k | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::EncodingRecord const>::hb_sorted_array_t(OT::EncodingRecord const*, unsigned int) Line | Count | Source | 363 | 360 | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
Unexecuted instantiation: hb_sorted_array_t<OT::CmapSubtableLongGroup const>::hb_sorted_array_t(OT::CmapSubtableLongGroup const*, unsigned int) Unexecuted instantiation: hb_sorted_array_t<OT::BaseGlyphPaintRecord const>::hb_sorted_array_t(OT::BaseGlyphPaintRecord const*, unsigned int) Unexecuted instantiation: hb_sorted_array_t<OT::BaseGlyphRecord const>::hb_sorted_array_t(OT::BaseGlyphRecord const*, unsigned int) Unexecuted instantiation: hb_sorted_array_t<OT::SVGDocumentIndexEntry const>::hb_sorted_array_t(OT::SVGDocumentIndexEntry const*, unsigned int) hb_sorted_array_t<OT::UnicodeValueRange const>::hb_sorted_array_t(OT::UnicodeValueRange const*, unsigned int) Line | Count | Source | 363 | 25.4k | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
Unexecuted instantiation: hb_sorted_array_t<OT::VertOriginMetric const>::hb_sorted_array_t(OT::VertOriginMetric const*, unsigned int) Unexecuted instantiation: hb_sorted_array_t<OT::ClipRecord const>::hb_sorted_array_t(OT::ClipRecord const*, unsigned int) hb_sorted_array_t<OT::Record<OT::Script> const>::hb_sorted_array_t(OT::Record<OT::Script> const*, unsigned int) Line | Count | Source | 363 | 35.6k | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
Unexecuted instantiation: hb_sorted_array_t<OT::Record<OT::Feature> const>::hb_sorted_array_t(OT::Record<OT::Feature> const*, unsigned int) hb_sorted_array_t<OT::Record<OT::LangSys> const>::hb_sorted_array_t(OT::Record<OT::LangSys> const*, unsigned int) Line | Count | Source | 363 | 35.5k | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::BaseScriptRecord const>::hb_sorted_array_t(OT::BaseScriptRecord const*, unsigned int) Line | Count | Source | 363 | 469k | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
Unexecuted instantiation: hb_sorted_array_t<OT::BaseLangSysRecord const>::hb_sorted_array_t(OT::BaseLangSysRecord const*, unsigned int) Unexecuted instantiation: hb_sorted_array_t<OT::FeatMinMaxRecord const>::hb_sorted_array_t(OT::FeatMinMaxRecord const*, unsigned int) Unexecuted instantiation: hb_sorted_array_t<OT::Tag const>::hb_sorted_array_t(OT::Tag const*, unsigned int) hb_sorted_array_t<LangTag const>::hb_sorted_array_t(LangTag const*, unsigned int) Line | Count | Source | 363 | 1.02k | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
Unexecuted instantiation: hb_sorted_array_t<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> >::hb_sorted_array_t(OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes>*, unsigned int) Unexecuted instantiation: hb_sorted_array_t<OT::HBGlyphID16>::hb_sorted_array_t(OT::HBGlyphID16*, unsigned int) |
364 | | template <unsigned int length_> |
365 | 0 | constexpr hb_sorted_array_t (Type (&array_)[length_]) : hb_array_t<Type> (array_) {} Unexecuted instantiation: hb_sorted_array_t<hb_aat_feature_mapping_t const>::hb_sorted_array_t<78u>(hb_aat_feature_mapping_t const (&) [78u]) Unexecuted instantiation: hb_sorted_array_t<sid_to_gid_t const>::hb_sorted_array_t<165u>(sid_to_gid_t const (&) [165u]) Unexecuted instantiation: hb_sorted_array_t<sid_to_gid_t const>::hb_sorted_array_t<86u>(sid_to_gid_t const (&) [86u]) |
366 | | |
367 | | template <typename U, |
368 | | hb_enable_if (hb_is_cr_convertible(U, Type))> |
369 | | constexpr hb_sorted_array_t (const hb_array_t<U> &o) : |
370 | 5.59M | hb_array_t<Type> (o), |
371 | 5.59M | hb_iter_t<hb_sorted_array_t, Type&> () {} Unexecuted instantiation: _ZN17hb_sorted_array_tIKN3AAT11FeatureNameEEC2IS2_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S2_EE5valueEvE4typeELPv0EEERK10hb_array_tIS6_E Unexecuted instantiation: _ZN17hb_sorted_array_tIKN20hb_aat_map_builder_t14feature_info_tEEC2IS1_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S2_EE5valueEvE4typeELPv0EEERK10hb_array_tIS6_E _ZN17hb_sorted_array_tIKN12hb_bit_set_t10page_map_tEEC2IS1_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S2_EE5valueEvE4typeELPv0EEERK10hb_array_tIS6_E Line | Count | Source | 370 | 5.49M | hb_array_t<Type> (o), | 371 | 5.49M | hb_iter_t<hb_sorted_array_t, Type&> () {} |
Unexecuted instantiation: _ZN17hb_sorted_array_tIKN12hb_aat_map_t13range_flags_tEEC2IS1_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S2_EE5valueEvE4typeELPv0EEERK10hb_array_tIS6_E Unexecuted instantiation: _ZN17hb_sorted_array_tIN20hb_aat_map_builder_t15feature_event_tEEC2IS1_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S1_EE5valueEvE4typeELPv0EEERK10hb_array_tIS5_E Unexecuted instantiation: _ZN17hb_sorted_array_tIN20hb_aat_map_builder_t14feature_info_tEEC2IS1_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S1_EE5valueEvE4typeELPv0EEERK10hb_array_tIS5_E Unexecuted instantiation: _ZN17hb_sorted_array_tIKN2OT11TableRecordEEC2IS2_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S2_EE5valueEvE4typeELPv0EEERK10hb_array_tIS6_E Unexecuted instantiation: _ZN17hb_sorted_array_tI9hb_pair_tIj17face_table_info_tEEC2IS2_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S2_EE5valueEvE4typeELPv0EEERK10hb_array_tIS6_E Unexecuted instantiation: _ZN17hb_sorted_array_tIN2OT11TableRecordEEC2IS1_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S1_EE5valueEvE4typeELPv0EEERK10hb_array_tIS5_E Unexecuted instantiation: _ZN17hb_sorted_array_tIjEC2IjTnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_jEE5valueEvE4typeELPv0EEERK10hb_array_tIS3_E Unexecuted instantiation: _ZN17hb_sorted_array_tIN2OT4cff113accelerator_t7gname_tEEC2IS3_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S3_EE5valueEvE4typeELPv0EEERK10hb_array_tIS7_E Unexecuted instantiation: _ZN17hb_sorted_array_tIKN2OT6RecordINS0_6ScriptEEEEC2IS4_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S4_EE5valueEvE4typeELPv0EEERK10hb_array_tIS8_E Unexecuted instantiation: _ZN17hb_sorted_array_tIKN2OT6RecordINS0_7FeatureEEEEC2IS4_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S4_EE5valueEvE4typeELPv0EEERK10hb_array_tIS8_E Unexecuted instantiation: _ZN17hb_sorted_array_tIKN2OT6RecordINS0_7LangSysEEEEC2IS4_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S4_EE5valueEvE4typeELPv0EEERK10hb_array_tIS8_E _ZN17hb_sorted_array_tI18hb_ot_name_entry_tEC2IS0_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S0_EE5valueEvE4typeELPv0EEERK10hb_array_tIS4_E Line | Count | Source | 370 | 9 | hb_array_t<Type> (o), | 371 | 9 | hb_iter_t<hb_sorted_array_t, Type&> () {} |
_ZN17hb_sorted_array_tIKN11hb_ot_map_t13feature_map_tEEC2IS1_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S2_EE5valueEvE4typeELPv0EEERK10hb_array_tIS6_E Line | Count | Source | 370 | 92.9k | hb_array_t<Type> (o), | 371 | 92.9k | hb_iter_t<hb_sorted_array_t, Type&> () {} |
_ZN17hb_sorted_array_tIN19hb_ot_map_builder_t14feature_info_tEEC2IS1_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S1_EE5valueEvE4typeELPv0EEERK10hb_array_tIS5_E Line | Count | Source | 370 | 7.31k | hb_array_t<Type> (o), | 371 | 7.31k | hb_iter_t<hb_sorted_array_t, Type&> () {} |
_ZN17hb_sorted_array_tIN11hb_ot_map_t13feature_map_tEEC2IS1_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S1_EE5valueEvE4typeELPv0EEERK10hb_array_tIS5_E Line | Count | Source | 370 | 3.07k | hb_array_t<Type> (o), | 371 | 3.07k | hb_iter_t<hb_sorted_array_t, Type&> () {} |
_ZN17hb_sorted_array_tIN11hb_ot_map_t12lookup_map_tEEC2IS1_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S1_EE5valueEvE4typeELPv0EEERK10hb_array_tIS5_E Line | Count | Source | 370 | 1.53k | hb_array_t<Type> (o), | 371 | 1.53k | hb_iter_t<hb_sorted_array_t, Type&> () {} |
Unexecuted instantiation: _ZN17hb_sorted_array_tIKN11hb_ot_map_t13feature_map_tEEC2IS2_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S2_EE5valueEvE4typeELPv0EEERK10hb_array_tIS6_E Unexecuted instantiation: _ZN17hb_sorted_array_tIN2OT11HBGlyphID16EEC2IS1_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S1_EE5valueEvE4typeELPv0EEERK10hb_array_tIS5_E Unexecuted instantiation: _ZN17hb_sorted_array_tIN2OT6Layout6Common11RangeRecordINS1_10SmallTypesEEEEC2IS5_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S5_EE5valueEvE4typeELPv0EEERK10hb_array_tIS9_E Unexecuted instantiation: _ZN17hb_sorted_array_tIKN2OT11HBGlyphID16EEC2IS1_TnPN12hb_enable_ifIXsr20hb_is_cr_convertibleIT_S2_EE5valueEvE4typeELPv0EEERK10hb_array_tIS6_E |
372 | | template <typename U, |
373 | | hb_enable_if (hb_is_cr_convertible(U, Type))> |
374 | | hb_sorted_array_t& operator = (const hb_array_t<U> &o) |
375 | | { hb_array_t<Type> (*this) = o; return *this; } |
376 | | |
377 | | /* Iterator implementation. */ |
378 | | |
379 | | /* See comment in hb_array_of::operator != */ |
380 | | bool operator != (const hb_sorted_array_t& o) const |
381 | 0 | { return this->arrayZ != o.arrayZ || this->length != o.length; } Unexecuted instantiation: hb_sorted_array_t<OT::Record<OT::LangSys> const>::operator!=(hb_sorted_array_t<OT::Record<OT::LangSys> const> const&) const Unexecuted instantiation: hb_sorted_array_t<OT::Record<OT::Script> const>::operator!=(hb_sorted_array_t<OT::Record<OT::Script> const> const&) const Unexecuted instantiation: hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>::operator!=(hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const> const&) const Unexecuted instantiation: hb_sorted_array_t<OT::UVSMapping const>::operator!=(hb_sorted_array_t<OT::UVSMapping const> const&) const Unexecuted instantiation: hb_sorted_array_t<OT::EncodingRecord const>::operator!=(hb_sorted_array_t<OT::EncodingRecord const> const&) const Unexecuted instantiation: hb_sorted_array_t<OT::VertOriginMetric const>::operator!=(hb_sorted_array_t<OT::VertOriginMetric const> const&) const Unexecuted instantiation: hb_sorted_array_t<OT::HBGlyphID16>::operator!=(hb_sorted_array_t<OT::HBGlyphID16> const&) const |
382 | | |
383 | | /* Faster range-based for loop without bounds-check. */ |
384 | 0 | Type *begin () const { return this->arrayZ; } Unexecuted instantiation: hb_sorted_array_t<unsigned int const>::begin() const Unexecuted instantiation: hb_sorted_array_t<OT::HBGlyphID16 const>::begin() const Unexecuted instantiation: hb_sorted_array_t<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const>::begin() const Unexecuted instantiation: hb_sorted_array_t<OT::VariationSelectorRecord const>::begin() const Unexecuted instantiation: hb_sorted_array_t<OT::UVSMapping const>::begin() const Unexecuted instantiation: hb_sorted_array_t<OT::ClipRecord const>::begin() const Unexecuted instantiation: hb_sorted_array_t<OT::BaseGlyphPaintRecord const>::begin() const |
385 | 0 | Type *end () const { return this->arrayZ + this->length; } Unexecuted instantiation: hb_sorted_array_t<unsigned int const>::end() const Unexecuted instantiation: hb_sorted_array_t<OT::HBGlyphID16 const>::end() const Unexecuted instantiation: hb_sorted_array_t<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const>::end() const Unexecuted instantiation: hb_sorted_array_t<OT::VariationSelectorRecord const>::end() const Unexecuted instantiation: hb_sorted_array_t<OT::UVSMapping const>::end() const Unexecuted instantiation: hb_sorted_array_t<OT::ClipRecord const>::end() const Unexecuted instantiation: hb_sorted_array_t<OT::BaseGlyphPaintRecord const>::end() const |
386 | | |
387 | | |
388 | | hb_sorted_array_t sub_array (unsigned int start_offset, unsigned int *seg_count /* IN/OUT */) const |
389 | 0 | { return hb_sorted_array_t (((const hb_array_t<Type> *) (this))->sub_array (start_offset, seg_count)); } Unexecuted instantiation: hb_sorted_array_t<AAT::FeatureName const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_sorted_array_t<OT::Record<OT::LangSys> const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_sorted_array_t<OT::Record<OT::Script> const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_sorted_array_t<OT::Record<OT::Feature> const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_sorted_array_t<OT::TableRecord const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_sorted_array_t<OT::Record<OT::JstfLangSys> const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_sorted_array_t<OT::Record<OT::JstfScript> const>::sub_array(unsigned int, unsigned int*) const Unexecuted instantiation: hb_sorted_array_t<hb_ot_map_t::feature_map_t const>::sub_array(unsigned int, unsigned int*) const |
390 | | hb_sorted_array_t sub_array (unsigned int start_offset, unsigned int seg_count) const |
391 | | { return sub_array (start_offset, &seg_count); } |
392 | | |
393 | | hb_sorted_array_t truncate (unsigned length) const { return sub_array (0, length); } |
394 | | |
395 | | template <typename T> |
396 | | Type *bsearch (const T &x, Type *not_found = nullptr) |
397 | 3.71M | { |
398 | 3.71M | unsigned int i; |
399 | 3.71M | return bfind (x, &i) ? &this->arrayZ[i] : not_found; |
400 | 3.71M | } Unexecuted instantiation: AAT::FeatureName const* hb_sorted_array_t<AAT::FeatureName const>::bsearch<hb_aat_layout_feature_type_t>(hb_aat_layout_feature_type_t const&, AAT::FeatureName const*) Unexecuted instantiation: hb_aat_feature_mapping_t const* hb_sorted_array_t<hb_aat_feature_mapping_t const>::bsearch<unsigned int>(unsigned int const&, hb_aat_feature_mapping_t const*) Unexecuted instantiation: hb_aat_map_builder_t::feature_info_t const* hb_sorted_array_t<hb_aat_map_builder_t::feature_info_t const>::bsearch<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 const*) OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const* hb_sorted_array_t<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const>::bsearch<unsigned int>(unsigned int const&, OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const*) Line | Count | Source | 397 | 2.88M | { | 398 | 2.88M | unsigned int i; | 399 | 2.88M | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 400 | 2.88M | } |
AAT::KernPair const* hb_sorted_array_t<AAT::KernPair const>::bsearch<AAT::hb_glyph_pair_t>(AAT::hb_glyph_pair_t const&, AAT::KernPair const*) Line | Count | Source | 397 | 218k | { | 398 | 218k | unsigned int i; | 399 | 218k | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 400 | 218k | } |
hb_ot_map_t::feature_map_t const* hb_sorted_array_t<hb_ot_map_t::feature_map_t const>::bsearch<unsigned int>(unsigned int const&, hb_ot_map_t::feature_map_t const*) Line | Count | Source | 397 | 92.9k | { | 398 | 92.9k | unsigned int i; | 399 | 92.9k | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 400 | 92.9k | } |
OT::VariationSelectorRecord const* hb_sorted_array_t<OT::VariationSelectorRecord const>::bsearch<unsigned int>(unsigned int const&, OT::VariationSelectorRecord const*) Line | Count | Source | 397 | 25.4k | { | 398 | 25.4k | unsigned int i; | 399 | 25.4k | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 400 | 25.4k | } |
OT::EncodingRecord const* hb_sorted_array_t<OT::EncodingRecord const>::bsearch<OT::EncodingRecord>(OT::EncodingRecord const&, OT::EncodingRecord const*) Line | Count | Source | 397 | 360 | { | 398 | 360 | unsigned int i; | 399 | 360 | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 400 | 360 | } |
Unexecuted instantiation: OT::CmapSubtableLongGroup const* hb_sorted_array_t<OT::CmapSubtableLongGroup const>::bsearch<unsigned int>(unsigned int const&, OT::CmapSubtableLongGroup const*) Unexecuted instantiation: OT::OS2Range const* hb_sorted_array_t<OT::OS2Range const>::bsearch<unsigned int>(unsigned int const&, OT::OS2Range const*) Unexecuted instantiation: OT::UnicodeValueRange const* hb_sorted_array_t<OT::UnicodeValueRange const>::bsearch<unsigned int>(unsigned int const&, OT::UnicodeValueRange const*) OT::UVSMapping const* hb_sorted_array_t<OT::UVSMapping const>::bsearch<unsigned int>(unsigned int const&, OT::UVSMapping const*) Line | Count | Source | 397 | 25.4k | { | 398 | 25.4k | unsigned int i; | 399 | 25.4k | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 400 | 25.4k | } |
Unexecuted instantiation: OT::BaseGlyphPaintRecord const* hb_sorted_array_t<OT::BaseGlyphPaintRecord const>::bsearch<unsigned int>(unsigned int const&, OT::BaseGlyphPaintRecord const*) Unexecuted instantiation: OT::BaseGlyphRecord const* hb_sorted_array_t<OT::BaseGlyphRecord const>::bsearch<unsigned int>(unsigned int const&, OT::BaseGlyphRecord const*) Unexecuted instantiation: OT::SVGDocumentIndexEntry const* hb_sorted_array_t<OT::SVGDocumentIndexEntry const>::bsearch<unsigned int>(unsigned int const&, OT::SVGDocumentIndexEntry const*) Unexecuted instantiation: OT::ClipRecord const* hb_sorted_array_t<OT::ClipRecord const>::bsearch<unsigned int>(unsigned int const&, OT::ClipRecord const*) Unexecuted instantiation: OT::cff1::accelerator_t::gname_t* hb_sorted_array_t<OT::cff1::accelerator_t::gname_t>::bsearch<OT::cff1::accelerator_t::gname_t>(OT::cff1::accelerator_t::gname_t const&, OT::cff1::accelerator_t::gname_t*) OT::BaseScriptRecord const* hb_sorted_array_t<OT::BaseScriptRecord const>::bsearch<unsigned int>(unsigned int const&, OT::BaseScriptRecord const*) Line | Count | Source | 397 | 469k | { | 398 | 469k | unsigned int i; | 399 | 469k | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 400 | 469k | } |
Unexecuted instantiation: OT::BaseLangSysRecord const* hb_sorted_array_t<OT::BaseLangSysRecord const>::bsearch<unsigned int>(unsigned int const&, OT::BaseLangSysRecord const*) Unexecuted instantiation: OT::FeatMinMaxRecord const* hb_sorted_array_t<OT::FeatMinMaxRecord const>::bsearch<unsigned int>(unsigned int const&, OT::FeatMinMaxRecord const*) Unexecuted instantiation: sid_to_gid_t const* hb_sorted_array_t<sid_to_gid_t const>::bsearch<unsigned int>(unsigned int const&, sid_to_gid_t const*) |
401 | | template <typename T> |
402 | | const Type *bsearch (const T &x, const Type *not_found = nullptr) const |
403 | | { |
404 | | unsigned int i; |
405 | | return bfind (x, &i) ? &this->arrayZ[i] : not_found; |
406 | | } |
407 | | template <typename T> |
408 | | bool bfind (const T &x, unsigned int *i = nullptr, |
409 | | hb_not_found_t not_found = HB_NOT_FOUND_DONT_STORE, |
410 | | unsigned int to_store = (unsigned int) -1) const |
411 | 201M | { |
412 | 201M | unsigned pos; |
413 | | |
414 | 201M | if (bsearch_impl (x, &pos)) |
415 | 11.8M | { |
416 | 11.8M | if (i) |
417 | 11.8M | *i = pos; |
418 | 11.8M | return true; |
419 | 11.8M | } |
420 | | |
421 | 189M | if (i) |
422 | 189M | { |
423 | 189M | switch (not_found) |
424 | 189M | { |
425 | 2.18M | case HB_NOT_FOUND_DONT_STORE: |
426 | 2.18M | break; |
427 | | |
428 | 184M | case HB_NOT_FOUND_STORE: |
429 | 184M | *i = to_store; |
430 | 184M | break; |
431 | | |
432 | 3.15M | case HB_NOT_FOUND_STORE_CLOSEST: |
433 | 3.15M | *i = pos; |
434 | 3.15M | break; |
435 | 189M | } |
436 | 189M | } |
437 | 189M | return false; |
438 | 189M | } Unexecuted instantiation: bool hb_sorted_array_t<AAT::FeatureName const>::bfind<hb_aat_layout_feature_type_t>(hb_aat_layout_feature_type_t const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_sorted_array_t<hb_aat_feature_mapping_t const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_sorted_array_t<hb_aat_map_builder_t::feature_info_t const>::bfind<hb_aat_map_builder_t::feature_info_t>(hb_aat_map_builder_t::feature_info_t const&, unsigned int*, hb_not_found_t, unsigned int) const bool hb_sorted_array_t<hb_bit_set_t::page_map_t const>::bfind<hb_bit_set_t::page_map_t>(hb_bit_set_t::page_map_t const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 411 | 5.49M | { | 412 | 5.49M | unsigned pos; | 413 | | | 414 | 5.49M | if (bsearch_impl (x, &pos)) | 415 | 1.43M | { | 416 | 1.43M | if (i) | 417 | 1.43M | *i = pos; | 418 | 1.43M | return true; | 419 | 1.43M | } | 420 | | | 421 | 4.05M | if (i) | 422 | 4.05M | { | 423 | 4.05M | switch (not_found) | 424 | 4.05M | { | 425 | 901k | case HB_NOT_FOUND_DONT_STORE: | 426 | 901k | break; | 427 | | | 428 | 0 | case HB_NOT_FOUND_STORE: | 429 | 0 | *i = to_store; | 430 | 0 | break; | 431 | | | 432 | 3.15M | case HB_NOT_FOUND_STORE_CLOSEST: | 433 | 3.15M | *i = pos; | 434 | 3.15M | break; | 435 | 4.05M | } | 436 | 4.05M | } | 437 | 4.05M | return false; | 438 | 4.05M | } |
bool hb_sorted_array_t<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 411 | 2.88M | { | 412 | 2.88M | unsigned pos; | 413 | | | 414 | 2.88M | if (bsearch_impl (x, &pos)) | 415 | 2.30M | { | 416 | 2.30M | if (i) | 417 | 2.30M | *i = pos; | 418 | 2.30M | return true; | 419 | 2.30M | } | 420 | | | 421 | 581k | if (i) | 422 | 581k | { | 423 | 581k | switch (not_found) | 424 | 581k | { | 425 | 581k | case HB_NOT_FOUND_DONT_STORE: | 426 | 581k | break; | 427 | | | 428 | 0 | case HB_NOT_FOUND_STORE: | 429 | 0 | *i = to_store; | 430 | 0 | break; | 431 | | | 432 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 433 | 0 | *i = pos; | 434 | 0 | break; | 435 | 581k | } | 436 | 581k | } | 437 | 581k | return false; | 438 | 581k | } |
bool hb_sorted_array_t<OT::HBGlyphID16 const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 411 | 136M | { | 412 | 136M | unsigned pos; | 413 | | | 414 | 136M | if (bsearch_impl (x, &pos)) | 415 | 901k | { | 416 | 901k | if (i) | 417 | 901k | *i = pos; | 418 | 901k | return true; | 419 | 901k | } | 420 | | | 421 | 135M | if (i) | 422 | 135M | { | 423 | 135M | switch (not_found) | 424 | 135M | { | 425 | 0 | case HB_NOT_FOUND_DONT_STORE: | 426 | 0 | break; | 427 | | | 428 | 135M | case HB_NOT_FOUND_STORE: | 429 | 135M | *i = to_store; | 430 | 135M | break; | 431 | | | 432 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 433 | 0 | *i = pos; | 434 | 0 | break; | 435 | 135M | } | 436 | 135M | } | 437 | 135M | return false; | 438 | 135M | } |
bool hb_sorted_array_t<AAT::KernPair const>::bfind<AAT::hb_glyph_pair_t>(AAT::hb_glyph_pair_t const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 411 | 218k | { | 412 | 218k | unsigned pos; | 413 | | | 414 | 218k | if (bsearch_impl (x, &pos)) | 415 | 115k | { | 416 | 115k | if (i) | 417 | 115k | *i = pos; | 418 | 115k | return true; | 419 | 115k | } | 420 | | | 421 | 102k | if (i) | 422 | 102k | { | 423 | 102k | switch (not_found) | 424 | 102k | { | 425 | 102k | case HB_NOT_FOUND_DONT_STORE: | 426 | 102k | break; | 427 | | | 428 | 0 | case HB_NOT_FOUND_STORE: | 429 | 0 | *i = to_store; | 430 | 0 | break; | 431 | | | 432 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 433 | 0 | *i = pos; | 434 | 0 | break; | 435 | 102k | } | 436 | 102k | } | 437 | 102k | return false; | 438 | 102k | } |
bool hb_sorted_array_t<hb_ot_map_t::feature_map_t const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 411 | 92.9k | { | 412 | 92.9k | unsigned pos; | 413 | | | 414 | 92.9k | if (bsearch_impl (x, &pos)) | 415 | 14.5k | { | 416 | 14.5k | if (i) | 417 | 14.5k | *i = pos; | 418 | 14.5k | return true; | 419 | 14.5k | } | 420 | | | 421 | 78.3k | if (i) | 422 | 78.3k | { | 423 | 78.3k | switch (not_found) | 424 | 78.3k | { | 425 | 78.3k | case HB_NOT_FOUND_DONT_STORE: | 426 | 78.3k | break; | 427 | | | 428 | 0 | case HB_NOT_FOUND_STORE: | 429 | 0 | *i = to_store; | 430 | 0 | break; | 431 | | | 432 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 433 | 0 | *i = pos; | 434 | 0 | break; | 435 | 78.3k | } | 436 | 78.3k | } | 437 | 78.3k | return false; | 438 | 78.3k | } |
bool hb_sorted_array_t<hb_bit_set_t::page_map_t const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 411 | 121 | { | 412 | 121 | unsigned pos; | 413 | | | 414 | 121 | if (bsearch_impl (x, &pos)) | 415 | 121 | { | 416 | 121 | if (i) | 417 | 121 | *i = pos; | 418 | 121 | return true; | 419 | 121 | } | 420 | | | 421 | 0 | if (i) | 422 | 0 | { | 423 | 0 | switch (not_found) | 424 | 0 | { | 425 | 0 | case HB_NOT_FOUND_DONT_STORE: | 426 | 0 | break; | 427 | | | 428 | 0 | case HB_NOT_FOUND_STORE: | 429 | 0 | *i = to_store; | 430 | 0 | break; | 431 | | | 432 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 433 | 0 | *i = pos; | 434 | 0 | break; | 435 | 0 | } | 436 | 0 | } | 437 | 0 | return false; | 438 | 0 | } |
bool hb_sorted_array_t<OT::Record<OT::LangSys> const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 411 | 35.5k | { | 412 | 35.5k | unsigned pos; | 413 | | | 414 | 35.5k | if (bsearch_impl (x, &pos)) | 415 | 0 | { | 416 | 0 | if (i) | 417 | 0 | *i = pos; | 418 | 0 | return true; | 419 | 0 | } | 420 | | | 421 | 35.5k | if (i) | 422 | 35.5k | { | 423 | 35.5k | switch (not_found) | 424 | 35.5k | { | 425 | 0 | case HB_NOT_FOUND_DONT_STORE: | 426 | 0 | break; | 427 | | | 428 | 35.5k | case HB_NOT_FOUND_STORE: | 429 | 35.5k | *i = to_store; | 430 | 35.5k | break; | 431 | | | 432 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 433 | 0 | *i = pos; | 434 | 0 | break; | 435 | 35.5k | } | 436 | 35.5k | } | 437 | 35.5k | return false; | 438 | 35.5k | } |
bool hb_sorted_array_t<OT::Record<OT::Script> const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 411 | 35.6k | { | 412 | 35.6k | unsigned pos; | 413 | | | 414 | 35.6k | if (bsearch_impl (x, &pos)) | 415 | 17.7k | { | 416 | 17.7k | if (i) | 417 | 17.7k | *i = pos; | 418 | 17.7k | return true; | 419 | 17.7k | } | 420 | | | 421 | 17.9k | if (i) | 422 | 17.9k | { | 423 | 17.9k | switch (not_found) | 424 | 17.9k | { | 425 | 0 | case HB_NOT_FOUND_DONT_STORE: | 426 | 0 | break; | 427 | | | 428 | 17.9k | case HB_NOT_FOUND_STORE: | 429 | 17.9k | *i = to_store; | 430 | 17.9k | break; | 431 | | | 432 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 433 | 0 | *i = pos; | 434 | 0 | break; | 435 | 17.9k | } | 436 | 17.9k | } | 437 | 17.9k | return false; | 438 | 17.9k | } |
Unexecuted instantiation: bool hb_sorted_array_t<OT::Record<OT::Feature> const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const bool hb_sorted_array_t<OT::TableRecord const>::bfind<OT::Tag>(OT::Tag const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 411 | 55.6M | { | 412 | 55.6M | unsigned pos; | 413 | | | 414 | 55.6M | if (bsearch_impl (x, &pos)) | 415 | 7.05M | { | 416 | 7.05M | if (i) | 417 | 7.05M | *i = pos; | 418 | 7.05M | return true; | 419 | 7.05M | } | 420 | | | 421 | 48.6M | if (i) | 422 | 48.6M | { | 423 | 48.6M | switch (not_found) | 424 | 48.6M | { | 425 | 0 | case HB_NOT_FOUND_DONT_STORE: | 426 | 0 | break; | 427 | | | 428 | 48.6M | case HB_NOT_FOUND_STORE: | 429 | 48.6M | *i = to_store; | 430 | 48.6M | break; | 431 | | | 432 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 433 | 0 | *i = pos; | 434 | 0 | break; | 435 | 48.6M | } | 436 | 48.6M | } | 437 | 48.6M | return false; | 438 | 48.6M | } |
bool hb_sorted_array_t<OT::VariationSelectorRecord const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 411 | 25.4k | { | 412 | 25.4k | unsigned pos; | 413 | | | 414 | 25.4k | if (bsearch_impl (x, &pos)) | 415 | 0 | { | 416 | 0 | if (i) | 417 | 0 | *i = pos; | 418 | 0 | return true; | 419 | 0 | } | 420 | | | 421 | 25.4k | if (i) | 422 | 25.4k | { | 423 | 25.4k | switch (not_found) | 424 | 25.4k | { | 425 | 25.4k | case HB_NOT_FOUND_DONT_STORE: | 426 | 25.4k | break; | 427 | | | 428 | 0 | case HB_NOT_FOUND_STORE: | 429 | 0 | *i = to_store; | 430 | 0 | break; | 431 | | | 432 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 433 | 0 | *i = pos; | 434 | 0 | break; | 435 | 25.4k | } | 436 | 25.4k | } | 437 | 25.4k | return false; | 438 | 25.4k | } |
bool hb_sorted_array_t<OT::EncodingRecord const>::bfind<OT::EncodingRecord>(OT::EncodingRecord const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 411 | 360 | { | 412 | 360 | unsigned pos; | 413 | | | 414 | 360 | if (bsearch_impl (x, &pos)) | 415 | 60 | { | 416 | 60 | if (i) | 417 | 60 | *i = pos; | 418 | 60 | return true; | 419 | 60 | } | 420 | | | 421 | 300 | if (i) | 422 | 300 | { | 423 | 300 | switch (not_found) | 424 | 300 | { | 425 | 300 | case HB_NOT_FOUND_DONT_STORE: | 426 | 300 | break; | 427 | | | 428 | 0 | case HB_NOT_FOUND_STORE: | 429 | 0 | *i = to_store; | 430 | 0 | break; | 431 | | | 432 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 433 | 0 | *i = pos; | 434 | 0 | break; | 435 | 300 | } | 436 | 300 | } | 437 | 300 | return false; | 438 | 300 | } |
Unexecuted instantiation: bool hb_sorted_array_t<OT::CmapSubtableLongGroup const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_sorted_array_t<OT::OS2Range const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const bool hb_sorted_array_t<OT::UnicodeValueRange const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 411 | 25.4k | { | 412 | 25.4k | unsigned pos; | 413 | | | 414 | 25.4k | if (bsearch_impl (x, &pos)) | 415 | 0 | { | 416 | 0 | if (i) | 417 | 0 | *i = pos; | 418 | 0 | return true; | 419 | 0 | } | 420 | | | 421 | 25.4k | if (i) | 422 | 0 | { | 423 | 0 | switch (not_found) | 424 | 0 | { | 425 | 0 | case HB_NOT_FOUND_DONT_STORE: | 426 | 0 | break; | 427 | | | 428 | 0 | case HB_NOT_FOUND_STORE: | 429 | 0 | *i = to_store; | 430 | 0 | break; | 431 | | | 432 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 433 | 0 | *i = pos; | 434 | 0 | break; | 435 | 0 | } | 436 | 0 | } | 437 | 25.4k | return false; | 438 | 25.4k | } |
bool hb_sorted_array_t<OT::UVSMapping const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 411 | 25.4k | { | 412 | 25.4k | unsigned pos; | 413 | | | 414 | 25.4k | if (bsearch_impl (x, &pos)) | 415 | 0 | { | 416 | 0 | if (i) | 417 | 0 | *i = pos; | 418 | 0 | return true; | 419 | 0 | } | 420 | | | 421 | 25.4k | if (i) | 422 | 25.4k | { | 423 | 25.4k | switch (not_found) | 424 | 25.4k | { | 425 | 25.4k | case HB_NOT_FOUND_DONT_STORE: | 426 | 25.4k | break; | 427 | | | 428 | 0 | case HB_NOT_FOUND_STORE: | 429 | 0 | *i = to_store; | 430 | 0 | break; | 431 | | | 432 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 433 | 0 | *i = pos; | 434 | 0 | break; | 435 | 25.4k | } | 436 | 25.4k | } | 437 | 25.4k | return false; | 438 | 25.4k | } |
Unexecuted instantiation: bool hb_sorted_array_t<OT::BaseGlyphPaintRecord const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_sorted_array_t<OT::BaseGlyphRecord const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_sorted_array_t<OT::SVGDocumentIndexEntry const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_sorted_array_t<OT::ClipRecord const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_sorted_array_t<OT::cff1::accelerator_t::gname_t>::bfind<OT::cff1::accelerator_t::gname_t>(OT::cff1::accelerator_t::gname_t const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_sorted_array_t<OT::VertOriginMetric const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const bool hb_sorted_array_t<OT::BaseScriptRecord const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 411 | 469k | { | 412 | 469k | unsigned pos; | 413 | | | 414 | 469k | if (bsearch_impl (x, &pos)) | 415 | 0 | { | 416 | 0 | if (i) | 417 | 0 | *i = pos; | 418 | 0 | return true; | 419 | 0 | } | 420 | | | 421 | 469k | if (i) | 422 | 469k | { | 423 | 469k | switch (not_found) | 424 | 469k | { | 425 | 469k | case HB_NOT_FOUND_DONT_STORE: | 426 | 469k | break; | 427 | | | 428 | 0 | case HB_NOT_FOUND_STORE: | 429 | 0 | *i = to_store; | 430 | 0 | break; | 431 | | | 432 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 433 | 0 | *i = pos; | 434 | 0 | break; | 435 | 469k | } | 436 | 469k | } | 437 | 469k | return false; | 438 | 469k | } |
Unexecuted instantiation: bool hb_sorted_array_t<OT::BaseLangSysRecord const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_sorted_array_t<OT::FeatMinMaxRecord const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_sorted_array_t<OT::Tag const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_sorted_array_t<OT::Record<OT::JstfLangSys> const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Unexecuted instantiation: bool hb_sorted_array_t<OT::Record<OT::JstfScript> const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const bool hb_sorted_array_t<LangTag const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 411 | 1.02k | { | 412 | 1.02k | unsigned pos; | 413 | | | 414 | 1.02k | if (bsearch_impl (x, &pos)) | 415 | 457 | { | 416 | 457 | if (i) | 417 | 457 | *i = pos; | 418 | 457 | return true; | 419 | 457 | } | 420 | | | 421 | 567 | if (i) | 422 | 567 | { | 423 | 567 | switch (not_found) | 424 | 567 | { | 425 | 567 | case HB_NOT_FOUND_DONT_STORE: | 426 | 567 | break; | 427 | | | 428 | 0 | case HB_NOT_FOUND_STORE: | 429 | 0 | *i = to_store; | 430 | 0 | break; | 431 | | | 432 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 433 | 0 | *i = pos; | 434 | 0 | break; | 435 | 567 | } | 436 | 567 | } | 437 | 567 | return false; | 438 | 567 | } |
Unexecuted instantiation: bool hb_sorted_array_t<sid_to_gid_t const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const |
439 | | template <typename T, typename ...Ts> |
440 | | bool bsearch_impl (const T &x, unsigned *pos, Ts... ds) const |
441 | 201M | { |
442 | 201M | return hb_bsearch_impl (pos, |
443 | 201M | x, |
444 | 201M | this->arrayZ, |
445 | 201M | this->length, |
446 | 201M | sizeof (Type), |
447 | 201M | _hb_cmp_method<T, Type, Ts...>, |
448 | 201M | std::forward<Ts> (ds)...); |
449 | 201M | } Unexecuted instantiation: bool hb_sorted_array_t<AAT::FeatureName const>::bsearch_impl<hb_aat_layout_feature_type_t>(hb_aat_layout_feature_type_t const&, unsigned int*) const Unexecuted instantiation: bool hb_sorted_array_t<hb_aat_feature_mapping_t const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Unexecuted instantiation: bool hb_sorted_array_t<hb_aat_map_builder_t::feature_info_t const>::bsearch_impl<hb_aat_map_builder_t::feature_info_t>(hb_aat_map_builder_t::feature_info_t const&, unsigned int*) const bool hb_sorted_array_t<hb_bit_set_t::page_map_t const>::bsearch_impl<hb_bit_set_t::page_map_t>(hb_bit_set_t::page_map_t const&, unsigned int*) const Line | Count | Source | 441 | 5.49M | { | 442 | 5.49M | return hb_bsearch_impl (pos, | 443 | 5.49M | x, | 444 | 5.49M | this->arrayZ, | 445 | 5.49M | this->length, | 446 | 5.49M | sizeof (Type), | 447 | 5.49M | _hb_cmp_method<T, Type, Ts...>, | 448 | 5.49M | std::forward<Ts> (ds)...); | 449 | 5.49M | } |
bool hb_sorted_array_t<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 441 | 2.88M | { | 442 | 2.88M | return hb_bsearch_impl (pos, | 443 | 2.88M | x, | 444 | 2.88M | this->arrayZ, | 445 | 2.88M | this->length, | 446 | 2.88M | sizeof (Type), | 447 | 2.88M | _hb_cmp_method<T, Type, Ts...>, | 448 | 2.88M | std::forward<Ts> (ds)...); | 449 | 2.88M | } |
bool hb_sorted_array_t<OT::HBGlyphID16 const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 441 | 136M | { | 442 | 136M | return hb_bsearch_impl (pos, | 443 | 136M | x, | 444 | 136M | this->arrayZ, | 445 | 136M | this->length, | 446 | 136M | sizeof (Type), | 447 | 136M | _hb_cmp_method<T, Type, Ts...>, | 448 | 136M | std::forward<Ts> (ds)...); | 449 | 136M | } |
bool hb_sorted_array_t<AAT::KernPair const>::bsearch_impl<AAT::hb_glyph_pair_t>(AAT::hb_glyph_pair_t const&, unsigned int*) const Line | Count | Source | 441 | 218k | { | 442 | 218k | return hb_bsearch_impl (pos, | 443 | 218k | x, | 444 | 218k | this->arrayZ, | 445 | 218k | this->length, | 446 | 218k | sizeof (Type), | 447 | 218k | _hb_cmp_method<T, Type, Ts...>, | 448 | 218k | std::forward<Ts> (ds)...); | 449 | 218k | } |
bool hb_sorted_array_t<hb_ot_map_t::feature_map_t const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 441 | 92.9k | { | 442 | 92.9k | return hb_bsearch_impl (pos, | 443 | 92.9k | x, | 444 | 92.9k | this->arrayZ, | 445 | 92.9k | this->length, | 446 | 92.9k | sizeof (Type), | 447 | 92.9k | _hb_cmp_method<T, Type, Ts...>, | 448 | 92.9k | std::forward<Ts> (ds)...); | 449 | 92.9k | } |
bool hb_sorted_array_t<hb_bit_set_t::page_map_t const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 441 | 121 | { | 442 | 121 | return hb_bsearch_impl (pos, | 443 | 121 | x, | 444 | 121 | this->arrayZ, | 445 | 121 | this->length, | 446 | 121 | sizeof (Type), | 447 | 121 | _hb_cmp_method<T, Type, Ts...>, | 448 | 121 | std::forward<Ts> (ds)...); | 449 | 121 | } |
bool hb_sorted_array_t<OT::Record<OT::LangSys> const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 441 | 35.5k | { | 442 | 35.5k | return hb_bsearch_impl (pos, | 443 | 35.5k | x, | 444 | 35.5k | this->arrayZ, | 445 | 35.5k | this->length, | 446 | 35.5k | sizeof (Type), | 447 | 35.5k | _hb_cmp_method<T, Type, Ts...>, | 448 | 35.5k | std::forward<Ts> (ds)...); | 449 | 35.5k | } |
bool hb_sorted_array_t<OT::Record<OT::Script> const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 441 | 35.6k | { | 442 | 35.6k | return hb_bsearch_impl (pos, | 443 | 35.6k | x, | 444 | 35.6k | this->arrayZ, | 445 | 35.6k | this->length, | 446 | 35.6k | sizeof (Type), | 447 | 35.6k | _hb_cmp_method<T, Type, Ts...>, | 448 | 35.6k | std::forward<Ts> (ds)...); | 449 | 35.6k | } |
Unexecuted instantiation: bool hb_sorted_array_t<OT::Record<OT::Feature> const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const bool hb_sorted_array_t<OT::TableRecord const>::bsearch_impl<OT::Tag>(OT::Tag const&, unsigned int*) const Line | Count | Source | 441 | 55.6M | { | 442 | 55.6M | return hb_bsearch_impl (pos, | 443 | 55.6M | x, | 444 | 55.6M | this->arrayZ, | 445 | 55.6M | this->length, | 446 | 55.6M | sizeof (Type), | 447 | 55.6M | _hb_cmp_method<T, Type, Ts...>, | 448 | 55.6M | std::forward<Ts> (ds)...); | 449 | 55.6M | } |
bool hb_sorted_array_t<OT::VariationSelectorRecord const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 441 | 25.4k | { | 442 | 25.4k | return hb_bsearch_impl (pos, | 443 | 25.4k | x, | 444 | 25.4k | this->arrayZ, | 445 | 25.4k | this->length, | 446 | 25.4k | sizeof (Type), | 447 | 25.4k | _hb_cmp_method<T, Type, Ts...>, | 448 | 25.4k | std::forward<Ts> (ds)...); | 449 | 25.4k | } |
bool hb_sorted_array_t<OT::EncodingRecord const>::bsearch_impl<OT::EncodingRecord>(OT::EncodingRecord const&, unsigned int*) const Line | Count | Source | 441 | 360 | { | 442 | 360 | return hb_bsearch_impl (pos, | 443 | 360 | x, | 444 | 360 | this->arrayZ, | 445 | 360 | this->length, | 446 | 360 | sizeof (Type), | 447 | 360 | _hb_cmp_method<T, Type, Ts...>, | 448 | 360 | std::forward<Ts> (ds)...); | 449 | 360 | } |
Unexecuted instantiation: bool hb_sorted_array_t<OT::CmapSubtableLongGroup const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Unexecuted instantiation: bool hb_sorted_array_t<OT::OS2Range const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const bool hb_sorted_array_t<OT::UnicodeValueRange const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 441 | 25.4k | { | 442 | 25.4k | return hb_bsearch_impl (pos, | 443 | 25.4k | x, | 444 | 25.4k | this->arrayZ, | 445 | 25.4k | this->length, | 446 | 25.4k | sizeof (Type), | 447 | 25.4k | _hb_cmp_method<T, Type, Ts...>, | 448 | 25.4k | std::forward<Ts> (ds)...); | 449 | 25.4k | } |
bool hb_sorted_array_t<OT::UVSMapping const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 441 | 25.4k | { | 442 | 25.4k | return hb_bsearch_impl (pos, | 443 | 25.4k | x, | 444 | 25.4k | this->arrayZ, | 445 | 25.4k | this->length, | 446 | 25.4k | sizeof (Type), | 447 | 25.4k | _hb_cmp_method<T, Type, Ts...>, | 448 | 25.4k | std::forward<Ts> (ds)...); | 449 | 25.4k | } |
Unexecuted instantiation: bool hb_sorted_array_t<OT::BaseGlyphPaintRecord const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Unexecuted instantiation: bool hb_sorted_array_t<OT::BaseGlyphRecord const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Unexecuted instantiation: bool hb_sorted_array_t<OT::SVGDocumentIndexEntry const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Unexecuted instantiation: bool hb_sorted_array_t<OT::ClipRecord const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Unexecuted instantiation: bool hb_sorted_array_t<OT::cff1::accelerator_t::gname_t>::bsearch_impl<OT::cff1::accelerator_t::gname_t>(OT::cff1::accelerator_t::gname_t const&, unsigned int*) const Unexecuted instantiation: bool hb_sorted_array_t<OT::VertOriginMetric const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const bool hb_sorted_array_t<OT::BaseScriptRecord const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 441 | 469k | { | 442 | 469k | return hb_bsearch_impl (pos, | 443 | 469k | x, | 444 | 469k | this->arrayZ, | 445 | 469k | this->length, | 446 | 469k | sizeof (Type), | 447 | 469k | _hb_cmp_method<T, Type, Ts...>, | 448 | 469k | std::forward<Ts> (ds)...); | 449 | 469k | } |
Unexecuted instantiation: bool hb_sorted_array_t<OT::BaseLangSysRecord const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Unexecuted instantiation: bool hb_sorted_array_t<OT::FeatMinMaxRecord const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Unexecuted instantiation: bool hb_sorted_array_t<OT::Tag const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Unexecuted instantiation: bool hb_sorted_array_t<OT::Record<OT::JstfLangSys> const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Unexecuted instantiation: bool hb_sorted_array_t<OT::Record<OT::JstfScript> const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const bool hb_sorted_array_t<LangTag const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 441 | 1.02k | { | 442 | 1.02k | return hb_bsearch_impl (pos, | 443 | 1.02k | x, | 444 | 1.02k | this->arrayZ, | 445 | 1.02k | this->length, | 446 | 1.02k | sizeof (Type), | 447 | 1.02k | _hb_cmp_method<T, Type, Ts...>, | 448 | 1.02k | std::forward<Ts> (ds)...); | 449 | 1.02k | } |
Unexecuted instantiation: bool hb_sorted_array_t<sid_to_gid_t const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const |
450 | | }; |
451 | | template <typename T> inline hb_sorted_array_t<T> |
452 | | hb_sorted_array (T *array, unsigned int length) |
453 | 196M | { return hb_sorted_array_t<T> (array, length); } Unexecuted instantiation: hb_sorted_array_t<AAT::FeatureName const> hb_sorted_array<AAT::FeatureName const>(AAT::FeatureName const*, unsigned int) hb_sorted_array_t<OT::HBGlyphID16 const> hb_sorted_array<OT::HBGlyphID16 const>(OT::HBGlyphID16 const*, unsigned int) Line | Count | Source | 453 | 136M | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const> hb_sorted_array<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const>(OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const*, unsigned int) Line | Count | Source | 453 | 2.88M | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<AAT::KernPair const> hb_sorted_array<AAT::KernPair const>(AAT::KernPair const*, unsigned int) Line | Count | Source | 453 | 218k | { return hb_sorted_array_t<T> (array, length); } |
Unexecuted instantiation: hb_sorted_array_t<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> > hb_sorted_array<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> >(OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes>*, unsigned int) Unexecuted instantiation: hb_sorted_array_t<OT::Record<OT::Feature> const> hb_sorted_array<OT::Record<OT::Feature> const>(OT::Record<OT::Feature> const*, unsigned int) hb_sorted_array_t<OT::Record<OT::LangSys> const> hb_sorted_array<OT::Record<OT::LangSys> const>(OT::Record<OT::LangSys> const*, unsigned int) Line | Count | Source | 453 | 35.5k | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<OT::Record<OT::Script> const> hb_sorted_array<OT::Record<OT::Script> const>(OT::Record<OT::Script> const*, unsigned int) Line | Count | Source | 453 | 35.6k | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<OT::TableRecord const> hb_sorted_array<OT::TableRecord const>(OT::TableRecord const*, unsigned int) Line | Count | Source | 453 | 55.6M | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<OT::VariationSelectorRecord const> hb_sorted_array<OT::VariationSelectorRecord const>(OT::VariationSelectorRecord const*, unsigned int) Line | Count | Source | 453 | 25.4k | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<OT::UVSMapping const> hb_sorted_array<OT::UVSMapping const>(OT::UVSMapping const*, unsigned int) Line | Count | Source | 453 | 25.4k | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<OT::EncodingRecord const> hb_sorted_array<OT::EncodingRecord const>(OT::EncodingRecord const*, unsigned int) Line | Count | Source | 453 | 360 | { return hb_sorted_array_t<T> (array, length); } |
Unexecuted instantiation: hb_sorted_array_t<OT::CmapSubtableLongGroup const> hb_sorted_array<OT::CmapSubtableLongGroup const>(OT::CmapSubtableLongGroup const*, unsigned int) hb_sorted_array_t<OT::UnicodeValueRange const> hb_sorted_array<OT::UnicodeValueRange const>(OT::UnicodeValueRange const*, unsigned int) Line | Count | Source | 453 | 25.4k | { return hb_sorted_array_t<T> (array, length); } |
Unexecuted instantiation: hb_sorted_array_t<OT::VariationSelectorRecord> hb_sorted_array<OT::VariationSelectorRecord>(OT::VariationSelectorRecord*, unsigned int) Unexecuted instantiation: hb_sorted_array_t<OT::BaseGlyphPaintRecord const> hb_sorted_array<OT::BaseGlyphPaintRecord const>(OT::BaseGlyphPaintRecord const*, unsigned int) Unexecuted instantiation: hb_sorted_array_t<OT::BaseGlyphRecord const> hb_sorted_array<OT::BaseGlyphRecord const>(OT::BaseGlyphRecord const*, unsigned int) Unexecuted instantiation: hb_sorted_array_t<OT::SVGDocumentIndexEntry const> hb_sorted_array<OT::SVGDocumentIndexEntry const>(OT::SVGDocumentIndexEntry const*, unsigned int) Unexecuted instantiation: hb_sorted_array_t<OT::ClipRecord const> hb_sorted_array<OT::ClipRecord const>(OT::ClipRecord const*, unsigned int) Unexecuted instantiation: hb_sorted_array_t<OT::VertOriginMetric const> hb_sorted_array<OT::VertOriginMetric const>(OT::VertOriginMetric const*, unsigned int) hb_sorted_array_t<OT::BaseScriptRecord const> hb_sorted_array<OT::BaseScriptRecord const>(OT::BaseScriptRecord const*, unsigned int) Line | Count | Source | 453 | 469k | { return hb_sorted_array_t<T> (array, length); } |
Unexecuted instantiation: hb_sorted_array_t<OT::BaseLangSysRecord const> hb_sorted_array<OT::BaseLangSysRecord const>(OT::BaseLangSysRecord const*, unsigned int) Unexecuted instantiation: hb_sorted_array_t<OT::FeatMinMaxRecord const> hb_sorted_array<OT::FeatMinMaxRecord const>(OT::FeatMinMaxRecord const*, unsigned int) Unexecuted instantiation: hb_sorted_array_t<OT::Tag const> hb_sorted_array<OT::Tag const>(OT::Tag const*, unsigned int) Unexecuted instantiation: hb_sorted_array_t<OT::Record<OT::JstfLangSys> const> hb_sorted_array<OT::Record<OT::JstfLangSys> const>(OT::Record<OT::JstfLangSys> const*, unsigned int) Unexecuted instantiation: hb_sorted_array_t<OT::Record<OT::JstfScript> const> hb_sorted_array<OT::Record<OT::JstfScript> const>(OT::Record<OT::JstfScript> const*, unsigned int) hb_sorted_array_t<LangTag const> hb_sorted_array<LangTag const>(LangTag const*, unsigned int) Line | Count | Source | 453 | 1.02k | { return hb_sorted_array_t<T> (array, length); } |
Unexecuted instantiation: hb_sorted_array_t<OT::HBGlyphID16> hb_sorted_array<OT::HBGlyphID16>(OT::HBGlyphID16*, unsigned int) |
454 | | template <typename T, unsigned int length_> inline hb_sorted_array_t<T> |
455 | | hb_sorted_array (T (&array_)[length_]) |
456 | 0 | { return hb_sorted_array_t<T> (array_); } Unexecuted instantiation: hb_sorted_array_t<hb_aat_feature_mapping_t const> hb_sorted_array<hb_aat_feature_mapping_t const, 78u>(hb_aat_feature_mapping_t const (&) [78u]) Unexecuted instantiation: hb_sorted_array_t<OT::OS2Range const> hb_sorted_array<OT::OS2Range const, 169u>(OT::OS2Range const (&) [169u]) Unexecuted instantiation: hb_sorted_array_t<sid_to_gid_t const> hb_sorted_array<sid_to_gid_t const, 165u>(sid_to_gid_t const (&) [165u]) Unexecuted instantiation: hb_sorted_array_t<sid_to_gid_t const> hb_sorted_array<sid_to_gid_t const, 86u>(sid_to_gid_t const (&) [86u]) |
457 | | |
458 | | template <typename T> |
459 | | inline bool hb_array_t<T>::operator == (const hb_array_t<T> &o) const |
460 | 0 | { |
461 | 0 | if (o.length != this->length) return false; |
462 | 0 | for (unsigned int i = 0; i < this->length; i++) { |
463 | 0 | if (this->arrayZ[i] != o.arrayZ[i]) return false; |
464 | 0 | } |
465 | 0 | return true; |
466 | 0 | } |
467 | | template <> |
468 | | inline bool hb_array_t<const char>::operator == (const hb_array_t<const char> &o) const |
469 | 0 | { |
470 | 0 | if (o.length != this->length) return false; |
471 | 0 | return 0 == hb_memcmp (arrayZ, o.arrayZ, length); |
472 | 0 | } |
473 | | template <> |
474 | | inline bool hb_array_t<const unsigned char>::operator == (const hb_array_t<const unsigned char> &o) const |
475 | 0 | { |
476 | 0 | if (o.length != this->length) return false; |
477 | 0 | return 0 == hb_memcmp (arrayZ, o.arrayZ, length); |
478 | 0 | } |
479 | | |
480 | | |
481 | | /* Specialize hash() for byte arrays. */ |
482 | | |
483 | | #ifndef HB_OPTIMIZE_SIZE_MORE |
484 | | template <> |
485 | | inline uint32_t hb_array_t<const char>::hash () const |
486 | 0 | { |
487 | | // https://github.com/harfbuzz/harfbuzz/pull/4228 |
488 | 0 | return fasthash32(arrayZ, length, 0xf437ffe6 /* magic? */); |
489 | 0 | } |
490 | | |
491 | | template <> |
492 | | inline uint32_t hb_array_t<const unsigned char>::hash () const |
493 | 0 | { |
494 | 0 | // https://github.com/harfbuzz/harfbuzz/pull/4228 |
495 | 0 | return fasthash32(arrayZ, length, 0xf437ffe6 /* magic? */); |
496 | 0 | } |
497 | | #endif |
498 | | |
499 | | |
500 | | typedef hb_array_t<const char> hb_bytes_t; |
501 | | typedef hb_array_t<const unsigned char> hb_ubytes_t; |
502 | | |
503 | | |
504 | | |
505 | | #endif /* HB_ARRAY_HH */ |