/src/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 | | /* |
51 | | * Constructors. |
52 | | */ |
53 | 4.16M | hb_array_t () = default; hb_array_t<char const>::hb_array_t() Line | Count | Source | 53 | 2.98M | hb_array_t () = default; |
hb_array_t<OT::HBFixed<OT::IntType<short, 2u>, 14u> const>::hb_array_t() Line | Count | Source | 53 | 9.12k | hb_array_t () = default; |
hb_array_t<int>::hb_array_t() Line | Count | Source | 53 | 33.0k | hb_array_t () = default; |
hb_array_t<unsigned char const>::hb_array_t() Line | Count | Source | 53 | 1.14M | hb_array_t () = default; |
|
54 | | hb_array_t (const hb_array_t&) = default; |
55 | | ~hb_array_t () = default; |
56 | | hb_array_t& operator= (const hb_array_t&) = default; |
57 | | hb_array_t& operator= (hb_array_t&&) = default; |
58 | | |
59 | 533M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {}hb_array_t<OT::IntType<short, 2u> const>::hb_array_t(OT::IntType<short, 2u> const*, unsigned int) Line | Count | Source | 59 | 1.77k | 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) hb_array_t<AAT::FeatureName const>::hb_array_t(AAT::FeatureName const*, unsigned int) Line | Count | Source | 59 | 834k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<hb_aat_layout_feature_type_t>::hb_array_t(hb_aat_layout_feature_type_t*, unsigned int) Line | Count | Source | 59 | 208k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<AAT::SettingName const>::hb_array_t(AAT::SettingName const*, unsigned int) Line | Count | Source | 59 | 417k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<hb_aat_layout_feature_selector_info_t>::hb_array_t(hb_aat_layout_feature_selector_info_t*, unsigned int) Line | Count | Source | 59 | 208k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<char const>::hb_array_t(char const*, unsigned int) Line | Count | Source | 59 | 211M | 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) hb_array_t<AAT::Feature const>::hb_array_t(AAT::Feature const*, unsigned int) Line | Count | Source | 59 | 120k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<hb_aat_map_builder_t::feature_info_t>::hb_array_t(hb_aat_map_builder_t::feature_info_t*, unsigned int) Line | Count | Source | 59 | 337k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<hb_aat_map_t::range_flags_t>::hb_array_t(hb_aat_map_t::range_flags_t*, unsigned int) Line | Count | Source | 59 | 162k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<hb_glyph_info_t>::hb_array_t(hb_glyph_info_t*, unsigned int) Line | Count | Source | 59 | 61.7k | 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 | 59 | 15.4k | 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 | 59 | 23.6M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> const>::hb_array_t(OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> const*, unsigned int) Line | Count | Source | 59 | 1.19M | 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 | 59 | 45.4M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::HBGlyphID24 const>::hb_array_t(OT::HBGlyphID24 const*, unsigned int) Line | Count | Source | 59 | 143k | 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 | 59 | 38.1k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<hb_aat_map_builder_t::feature_event_t>::hb_array_t(hb_aat_map_builder_t::feature_event_t*, unsigned int) Line | Count | Source | 59 | 120k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
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) Line | Count | Source | 59 | 616k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::TableRecord const>::hb_array_t(OT::TableRecord const*, unsigned int) Line | Count | Source | 59 | 7.98M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::ResourceRecord const>::hb_array_t(OT::ResourceRecord const*, unsigned int) Line | Count | Source | 59 | 4.57k | 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 | 59 | 1.86M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
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 | 59 | 3.25M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<hb_hashmap_t<unsigned int, unsigned int, true>::item_t>::hb_array_t(hb_hashmap_t<unsigned int, unsigned int, true>::item_t*, unsigned int) Line | Count | Source | 59 | 204k | 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 | 59 | 627k | 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 | 59 | 418k | 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 | 59 | 1.48M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::CmapSubtableLongGroup const>::hb_array_t(OT::CmapSubtableLongGroup const*, unsigned int) Line | Count | Source | 59 | 3.15M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::AxisRecord const>::hb_array_t(OT::AxisRecord const*, unsigned int) Line | Count | Source | 59 | 53.8k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::Index const>::hb_array_t(OT::Index const*, unsigned int) Line | Count | Source | 59 | 3.25M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::IntType<unsigned int, 4u> const>::hb_array_t(OT::IntType<unsigned int, 4u> const*, unsigned int) Line | Count | Source | 59 | 1.63k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::BaseGlyphPaintRecord const>::hb_array_t(OT::BaseGlyphPaintRecord const*, unsigned int) Line | Count | Source | 59 | 8.97k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::BaseGlyphRecord const>::hb_array_t(OT::BaseGlyphRecord const*, unsigned int) Line | Count | Source | 59 | 212k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::LayerRecord const>::hb_array_t(OT::LayerRecord const*, unsigned int) Line | Count | Source | 59 | 417k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<hb_ot_color_layer_t>::hb_array_t(hb_ot_color_layer_t*, unsigned int) hb_array_t<OT::SVGDocumentIndexEntry const>::hb_array_t(OT::SVGDocumentIndexEntry const*, unsigned int) Line | Count | Source | 59 | 208k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::UnicodeValueRange const>::hb_array_t(OT::UnicodeValueRange const*, unsigned int) Line | Count | Source | 59 | 210k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::VertOriginMetric const>::hb_array_t(OT::VertOriginMetric const*, unsigned int) Line | Count | Source | 59 | 960 | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<int>::hb_array_t(int*, unsigned int) Line | Count | Source | 59 | 219k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::contour_point_t>::hb_array_t(OT::contour_point_t*, unsigned int) Line | Count | Source | 59 | 987k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
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 | 59 | 14.8k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<unsigned char const>::hb_array_t(unsigned char const*, unsigned int) Line | Count | Source | 59 | 2.63M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::ClipRecord const>::hb_array_t(OT::ClipRecord const*, unsigned int) Line | Count | Source | 59 | 9.09k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::cff1::accelerator_t::gname_t>::hb_array_t(OT::cff1::accelerator_t::gname_t*, unsigned int) Line | Count | Source | 59 | 41.0k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::IntType<unsigned char, 1u> const>::hb_array_t(OT::IntType<unsigned char, 1u> const*, unsigned int) Line | Count | Source | 59 | 5.31k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::IntType<unsigned short, 2u> const>::hb_array_t(OT::IntType<unsigned short, 2u> const*, unsigned int) Line | Count | Source | 59 | 32.4M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true> const>::hb_array_t(OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, 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 | 59 | 2.02M | 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 | 59 | 581k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<unsigned long long const>::hb_array_t(unsigned long long const*, unsigned int) 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>, true> const>::hb_array_t(OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::hb_array_t(OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::hb_array_t(OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::hb_array_t(OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const*, unsigned int) hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::hb_array_t(OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Line | Count | Source | 59 | 48.3k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::hb_array_t(OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const>::hb_array_t(OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::hb_array_t(OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const*, unsigned int) hb_array_t<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::hb_array_t(OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Line | Count | Source | 59 | 32.4M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::hb_array_t(OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) hb_array_t<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true> const>::hb_array_t(OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Line | Count | Source | 59 | 973k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::IntType<unsigned int, 3u> const>::hb_array_t(OT::IntType<unsigned int, 3u> const*, unsigned int) Line | Count | Source | 59 | 417k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const>::hb_array_t(OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Line | Count | Source | 59 | 349 | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::hb_array_t(OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const>::hb_array_t(OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const*, unsigned int) hb_array_t<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::hb_array_t(OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Line | Count | Source | 59 | 3.79M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::hb_array_t(OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) hb_array_t<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const>::hb_array_t(OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Line | Count | Source | 59 | 432 | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::hb_array_t(OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const>::hb_array_t(OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, 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_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) hb_array_t<OT::BaseScriptRecord const>::hb_array_t(OT::BaseScriptRecord const*, unsigned int) Line | Count | Source | 59 | 417k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::Tag const>::hb_array_t(OT::Tag const*, unsigned int) Line | Count | Source | 59 | 5.08k | 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>::hb_array_t(OT::hb_accelerate_subtables_context_t::hb_applicable_t*, unsigned int) Line | Count | Source | 59 | 70.9M | 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 | 59 | 70.9M | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::MathGlyphVariantRecord const>::hb_array_t(OT::MathGlyphVariantRecord const*, unsigned int) Line | Count | Source | 59 | 417k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<hb_ot_math_glyph_variant_t>::hb_array_t(hb_ot_math_glyph_variant_t*, unsigned int) Line | Count | Source | 59 | 208k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::MathGlyphPartRecord const>::hb_array_t(OT::MathGlyphPartRecord const*, unsigned int) Line | Count | Source | 59 | 417k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<hb_ot_math_glyph_part_t>::hb_array_t(hb_ot_math_glyph_part_t*, unsigned int) Line | Count | Source | 59 | 208k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::DataMap const>::hb_array_t(OT::DataMap const*, unsigned int) Line | Count | Source | 59 | 208k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
Unexecuted instantiation: hb_array_t<hb_ot_meta_tag_t>::hb_array_t(hb_ot_meta_tag_t*, unsigned int) hb_array_t<OT::NameRecord const>::hb_array_t(OT::NameRecord const*, unsigned int) Line | Count | Source | 59 | 243k | 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 | 59 | 206k | 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 | 59 | 2.85M | 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) hb_array_t<CFF::number_t const>::hb_array_t(CFF::number_t const*, unsigned int) Line | Count | Source | 59 | 753k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
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 | 59 | 288k | 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 | 59 | 174k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<hb_serialize_context_t::object_t*>::hb_array_t(hb_serialize_context_t::object_t**, unsigned int) Line | Count | Source | 59 | 11.1k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<hb_serialize_context_t::object_t* const>::hb_array_t(hb_serialize_context_t::object_t* const*, unsigned int) Line | Count | Source | 59 | 11.1k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>::item_t>::hb_array_t(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>::item_t*, unsigned int) Line | Count | Source | 59 | 4.39k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<OT::HBGlyphID16>::hb_array_t(OT::HBGlyphID16*, unsigned int) Line | Count | Source | 59 | 10.4k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
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) Line | Count | Source | 59 | 3.90k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
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) Line | Count | Source | 59 | 3.90k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<unsigned int const>::hb_array_t(unsigned int const*, unsigned int) Line | Count | Source | 59 | 20.2k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
hb_array_t<hb_ot_map_t::lookup_map_t const>::hb_array_t(hb_ot_map_t::lookup_map_t const*, unsigned int) Line | Count | Source | 59 | 47.1k | 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 | 59 | 290k | constexpr hb_array_t (Type *array_, unsigned int length_) : arrayZ (array_), length (length_) {} |
|
60 | | template <unsigned int length_> |
61 | 376k | 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<unsigned long long const>::hb_array_t<8u>(unsigned long long const (&) [8u]) 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]) hb_array_t<CFF::number_t const>::hb_array_t<513u>(CFF::number_t const (&) [513u]) Line | Count | Source | 61 | 376k | constexpr hb_array_t (Type (&array_)[length_]) : hb_array_t (array_, length_) {} |
|
62 | | |
63 | | template <typename U, |
64 | | hb_enable_if (hb_is_cr_convertible(U, Type))> |
65 | | constexpr hb_array_t (const hb_array_t<U> &o) : |
66 | | hb_iter_with_fallback_t<hb_array_t, Type&> (), |
67 | 6.49M | arrayZ (o.arrayZ), length (o.length), backwards_length (o.backwards_length) {}hb_array_t<hb_aat_map_builder_t::feature_info_t const>::hb_array_t<hb_aat_map_builder_t::feature_info_t, (void*)0>(hb_array_t<hb_aat_map_builder_t::feature_info_t> const&) Line | Count | Source | 67 | 217k | arrayZ (o.arrayZ), length (o.length), backwards_length (o.backwards_length) {} |
hb_array_t<hb_aat_map_t::range_flags_t const>::hb_array_t<hb_aat_map_t::range_flags_t, (void*)0>(hb_array_t<hb_aat_map_t::range_flags_t> const&) Line | Count | Source | 67 | 162k | arrayZ (o.arrayZ), length (o.length), backwards_length (o.backwards_length) {} |
hb_array_t<hb_bit_set_t::page_map_t const>::hb_array_t<hb_bit_set_t::page_map_t, (void*)0>(hb_array_t<hb_bit_set_t::page_map_t> const&) Line | Count | Source | 67 | 3.25M | arrayZ (o.arrayZ), length (o.length), backwards_length (o.backwards_length) {} |
hb_array_t<hb_ot_map_t::feature_map_t const>::hb_array_t<hb_ot_map_t::feature_map_t, (void*)0>(hb_array_t<hb_ot_map_t::feature_map_t> const&) Line | Count | Source | 67 | 2.85M | arrayZ (o.arrayZ), length (o.length), backwards_length (o.backwards_length) {} |
hb_array_t<OT::HBGlyphID16 const>::hb_array_t<OT::HBGlyphID16, (void*)0>(hb_array_t<OT::HBGlyphID16> const&) Line | Count | Source | 67 | 2.63k | arrayZ (o.arrayZ), length (o.length), backwards_length (o.backwards_length) {} |
|
68 | | template <typename U, |
69 | | hb_enable_if (hb_is_cr_convertible(U, Type))> |
70 | | hb_array_t& operator = (const hb_array_t<U> &o) |
71 | | { arrayZ = o.arrayZ; length = o.length; backwards_length = o.backwards_length; return *this; } |
72 | | |
73 | | /* |
74 | | * Iterator implementation. |
75 | | */ |
76 | | typedef Type& __item_t__; |
77 | | static constexpr bool is_random_access_iterator = true; |
78 | | Type& __item_at__ (unsigned i) const |
79 | 176M | { |
80 | 176M | if (unlikely (i >= length)) return CrapOrNull (Type); |
81 | 176M | return arrayZ[i]; |
82 | 176M | } hb_array_t<OT::IntType<short, 2u> const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 1.31k | { | 80 | 1.31k | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 1.22k | return arrayZ[i]; | 82 | 1.31k | } |
Unexecuted instantiation: hb_array_t<OT::HBFixed<OT::IntType<int, 4u>, 16u> const>::__item_at__(unsigned int) const hb_array_t<hb_aat_layout_feature_type_t>::__item_at__(unsigned int) const Line | Count | Source | 79 | 222 | { | 80 | 222 | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 222 | return arrayZ[i]; | 82 | 222 | } |
hb_array_t<AAT::FeatureName const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 222 | { | 80 | 222 | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 222 | return arrayZ[i]; | 82 | 222 | } |
hb_array_t<AAT::SettingName const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 300 | { | 80 | 300 | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 288 | return arrayZ[i]; | 82 | 300 | } |
hb_array_t<hb_aat_layout_feature_selector_info_t>::__item_at__(unsigned int) const Line | Count | Source | 79 | 151 | { | 80 | 151 | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 151 | return arrayZ[i]; | 82 | 151 | } |
hb_array_t<hb_aat_map_t::range_flags_t const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 160k | { | 80 | 160k | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 160k | return arrayZ[i]; | 82 | 160k | } |
Unexecuted instantiation: hb_array_t<unsigned long long const>::__item_at__(unsigned int) const hb_array_t<unsigned int>::__item_at__(unsigned int) const Line | Count | Source | 79 | 5.56M | { | 80 | 5.56M | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 5.56M | return arrayZ[i]; | 82 | 5.56M | } |
Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, unsigned int, true>::item_t>::__item_at__(unsigned int) const hb_array_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t* const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 5.02k | { | 80 | 5.02k | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 5.02k | return arrayZ[i]; | 82 | 5.02k | } |
Unexecuted instantiation: hb_array_t<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>::item_t>::__item_at__(unsigned int) const hb_array_t<unsigned int const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 60.9k | { | 80 | 60.9k | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 60.9k | return arrayZ[i]; | 82 | 60.9k | } |
Unexecuted instantiation: hb_array_t<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> const>::__item_at__(unsigned int) const hb_array_t<OT::Index const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 3.87M | { | 80 | 3.87M | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 3.87M | return arrayZ[i]; | 82 | 3.87M | } |
hb_array_t<OT::IntType<unsigned int, 3u> const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 46 | { | 80 | 46 | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 46 | return arrayZ[i]; | 82 | 46 | } |
Unexecuted instantiation: hb_array_t<OT::Record<OT::Feature> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::Record<OT::LangSys> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::Record<OT::Script> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<hb_pair_t<unsigned int, unsigned int> 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<OT::FeatureTableSubstitutionRecord const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const hb_array_t<int>::__item_at__(unsigned int) const Line | Count | Source | 79 | 44.9M | { | 80 | 44.9M | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 44.9M | return arrayZ[i]; | 82 | 44.9M | } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const hb_array_t<OT::hb_accelerate_subtables_context_t::hb_applicable_t const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 68.9M | { | 80 | 68.9M | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 68.9M | return arrayZ[i]; | 82 | 68.9M | } |
Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::Layout::GPOS_impl::EntryExitRecord const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::Layout::GPOS_impl::MarkRecord const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const hb_array_t<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 32.4M | { | 80 | 32.4M | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 32.4M | return arrayZ[i]; | 82 | 32.4M | } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const hb_array_t<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 3.59M | { | 80 | 3.59M | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 3.59M | return arrayZ[i]; | 82 | 3.59M | } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::UVSMapping const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::VariationSelectorRecord const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::EncodingRecord const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::LayerRecord const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<hb_ot_color_layer_t>::__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 hb_array_t<OT::HBFixed<OT::IntType<short, 2u>, 14u> const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 3.35k | { | 80 | 3.35k | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 3.35k | return arrayZ[i]; | 82 | 3.35k | } |
hb_array_t<OT::contour_point_t>::__item_at__(unsigned int) const Line | Count | Source | 79 | 1.36M | { | 80 | 1.36M | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 1.36M | return arrayZ[i]; | 82 | 1.36M | } |
Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> >::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 4u> >::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, float, false>::item_t>::__item_at__(unsigned int) const hb_array_t<OT::ResourceRecord const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 4.57k | { | 80 | 4.57k | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 4.57k | return arrayZ[i]; | 82 | 4.57k | } |
Unexecuted instantiation: hb_array_t<OT::TableRecord const>::__item_at__(unsigned int) const hb_array_t<OT::AxisRecord const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 12.0k | { | 80 | 12.0k | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 12.0k | return arrayZ[i]; | 82 | 12.0k | } |
hb_array_t<OT::IntType<unsigned int, 4u> const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 1.30k | { | 80 | 1.30k | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 65 | return arrayZ[i]; | 82 | 1.30k | } |
Unexecuted instantiation: hb_array_t<hb_array_t<unsigned char const> const>::__item_at__(unsigned int) const hb_array_t<unsigned char const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 16.8k | { | 80 | 16.8k | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 8.09k | return arrayZ[i]; | 82 | 16.8k | } |
hb_array_t<OT::IntType<unsigned char, 1u> const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 4.85k | { | 80 | 4.85k | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 3.37k | return arrayZ[i]; | 82 | 4.85k | } |
Unexecuted instantiation: hb_array_t<OT::DataMap const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<hb_ot_meta_tag_t>::__item_at__(unsigned int) const hb_array_t<OT::NameRecord const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 12.1M | { | 80 | 12.1M | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 12.1M | return arrayZ[i]; | 82 | 12.1M | } |
hb_array_t<OT::HBGlyphID16 const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 108k | { | 80 | 108k | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 108k | return arrayZ[i]; | 82 | 108k | } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 273k | { | 80 | 273k | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 273k | return arrayZ[i]; | 82 | 273k | } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::HBGlyphID24 const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u>, true> 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>, true> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::VertOriginMetric const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::Record<OT::JstfLangSys> const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::Record<OT::JstfScript> const>::__item_at__(unsigned int) const hb_array_t<OT::MathGlyphVariantRecord const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 29 | { | 80 | 29 | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 29 | return arrayZ[i]; | 82 | 29 | } |
hb_array_t<hb_ot_math_glyph_variant_t>::__item_at__(unsigned int) const Line | Count | Source | 79 | 29 | { | 80 | 29 | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 29 | return arrayZ[i]; | 82 | 29 | } |
hb_array_t<OT::MathGlyphPartRecord const>::__item_at__(unsigned int) const Line | Count | Source | 79 | 8 | { | 80 | 8 | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 8 | return arrayZ[i]; | 82 | 8 | } |
hb_array_t<hb_ot_math_glyph_part_t>::__item_at__(unsigned int) const Line | Count | Source | 79 | 8 | { | 80 | 8 | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 8 | return arrayZ[i]; | 82 | 8 | } |
Unexecuted instantiation: hb_array_t<OT::MathValueRecord const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::MathKernInfoRecord const>::__item_at__(unsigned int) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true> const>::__item_at__(unsigned int) const hb_array_t<OT::HBGlyphID16>::__item_at__(unsigned int) const Line | Count | Source | 79 | 519k | { | 80 | 519k | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 519k | return arrayZ[i]; | 82 | 519k | } |
hb_array_t<hb_glyph_info_t>::__item_at__(unsigned int) const Line | Count | Source | 79 | 2.66M | { | 80 | 2.66M | if (unlikely (i >= length)) return CrapOrNull (Type); | 81 | 2.44M | return arrayZ[i]; | 82 | 2.66M | } |
|
83 | | void __forward__ (unsigned n) |
84 | 77.7M | { |
85 | 77.7M | if (unlikely (n > length)) |
86 | 3.99k | n = length; |
87 | 77.7M | length -= n; |
88 | 77.7M | backwards_length += n; |
89 | 77.7M | arrayZ += n; |
90 | 77.7M | } hb_array_t<hb_aat_layout_feature_type_t>::__forward__(unsigned int) Line | Count | Source | 84 | 222 | { | 85 | 222 | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 222 | length -= n; | 88 | 222 | backwards_length += n; | 89 | 222 | arrayZ += n; | 90 | 222 | } |
hb_array_t<AAT::FeatureName const>::__forward__(unsigned int) Line | Count | Source | 84 | 222 | { | 85 | 222 | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 222 | length -= n; | 88 | 222 | backwards_length += n; | 89 | 222 | arrayZ += n; | 90 | 222 | } |
hb_array_t<hb_aat_layout_feature_selector_info_t>::__forward__(unsigned int) Line | Count | Source | 84 | 151 | { | 85 | 151 | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 151 | length -= n; | 88 | 151 | backwards_length += n; | 89 | 151 | arrayZ += n; | 90 | 151 | } |
hb_array_t<AAT::SettingName const>::__forward__(unsigned int) Line | Count | Source | 84 | 151 | { | 85 | 151 | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 151 | length -= n; | 88 | 151 | backwards_length += n; | 89 | 151 | arrayZ += n; | 90 | 151 | } |
hb_array_t<hb_aat_map_t::range_flags_t const>::__forward__(unsigned int) Line | Count | Source | 84 | 2.37k | { | 85 | 2.37k | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 2.37k | length -= n; | 88 | 2.37k | backwards_length += n; | 89 | 2.37k | arrayZ += n; | 90 | 2.37k | } |
Unexecuted instantiation: hb_array_t<unsigned long long const>::__forward__(unsigned int) hb_array_t<unsigned int>::__forward__(unsigned int) Line | Count | Source | 84 | 5.56M | { | 85 | 5.56M | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 5.56M | length -= n; | 88 | 5.56M | backwards_length += n; | 89 | 5.56M | arrayZ += n; | 90 | 5.56M | } |
Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, unsigned int, true>::item_t>::__forward__(unsigned int) hb_array_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t* const>::__forward__(unsigned int) Line | Count | Source | 84 | 5.02k | { | 85 | 5.02k | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 5.02k | length -= n; | 88 | 5.02k | backwards_length += n; | 89 | 5.02k | arrayZ += n; | 90 | 5.02k | } |
hb_array_t<hb_serialize_context_t::object_t* const>::__forward__(unsigned int) Line | Count | Source | 84 | 11.1k | { | 85 | 11.1k | if (unlikely (n > length)) | 86 | 3.99k | n = length; | 87 | 11.1k | length -= n; | 88 | 11.1k | backwards_length += n; | 89 | 11.1k | arrayZ += n; | 90 | 11.1k | } |
Unexecuted instantiation: hb_array_t<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>::item_t>::__forward__(unsigned int) hb_array_t<unsigned int const>::__forward__(unsigned int) Line | Count | Source | 84 | 14.7k | { | 85 | 14.7k | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 14.7k | length -= n; | 88 | 14.7k | backwards_length += n; | 89 | 14.7k | arrayZ += n; | 90 | 14.7k | } |
Unexecuted instantiation: hb_array_t<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> const>::__forward__(unsigned int) hb_array_t<OT::Index const>::__forward__(unsigned int) Line | Count | Source | 84 | 3.87M | { | 85 | 3.87M | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 3.87M | length -= n; | 88 | 3.87M | backwards_length += n; | 89 | 3.87M | arrayZ += n; | 90 | 3.87M | } |
hb_array_t<OT::IntType<unsigned int, 3u> const>::__forward__(unsigned int) Line | Count | Source | 84 | 46 | { | 85 | 46 | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 46 | length -= n; | 88 | 46 | backwards_length += n; | 89 | 46 | arrayZ += n; | 90 | 46 | } |
Unexecuted instantiation: hb_array_t<OT::Record<OT::Feature> 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<OT::FeatureTableSubstitutionRecord const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) hb_array_t<int>::__forward__(unsigned int) Line | Count | Source | 84 | 44.9M | { | 85 | 44.9M | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 44.9M | length -= n; | 88 | 44.9M | backwards_length += n; | 89 | 44.9M | arrayZ += n; | 90 | 44.9M | } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) hb_array_t<OT::hb_accelerate_subtables_context_t::hb_applicable_t const>::__forward__(unsigned int) Line | Count | Source | 84 | 19.5M | { | 85 | 19.5M | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 19.5M | length -= n; | 88 | 19.5M | backwards_length += n; | 89 | 19.5M | arrayZ += n; | 90 | 19.5M | } |
Unexecuted instantiation: hb_array_t<OT::Layout::GPOS_impl::EntryExitRecord 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::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) hb_array_t<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) Line | Count | Source | 84 | 223k | { | 85 | 223k | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 223k | length -= n; | 88 | 223k | backwards_length += n; | 89 | 223k | arrayZ += n; | 90 | 223k | } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) hb_array_t<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) Line | Count | Source | 84 | 935k | { | 85 | 935k | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 935k | length -= n; | 88 | 935k | backwards_length += n; | 89 | 935k | arrayZ += n; | 90 | 935k | } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::UVSMapping const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::VariationSelectorRecord const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::EncodingRecord const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::LayerRecord const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<hb_ot_color_layer_t>::__forward__(unsigned int) hb_array_t<OT::contour_point_t>::__forward__(unsigned int) Line | Count | Source | 84 | 294k | { | 85 | 294k | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 294k | length -= n; | 88 | 294k | backwards_length += n; | 89 | 294k | arrayZ += n; | 90 | 294k | } |
Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> >::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 4u> >::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, float, false>::item_t>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::TableRecord const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::HBFixed<OT::IntType<int, 4u>, 16u> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 4u> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<hb_array_t<unsigned char const> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::DataMap const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<hb_ot_meta_tag_t>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::NameRecord const>::__forward__(unsigned int) hb_array_t<OT::HBGlyphID16 const>::__forward__(unsigned int) Line | Count | Source | 84 | 122k | { | 85 | 122k | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 122k | length -= n; | 88 | 122k | backwards_length += n; | 89 | 122k | arrayZ += n; | 90 | 122k | } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) Line | Count | Source | 84 | 273k | { | 85 | 273k | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 273k | length -= n; | 88 | 273k | backwards_length += n; | 89 | 273k | arrayZ += n; | 90 | 273k | } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::HBGlyphID24 const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::StatAxisRecord const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::VertOriginMetric const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::Record<OT::JstfLangSys> const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::Record<OT::JstfScript> const>::__forward__(unsigned int) hb_array_t<OT::MathGlyphVariantRecord const>::__forward__(unsigned int) Line | Count | Source | 84 | 208k | { | 85 | 208k | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 208k | length -= n; | 88 | 208k | backwards_length += n; | 89 | 208k | arrayZ += n; | 90 | 208k | } |
hb_array_t<hb_ot_math_glyph_variant_t>::__forward__(unsigned int) Line | Count | Source | 84 | 208k | { | 85 | 208k | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 208k | length -= n; | 88 | 208k | backwards_length += n; | 89 | 208k | arrayZ += n; | 90 | 208k | } |
hb_array_t<OT::MathGlyphPartRecord const>::__forward__(unsigned int) Line | Count | Source | 84 | 208k | { | 85 | 208k | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 208k | length -= n; | 88 | 208k | backwards_length += n; | 89 | 208k | arrayZ += n; | 90 | 208k | } |
hb_array_t<hb_ot_math_glyph_part_t>::__forward__(unsigned int) Line | Count | Source | 84 | 208k | { | 85 | 208k | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 208k | length -= n; | 88 | 208k | backwards_length += n; | 89 | 208k | arrayZ += n; | 90 | 208k | } |
Unexecuted instantiation: hb_array_t<OT::MathValueRecord const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::MathKernInfoRecord const>::__forward__(unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true> const>::__forward__(unsigned int) hb_array_t<OT::HBGlyphID16>::__forward__(unsigned int) Line | Count | Source | 84 | 521k | { | 85 | 521k | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 521k | length -= n; | 88 | 521k | backwards_length += n; | 89 | 521k | arrayZ += n; | 90 | 521k | } |
hb_array_t<hb_glyph_info_t>::__forward__(unsigned int) Line | Count | Source | 84 | 563k | { | 85 | 563k | if (unlikely (n > length)) | 86 | 0 | n = length; | 87 | 563k | length -= n; | 88 | 563k | backwards_length += n; | 89 | 563k | arrayZ += n; | 90 | 563k | } |
|
91 | | void __rewind__ (unsigned n) |
92 | 92.7k | { |
93 | 92.7k | if (unlikely (n > backwards_length)) |
94 | 0 | n = backwards_length; |
95 | 92.7k | length += n; |
96 | 92.7k | backwards_length -= n; |
97 | 92.7k | arrayZ -= n; |
98 | 92.7k | } |
99 | 184M | unsigned __len__ () const { return length; }hb_array_t<AAT::FeatureName const>::__len__() const Line | Count | Source | 99 | 208k | unsigned __len__ () const { return length; } |
hb_array_t<AAT::SettingName const>::__len__() const Line | Count | Source | 99 | 208k | unsigned __len__ () const { return length; } |
hb_array_t<hb_aat_map_t::range_flags_t const>::__len__() const Line | Count | Source | 99 | 165k | unsigned __len__ () const { return length; } |
Unexecuted instantiation: hb_array_t<unsigned long long const>::__len__() const hb_array_t<unsigned int>::__len__() const Line | Count | Source | 99 | 1.71M | unsigned __len__ () const { return length; } |
Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, unsigned int, true>::item_t>::__len__() const hb_array_t<hb_pool_t<hb_serialize_context_t::object_t, 32u>::chunk_t* const>::__len__() const Line | Count | Source | 99 | 8.93k | unsigned __len__ () const { return length; } |
Unexecuted instantiation: hb_array_t<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, 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 Unexecuted instantiation: hb_array_t<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> const>::__len__() const hb_array_t<OT::Index const>::__len__() const Line | Count | Source | 99 | 5.50M | unsigned __len__ () const { return length; } |
hb_array_t<OT::IntType<unsigned int, 3u> const>::__len__() const Line | Count | Source | 99 | 208k | unsigned __len__ () const { return length; } |
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<OT::FeatureTableSubstitutionRecord const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, true> const>::__len__() const hb_array_t<OT::HBGlyphID16 const>::__len__() const Line | Count | Source | 99 | 334k | unsigned __len__ () const { return length; } |
hb_array_t<OT::HBGlyphID24 const>::__len__() const Line | Count | Source | 99 | 2.22k | unsigned __len__ () const { return length; } |
hb_array_t<OT::hb_accelerate_subtables_context_t::hb_applicable_t const>::__len__() const Line | Count | Source | 99 | 90.4M | 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>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__len__() const hb_array_t<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__len__() const Line | Count | Source | 99 | 32.6M | unsigned __len__ () const { return length; } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__len__() const hb_array_t<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const>::__len__() const Line | Count | Source | 99 | 349 | unsigned __len__ () const { return length; } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__len__() const hb_array_t<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__len__() const Line | Count | Source | 99 | 4.73M | unsigned __len__ () const { return length; } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__len__() const hb_array_t<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const>::__len__() const Line | Count | Source | 99 | 432 | unsigned __len__ () const { return length; } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u>, true> 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 hb_array_t<int>::__len__() const Line | Count | Source | 99 | 45.3M | unsigned __len__ () const { return length; } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::LayerRecord const>::__len__() const hb_array_t<OT::contour_point_t>::__len__() const Line | Count | Source | 99 | 177k | unsigned __len__ () const { return length; } |
Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, float, false>::item_t>::__len__() const Unexecuted instantiation: hb_array_t<OT::TableRecord const>::__len__() const Unexecuted instantiation: hb_array_t<OT::HBFixed<OT::IntType<int, 4u>, 16u> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 4u> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned char, 1u> const>::__len__() const Unexecuted instantiation: hb_array_t<hb_array_t<unsigned char const> const>::__len__() const Unexecuted instantiation: hb_array_t<unsigned char 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::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__len__() const hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__len__() const Line | Count | Source | 99 | 321k | unsigned __len__ () const { return length; } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u>, 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>, true> const>::__len__() const Unexecuted instantiation: hb_array_t<OT::VertOriginMetric 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 hb_array_t<OT::MathGlyphVariantRecord const>::__len__() const Line | Count | Source | 99 | 208k | unsigned __len__ () const { return length; } |
hb_array_t<hb_ot_math_glyph_variant_t>::__len__() const Line | Count | Source | 99 | 208k | unsigned __len__ () const { return length; } |
hb_array_t<OT::MathGlyphPartRecord const>::__len__() const Line | Count | Source | 99 | 208k | unsigned __len__ () const { return length; } |
hb_array_t<hb_ot_math_glyph_part_t>::__len__() const Line | Count | Source | 99 | 208k | unsigned __len__ () const { return length; } |
Unexecuted instantiation: hb_array_t<OT::MathValueRecord const>::__len__() const Unexecuted instantiation: hb_array_t<OT::MathKernInfoRecord const>::__len__() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true> const>::__len__() const hb_array_t<OT::HBGlyphID16>::__len__() const Line | Count | Source | 99 | 138k | unsigned __len__ () const { return length; } |
hb_array_t<hb_glyph_info_t>::__len__() const Line | Count | Source | 99 | 1.85M | unsigned __len__ () const { return length; } |
|
100 | | /* Ouch. The operator== compares the contents of the array. For range-based for loops, |
101 | | * it's best if we can just compare arrayZ, though comparing contents is still fast, |
102 | | * but also would require that Type has operator==. As such, we optimize this operator |
103 | | * for range-based for loop and just compare arrayZ and length. |
104 | | * |
105 | | * The above comment is outdated now because we implemented separate begin/end to |
106 | | * objects that were using hb_array_t for range-based loop before. */ |
107 | | bool operator != (const hb_array_t& o) const |
108 | 520k | { return this->arrayZ != o.arrayZ || this->length != o.length; }Unexecuted instantiation: hb_array_t<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>::item_t>::operator!=(hb_array_t<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>::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, 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::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>, true> const>::operator!=(hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const> const&) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>::operator!=(hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, 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>, true> const>::operator!=(hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, true> const> const&) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::operator!=(hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const> const&) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const>::operator!=(hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const> const&) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>::operator!=(hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const> const&) const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 3u> const>::operator!=(hb_array_t<OT::IntType<unsigned int, 3u> const> const&) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const>::operator!=(hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const> const&) const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, true> const>::operator!=(hb_array_t<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, true> const> const&) const Unexecuted instantiation: hb_array_t<hb_hashmap_t<unsigned int, float, false>::item_t>::operator!=(hb_array_t<hb_hashmap_t<unsigned int, float, false>::item_t> const&) const Unexecuted instantiation: hb_array_t<hb_array_t<unsigned char const> const>::operator!=(hb_array_t<hb_array_t<unsigned char const> 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 const>::operator!=(hb_array_t<OT::HBGlyphID16 const> const&) const Unexecuted instantiation: hb_array_t<OT::HBGlyphID24 const>::operator!=(hb_array_t<OT::HBGlyphID24 const> const&) const hb_array_t<OT::MathGlyphVariantRecord const>::operator!=(hb_array_t<OT::MathGlyphVariantRecord const> const&) const Line | Count | Source | 108 | 208k | { return this->arrayZ != o.arrayZ || this->length != o.length; } |
hb_array_t<hb_ot_math_glyph_variant_t>::operator!=(hb_array_t<hb_ot_math_glyph_variant_t> const&) const Line | Count | Source | 108 | 29 | { return this->arrayZ != o.arrayZ || this->length != o.length; } |
hb_array_t<OT::MathGlyphPartRecord const>::operator!=(hb_array_t<OT::MathGlyphPartRecord const> const&) const Line | Count | Source | 108 | 208k | { return this->arrayZ != o.arrayZ || this->length != o.length; } |
hb_array_t<hb_ot_math_glyph_part_t>::operator!=(hb_array_t<hb_ot_math_glyph_part_t> const&) const Line | Count | Source | 108 | 8 | { return this->arrayZ != o.arrayZ || this->length != o.length; } |
hb_array_t<OT::HBGlyphID16>::operator!=(hb_array_t<OT::HBGlyphID16> const&) const Line | Count | Source | 108 | 102k | { return this->arrayZ != o.arrayZ || this->length != o.length; } |
|
109 | | |
110 | | /* Faster range-based for loop without bounds-check. */ |
111 | 676k | Type *begin () const { return arrayZ; }hb_array_t<hb_serialize_context_t::object_t* const>::begin() const Line | Count | Source | 111 | 11.1k | Type *begin () const { return arrayZ; } |
hb_array_t<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>::item_t>::begin() const Line | Count | Source | 111 | 4.39k | Type *begin () const { return arrayZ; } |
hb_array_t<hb_hashmap_t<unsigned int, unsigned int, true>::item_t>::begin() const Line | Count | Source | 111 | 204k | Type *begin () const { return arrayZ; } |
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<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<unsigned int, hb_pair_t<unsigned int, int>, false>::item_t>::begin() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true> const>::begin() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, 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>, true> const>::begin() const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 3u> 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 hb_array_t<OT::LayerRecord const>::begin() const Line | Count | Source | 111 | 2 | Type *begin () const { return arrayZ; } |
Unexecuted instantiation: hb_array_t<OT::glyf_impl::SubsetGlyph>::begin() const Unexecuted instantiation: hb_array_t<OT::BitmapSizeTable const>::begin() const Unexecuted instantiation: hb_array_t<OT::Index const>::begin() const Unexecuted instantiation: hb_array_t<hb_array_t<unsigned char const> const>::begin() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<hb_ot_name_record_ids_t, unsigned int, false>::item_t>::begin() const Unexecuted instantiation: hb_array_t<OT::NameRecord>::begin() const Unexecuted instantiation: hb_array_t<OT::AxisValueRecord const>::begin() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, true> const>::begin() const Unexecuted instantiation: hb_array_t<OT::MathGlyphPartRecord const>::begin() const Unexecuted instantiation: hb_array_t<OT::MathGlyphVariantRecord const>::begin() const hb_array_t<hb_ot_map_t::lookup_map_t const>::begin() const Line | Count | Source | 111 | 456k | Type *begin () const { return arrayZ; } |
|
112 | 676k | Type *end () const { return arrayZ + length; }hb_array_t<hb_serialize_context_t::object_t* const>::end() const Line | Count | Source | 112 | 11.1k | Type *end () const { return arrayZ + length; } |
hb_array_t<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>::item_t>::end() const Line | Count | Source | 112 | 4.39k | Type *end () const { return arrayZ + length; } |
hb_array_t<hb_hashmap_t<unsigned int, unsigned int, true>::item_t>::end() const Line | Count | Source | 112 | 204k | Type *end () const { return arrayZ + length; } |
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<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<unsigned int, hb_pair_t<unsigned int, int>, false>::item_t>::end() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true> const>::end() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, 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>, true> const>::end() const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 3u> 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 hb_array_t<OT::LayerRecord const>::end() const Line | Count | Source | 112 | 2 | Type *end () const { return arrayZ + length; } |
Unexecuted instantiation: hb_array_t<OT::glyf_impl::SubsetGlyph>::end() const Unexecuted instantiation: hb_array_t<OT::BitmapSizeTable const>::end() const Unexecuted instantiation: hb_array_t<OT::Index const>::end() const Unexecuted instantiation: hb_array_t<hb_array_t<unsigned char const> const>::end() const Unexecuted instantiation: hb_array_t<hb_hashmap_t<hb_ot_name_record_ids_t, unsigned int, false>::item_t>::end() const Unexecuted instantiation: hb_array_t<OT::NameRecord>::end() const Unexecuted instantiation: hb_array_t<OT::AxisValueRecord const>::end() const Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, true> const>::end() const Unexecuted instantiation: hb_array_t<OT::MathGlyphPartRecord const>::end() const Unexecuted instantiation: hb_array_t<OT::MathGlyphVariantRecord const>::end() const hb_array_t<hb_ot_map_t::lookup_map_t const>::end() const Line | Count | Source | 112 | 456k | Type *end () const { return arrayZ + length; } |
|
113 | | |
114 | | |
115 | | /* Extra operators. |
116 | | */ |
117 | 33.9M | Type * operator & () const { return arrayZ; }hb_array_t<AAT::Feature const>::operator&() const Line | Count | Source | 117 | 120k | Type * operator & () const { return arrayZ; } |
Unexecuted instantiation: hb_array_t<OT::Index const>::operator&() const hb_array_t<OT::HBGlyphID16 const>::operator&() const Line | Count | Source | 117 | 286k | Type * operator & () const { return arrayZ; } |
hb_array_t<OT::HBGlyphID24 const>::operator&() const Line | Count | Source | 117 | 2.22k | Type * operator & () const { return arrayZ; } |
hb_array_t<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true> const>::operator&() const Line | Count | Source | 117 | 973k | Type * operator & () const { return arrayZ; } |
hb_array_t<OT::IntType<unsigned short, 2u> const>::operator&() const Line | Count | Source | 117 | 32.4M | Type * operator & () const { return arrayZ; } |
Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 3u> const>::operator&() const Unexecuted instantiation: hb_array_t<char const>::operator&() const hb_array_t<OT::AxisRecord const>::operator&() const Line | Count | Source | 117 | 20.3k | Type * operator & () const { return arrayZ; } |
Unexecuted instantiation: hb_array_t<OT::HBFixed<OT::IntType<int, 4u>, 16u> const>::operator&() const hb_array_t<unsigned char const>::operator&() const Line | Count | Source | 117 | 41.4k | Type * operator & () const { return arrayZ; } |
hb_array_t<OT::IntType<short, 2u> const>::operator&() const Line | Count | Source | 117 | 1.77k | Type * operator & () const { return arrayZ; } |
hb_array_t<OT::IntType<unsigned char, 1u> const>::operator&() const Line | Count | Source | 117 | 3.54k | Type * operator & () const { return arrayZ; } |
|
118 | 70.9M | operator hb_array_t<const Type> () { return hb_array_t<const Type> (arrayZ, length); }hb_array_t<hb_ot_map_t::lookup_map_t>::operator hb_array_t<hb_ot_map_t::lookup_map_t const>() Line | Count | Source | 118 | 2.66k | operator hb_array_t<const Type> () { return hb_array_t<const Type> (arrayZ, length); } |
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>() 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>() Line | Count | Source | 118 | 3.90k | operator hb_array_t<const Type> () { return hb_array_t<const Type> (arrayZ, length); } |
hb_array_t<hb_serialize_context_t::object_t*>::operator hb_array_t<hb_serialize_context_t::object_t* const>() Line | Count | Source | 118 | 11.1k | operator hb_array_t<const Type> () { return hb_array_t<const Type> (arrayZ, length); } |
hb_array_t<unsigned int>::operator hb_array_t<unsigned int const>() Line | Count | Source | 118 | 5.26k | operator hb_array_t<const Type> () { return hb_array_t<const Type> (arrayZ, length); } |
Unexecuted instantiation: hb_array_t<hb_inc_bimap_t>::operator hb_array_t<hb_inc_bimap_t const>() hb_array_t<OT::hb_accelerate_subtables_context_t::hb_applicable_t>::operator hb_array_t<OT::hb_accelerate_subtables_context_t::hb_applicable_t const>() Line | Count | Source | 118 | 70.9M | operator hb_array_t<const Type> () { return hb_array_t<const Type> (arrayZ, length); } |
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<OT::LayerRecord>::operator hb_array_t<OT::LayerRecord const>() Unexecuted instantiation: hb_array_t<hb_array_t<unsigned char const> >::operator hb_array_t<hb_array_t<unsigned char const> const>() hb_array_t<OT::HBGlyphID16>::operator hb_array_t<OT::HBGlyphID16 const>() Line | Count | Source | 118 | 5.26k | operator hb_array_t<const Type> () { return hb_array_t<const Type> (arrayZ, length); } |
|
119 | | template <typename T> operator T * () const { return arrayZ; } |
120 | | |
121 | | HB_INTERNAL bool operator == (const hb_array_t &o) const; |
122 | | |
123 | | uint32_t hash () const |
124 | | { |
125 | | uint32_t current = 0; |
126 | | for (auto &v : *this) |
127 | | current = current * 31 + hb_hash (v); |
128 | | return current; |
129 | | } |
130 | | |
131 | | /* |
132 | | * Compare, Sort, and Search. |
133 | | */ |
134 | | |
135 | | /* Note: our compare is NOT lexicographic; it also does NOT call Type::cmp. */ |
136 | | int cmp (const hb_array_t &a) const |
137 | 8.90M | { |
138 | 8.90M | if (length != a.length) |
139 | 3.74M | return (int) a.length - (int) length; |
140 | 5.16M | return hb_memcmp (a.arrayZ, arrayZ, get_size ()); |
141 | 8.90M | } |
142 | | HB_INTERNAL static int cmp (const void *pa, const void *pb) |
143 | | { |
144 | | hb_array_t *a = (hb_array_t *) pa; |
145 | | hb_array_t *b = (hb_array_t *) pb; |
146 | | return b->cmp (*a); |
147 | | } |
148 | | |
149 | | template <typename T> |
150 | | Type *lsearch (const T &x, Type *not_found = nullptr) |
151 | 944k | { |
152 | 944k | unsigned i; |
153 | 944k | return lfind (x, &i) ? &this->arrayZ[i] : not_found; |
154 | 944k | } 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*) Line | Count | Source | 151 | 405k | { | 152 | 405k | unsigned i; | 153 | 405k | return lfind (x, &i) ? &this->arrayZ[i] : not_found; | 154 | 405k | } |
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*) Line | Count | Source | 151 | 210k | { | 152 | 210k | unsigned i; | 153 | 210k | return lfind (x, &i) ? &this->arrayZ[i] : not_found; | 154 | 210k | } |
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*) Line | Count | Source | 151 | 119k | { | 152 | 119k | unsigned i; | 153 | 119k | return lfind (x, &i) ? &this->arrayZ[i] : not_found; | 154 | 119k | } |
OT::DataMap const* hb_array_t<OT::DataMap const>::lsearch<unsigned int>(unsigned int const&, OT::DataMap const*) Line | Count | Source | 151 | 208k | { | 152 | 208k | unsigned i; | 153 | 208k | return lfind (x, &i) ? &this->arrayZ[i] : not_found; | 154 | 208k | } |
|
155 | | template <typename T> |
156 | | const Type *lsearch (const T &x, const Type *not_found = nullptr) const |
157 | | { |
158 | | unsigned i; |
159 | | return lfind (x, &i) ? &this->arrayZ[i] : not_found; |
160 | | } |
161 | | template <typename T> |
162 | | bool lfind (const T &x, unsigned *pos = nullptr, |
163 | | hb_not_found_t not_found = HB_NOT_FOUND_DONT_STORE, |
164 | | unsigned int to_store = (unsigned int) -1) const |
165 | 7.20M | { |
166 | 58.9M | for (unsigned i = 0; i < length; ++i) |
167 | 53.4M | if (hb_equal (x, this->arrayZ[i])) |
168 | 1.66M | { |
169 | 1.66M | if (pos) |
170 | 1.66M | *pos = i; |
171 | 1.66M | return true; |
172 | 1.66M | } |
173 | | |
174 | 5.54M | if (pos) |
175 | 5.54M | { |
176 | 5.54M | switch (not_found) |
177 | 5.54M | { |
178 | 542k | case HB_NOT_FOUND_DONT_STORE: |
179 | 542k | break; |
180 | | |
181 | 4.99M | case HB_NOT_FOUND_STORE: |
182 | 4.99M | *pos = to_store; |
183 | 4.99M | break; |
184 | | |
185 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: |
186 | 0 | *pos = length; |
187 | 0 | break; |
188 | 5.54M | } |
189 | 5.54M | } |
190 | 5.54M | return false; |
191 | 5.54M | } 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 Line | Count | Source | 165 | 405k | { | 166 | 405k | for (unsigned i = 0; i < length; ++i) | 167 | 402k | if (hb_equal (x, this->arrayZ[i])) | 168 | 402k | { | 169 | 402k | if (pos) | 170 | 402k | *pos = i; | 171 | 402k | return true; | 172 | 402k | } | 173 | | | 174 | 3.43k | if (pos) | 175 | 3.43k | { | 176 | 3.43k | switch (not_found) | 177 | 3.43k | { | 178 | 3.43k | case HB_NOT_FOUND_DONT_STORE: | 179 | 3.43k | break; | 180 | | | 181 | 0 | case HB_NOT_FOUND_STORE: | 182 | 0 | *pos = to_store; | 183 | 0 | break; | 184 | | | 185 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 186 | 0 | *pos = length; | 187 | 0 | break; | 188 | 3.43k | } | 189 | 3.43k | } | 190 | 3.43k | return false; | 191 | 3.43k | } |
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 Line | Count | Source | 165 | 210k | { | 166 | 210k | for (unsigned i = 0; i < length; ++i) | 167 | 0 | if (hb_equal (x, this->arrayZ[i])) | 168 | 0 | { | 169 | 0 | if (pos) | 170 | 0 | *pos = i; | 171 | 0 | return true; | 172 | 0 | } | 173 | | | 174 | 210k | if (pos) | 175 | 210k | { | 176 | 210k | switch (not_found) | 177 | 210k | { | 178 | 210k | case HB_NOT_FOUND_DONT_STORE: | 179 | 210k | break; | 180 | | | 181 | 0 | case HB_NOT_FOUND_STORE: | 182 | 0 | *pos = to_store; | 183 | 0 | break; | 184 | | | 185 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 186 | 0 | *pos = length; | 187 | 0 | break; | 188 | 210k | } | 189 | 210k | } | 190 | 210k | return false; | 191 | 210k | } |
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 Line | Count | Source | 165 | 119k | { | 166 | 119k | for (unsigned i = 0; i < length; ++i) | 167 | 0 | if (hb_equal (x, this->arrayZ[i])) | 168 | 0 | { | 169 | 0 | if (pos) | 170 | 0 | *pos = i; | 171 | 0 | return true; | 172 | 0 | } | 173 | | | 174 | 119k | if (pos) | 175 | 119k | { | 176 | 119k | switch (not_found) | 177 | 119k | { | 178 | 119k | case HB_NOT_FOUND_DONT_STORE: | 179 | 119k | break; | 180 | | | 181 | 0 | case HB_NOT_FOUND_STORE: | 182 | 0 | *pos = to_store; | 183 | 0 | break; | 184 | | | 185 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 186 | 0 | *pos = length; | 187 | 0 | break; | 188 | 119k | } | 189 | 119k | } | 190 | 119k | return false; | 191 | 119k | } |
bool hb_array_t<OT::TableRecord const>::lfind<OT::Tag>(OT::Tag const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 165 | 6.26M | { | 166 | 58.0M | for (unsigned i = 0; i < length; ++i) | 167 | 53.0M | if (hb_equal (x, this->arrayZ[i])) | 168 | 1.26M | { | 169 | 1.26M | if (pos) | 170 | 1.26M | *pos = i; | 171 | 1.26M | return true; | 172 | 1.26M | } | 173 | | | 174 | 4.99M | if (pos) | 175 | 4.99M | { | 176 | 4.99M | switch (not_found) | 177 | 4.99M | { | 178 | 0 | case HB_NOT_FOUND_DONT_STORE: | 179 | 0 | break; | 180 | | | 181 | 4.99M | case HB_NOT_FOUND_STORE: | 182 | 4.99M | *pos = to_store; | 183 | 4.99M | break; | 184 | | | 185 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 186 | 0 | *pos = length; | 187 | 0 | break; | 188 | 4.99M | } | 189 | 4.99M | } | 190 | 4.99M | return false; | 191 | 4.99M | } |
Unexecuted instantiation: bool hb_array_t<OT::AxisRecord const>::lfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const bool hb_array_t<OT::DataMap const>::lfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 165 | 208k | { | 166 | 208k | for (unsigned i = 0; i < length; ++i) | 167 | 234 | if (hb_equal (x, this->arrayZ[i])) | 168 | 112 | { | 169 | 112 | if (pos) | 170 | 112 | *pos = i; | 171 | 112 | return true; | 172 | 112 | } | 173 | | | 174 | 208k | if (pos) | 175 | 208k | { | 176 | 208k | switch (not_found) | 177 | 208k | { | 178 | 208k | case HB_NOT_FOUND_DONT_STORE: | 179 | 208k | break; | 180 | | | 181 | 0 | case HB_NOT_FOUND_STORE: | 182 | 0 | *pos = to_store; | 183 | 0 | break; | 184 | | | 185 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 186 | 0 | *pos = length; | 187 | 0 | break; | 188 | 208k | } | 189 | 208k | } | 190 | 208k | return false; | 191 | 208k | } |
Unexecuted instantiation: bool hb_array_t<OT::StatAxisRecord const>::lfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const |
192 | | |
193 | | hb_sorted_array_t<Type> qsort (int (*cmp_)(const void*, const void*)) |
194 | 635k | { |
195 | | //static_assert (hb_enable_if (hb_is_trivially_copy_assignable(Type)), ""); |
196 | 635k | if (likely (length)) |
197 | 394k | hb_qsort (arrayZ, length, this->get_item_size (), cmp_); |
198 | 635k | return hb_sorted_array_t<Type> (*this); |
199 | 635k | } Unexecuted instantiation: hb_array_t<unsigned int>::qsort(int (*)(void const*, void const*)) hb_array_t<hb_aat_map_builder_t::feature_event_t>::qsort(int (*)(void const*, void const*)) Line | Count | Source | 194 | 120k | { | 195 | | //static_assert (hb_enable_if (hb_is_trivially_copy_assignable(Type)), ""); | 196 | 120k | if (likely (length)) | 197 | 0 | hb_qsort (arrayZ, length, this->get_item_size (), cmp_); | 198 | 120k | return hb_sorted_array_t<Type> (*this); | 199 | 120k | } |
Unexecuted instantiation: hb_array_t<hb_aat_map_builder_t::feature_info_t>::qsort(int (*)(void const*, void const*)) hb_array_t<OT::cff1::accelerator_t::gname_t>::qsort(int (*)(void const*, void const*)) Line | Count | Source | 194 | 20.5k | { | 195 | | //static_assert (hb_enable_if (hb_is_trivially_copy_assignable(Type)), ""); | 196 | 20.5k | if (likely (length)) | 197 | 20.5k | hb_qsort (arrayZ, length, this->get_item_size (), cmp_); | 198 | 20.5k | return hb_sorted_array_t<Type> (*this); | 199 | 20.5k | } |
hb_array_t<hb_ot_name_entry_t>::qsort(int (*)(void const*, void const*)) Line | Count | Source | 194 | 206k | { | 195 | | //static_assert (hb_enable_if (hb_is_trivially_copy_assignable(Type)), ""); | 196 | 206k | if (likely (length)) | 197 | 85.2k | hb_qsort (arrayZ, length, this->get_item_size (), cmp_); | 198 | 206k | return hb_sorted_array_t<Type> (*this); | 199 | 206k | } |
hb_array_t<hb_ot_map_builder_t::feature_info_t>::qsort(int (*)(void const*, void const*)) Line | Count | Source | 194 | 288k | { | 195 | | //static_assert (hb_enable_if (hb_is_trivially_copy_assignable(Type)), ""); | 196 | 288k | if (likely (length)) | 197 | 288k | hb_qsort (arrayZ, length, this->get_item_size (), cmp_); | 198 | 288k | return hb_sorted_array_t<Type> (*this); | 199 | 288k | } |
|
200 | | hb_sorted_array_t<Type> qsort () |
201 | 86.1k | { |
202 | | //static_assert (hb_enable_if (hb_is_trivially_copy_assignable(Type)), ""); |
203 | 86.1k | if (likely (length)) |
204 | 86.1k | hb_qsort (arrayZ, length, this->get_item_size (), Type::cmp); |
205 | 86.1k | return hb_sorted_array_t<Type> (*this); |
206 | 86.1k | } Unexecuted instantiation: hb_array_t<OT::NameRecord>::qsort() hb_array_t<hb_ot_map_t::lookup_map_t>::qsort() Line | Count | Source | 201 | 86.1k | { | 202 | | //static_assert (hb_enable_if (hb_is_trivially_copy_assignable(Type)), ""); | 203 | 86.1k | if (likely (length)) | 204 | 86.1k | hb_qsort (arrayZ, length, this->get_item_size (), Type::cmp); | 205 | 86.1k | return hb_sorted_array_t<Type> (*this); | 206 | 86.1k | } |
|
207 | | |
208 | | /* |
209 | | * Other methods. |
210 | | */ |
211 | | |
212 | 38.7M | unsigned int get_size () const { return length * this->get_item_size (); }hb_array_t<AAT::Feature const>::get_size() const Line | Count | Source | 212 | 120k | unsigned int get_size () const { return length * this->get_item_size (); } |
hb_array_t<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true> const>::get_size() const Line | Count | Source | 212 | 973k | unsigned int get_size () const { return length * this->get_item_size (); } |
hb_array_t<OT::IntType<unsigned short, 2u> const>::get_size() const Line | Count | Source | 212 | 32.4M | unsigned int get_size () const { return length * this->get_item_size (); } |
Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 3u> const>::get_size() const Unexecuted instantiation: hb_array_t<OT::LayerRecord const>::get_size() const hb_array_t<OT::HBFixed<OT::IntType<short, 2u>, 14u> const>::get_size() const Line | Count | Source | 212 | 7.08k | unsigned int get_size () const { return length * this->get_item_size (); } |
hb_array_t<OT::contour_point_t>::get_size() const Line | Count | Source | 212 | 157 | unsigned int get_size () const { return length * this->get_item_size (); } |
hb_array_t<char const>::get_size() const Line | Count | Source | 212 | 5.16M | unsigned int get_size () const { return length * this->get_item_size (); } |
hb_array_t<OT::AxisRecord const>::get_size() const Line | Count | Source | 212 | 20.3k | unsigned int get_size () const { return length * this->get_item_size (); } |
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 hb_array_t<OT::IntType<unsigned char, 1u> const>::get_size() const Line | Count | Source | 212 | 3.54k | unsigned int get_size () const { return length * this->get_item_size (); } |
Unexecuted instantiation: hb_array_t<unsigned char const>::get_size() const hb_array_t<OT::IntType<short, 2u> const>::get_size() const Line | Count | Source | 212 | 1.77k | unsigned int get_size () const { return length * this->get_item_size (); } |
|
213 | | |
214 | | /* |
215 | | * Reverse the order of items in this array in the range [start, end). |
216 | | */ |
217 | | void reverse (unsigned start = 0, unsigned end = -1) |
218 | 73.1k | { |
219 | 73.1k | start = hb_min (start, length); |
220 | 73.1k | end = hb_min (end, length); |
221 | | |
222 | 73.1k | if (end < start + 2) |
223 | 42.8k | return; |
224 | | |
225 | 2.40M | for (unsigned lhs = start, rhs = end - 1; lhs < rhs; lhs++, rhs--) |
226 | 2.37M | hb_swap (arrayZ[rhs], arrayZ[lhs]); |
227 | 30.3k | } hb_array_t<hb_glyph_info_t>::reverse(unsigned int, unsigned int) Line | Count | Source | 218 | 57.6k | { | 219 | 57.6k | start = hb_min (start, length); | 220 | 57.6k | end = hb_min (end, length); | 221 | | | 222 | 57.6k | if (end < start + 2) | 223 | 39.9k | return; | 224 | | | 225 | 2.23M | for (unsigned lhs = start, rhs = end - 1; lhs < rhs; lhs++, rhs--) | 226 | 2.21M | hb_swap (arrayZ[rhs], arrayZ[lhs]); | 227 | 17.7k | } |
hb_array_t<hb_glyph_position_t>::reverse(unsigned int, unsigned int) Line | Count | Source | 218 | 15.4k | { | 219 | 15.4k | start = hb_min (start, length); | 220 | 15.4k | end = hb_min (end, length); | 221 | | | 222 | 15.4k | if (end < start + 2) | 223 | 2.87k | return; | 224 | | | 225 | 172k | for (unsigned lhs = start, rhs = end - 1; lhs < rhs; lhs++, rhs--) | 226 | 160k | hb_swap (arrayZ[rhs], arrayZ[lhs]); | 227 | 12.5k | } |
Unexecuted instantiation: hb_array_t<OT::VariationSelectorRecord>::reverse(unsigned int, unsigned int) |
228 | | |
229 | | hb_array_t sub_array (unsigned int start_offset = 0, unsigned int *seg_count = nullptr /* IN/OUT */) const |
230 | 4.73M | { |
231 | 4.73M | if (!start_offset && !seg_count) |
232 | 23.8k | return *this; |
233 | | |
234 | 4.70M | unsigned int count = length; |
235 | 4.70M | if (unlikely (start_offset > count)) |
236 | 3.90k | count = 0; |
237 | 4.70M | else |
238 | 4.70M | count -= start_offset; |
239 | 4.70M | if (seg_count) |
240 | 4.59M | count = *seg_count = hb_min (count, *seg_count); |
241 | 4.70M | return hb_array_t (arrayZ + start_offset, count); |
242 | 4.73M | } hb_array_t<AAT::FeatureName const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 230 | 208k | { | 231 | 208k | if (!start_offset && !seg_count) | 232 | 0 | return *this; | 233 | | | 234 | 208k | unsigned int count = length; | 235 | 208k | if (unlikely (start_offset > count)) | 236 | 0 | count = 0; | 237 | 208k | else | 238 | 208k | count -= start_offset; | 239 | 208k | if (seg_count) | 240 | 208k | count = *seg_count = hb_min (count, *seg_count); | 241 | 208k | return hb_array_t (arrayZ + start_offset, count); | 242 | 208k | } |
hb_array_t<AAT::SettingName const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 230 | 208k | { | 231 | 208k | if (!start_offset && !seg_count) | 232 | 0 | return *this; | 233 | | | 234 | 208k | unsigned int count = length; | 235 | 208k | if (unlikely (start_offset > count)) | 236 | 0 | count = 0; | 237 | 208k | else | 238 | 208k | count -= start_offset; | 239 | 208k | if (seg_count) | 240 | 208k | count = *seg_count = hb_min (count, *seg_count); | 241 | 208k | return hb_array_t (arrayZ + start_offset, count); | 242 | 208k | } |
hb_array_t<hb_ot_map_t::lookup_map_t const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 230 | 2.66k | { | 231 | 2.66k | if (!start_offset && !seg_count) | 232 | 0 | return *this; | 233 | | | 234 | 2.66k | unsigned int count = length; | 235 | 2.66k | if (unlikely (start_offset > count)) | 236 | 0 | count = 0; | 237 | 2.66k | else | 238 | 2.66k | count -= start_offset; | 239 | 2.66k | if (seg_count) | 240 | 2.66k | count = *seg_count = hb_min (count, *seg_count); | 241 | 2.66k | return hb_array_t (arrayZ + start_offset, count); | 242 | 2.66k | } |
hb_array_t<OT::Index const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 230 | 1.62M | { | 231 | 1.62M | if (!start_offset && !seg_count) | 232 | 0 | return *this; | 233 | | | 234 | 1.62M | unsigned int count = length; | 235 | 1.62M | if (unlikely (start_offset > count)) | 236 | 0 | count = 0; | 237 | 1.62M | else | 238 | 1.62M | count -= start_offset; | 239 | 1.62M | if (seg_count) | 240 | 1.62M | count = *seg_count = hb_min (count, *seg_count); | 241 | 1.62M | return hb_array_t (arrayZ + start_offset, count); | 242 | 1.62M | } |
hb_array_t<OT::IntType<unsigned int, 3u> const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 230 | 208k | { | 231 | 208k | if (!start_offset && !seg_count) | 232 | 0 | return *this; | 233 | | | 234 | 208k | unsigned int count = length; | 235 | 208k | if (unlikely (start_offset > count)) | 236 | 0 | count = 0; | 237 | 208k | else | 238 | 208k | count -= start_offset; | 239 | 208k | if (seg_count) | 240 | 208k | count = *seg_count = hb_min (count, *seg_count); | 241 | 208k | return hb_array_t (arrayZ + start_offset, count); | 242 | 208k | } |
Unexecuted instantiation: hb_array_t<OT::Record<OT::LangSys> const>::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>, 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 hb_array_t<OT::LayerRecord const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 230 | 208k | { | 231 | 208k | if (!start_offset && !seg_count) | 232 | 0 | return *this; | 233 | | | 234 | 208k | unsigned int count = length; | 235 | 208k | if (unlikely (start_offset > count)) | 236 | 18 | count = 0; | 237 | 208k | else | 238 | 208k | count -= start_offset; | 239 | 208k | if (seg_count) | 240 | 208k | count = *seg_count = hb_min (count, *seg_count); | 241 | 208k | return hb_array_t (arrayZ + start_offset, count); | 242 | 208k | } |
hb_array_t<OT::HBFixed<OT::IntType<short, 2u>, 14u> const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 230 | 3.21k | { | 231 | 3.21k | if (!start_offset && !seg_count) | 232 | 0 | return *this; | 233 | | | 234 | 3.21k | unsigned int count = length; | 235 | 3.21k | if (unlikely (start_offset > count)) | 236 | 0 | count = 0; | 237 | 3.21k | else | 238 | 3.21k | count -= start_offset; | 239 | 3.21k | if (seg_count) | 240 | 3.21k | count = *seg_count = hb_min (count, *seg_count); | 241 | 3.21k | return hb_array_t (arrayZ + start_offset, count); | 242 | 3.21k | } |
hb_array_t<char const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 230 | 49.9k | { | 231 | 49.9k | if (!start_offset && !seg_count) | 232 | 0 | return *this; | 233 | | | 234 | 49.9k | unsigned int count = length; | 235 | 49.9k | if (unlikely (start_offset > count)) | 236 | 3.88k | count = 0; | 237 | 46.0k | else | 238 | 46.0k | count -= start_offset; | 239 | 49.9k | if (seg_count) | 240 | 49.9k | count = *seg_count = hb_min (count, *seg_count); | 241 | 49.9k | return hb_array_t (arrayZ + start_offset, count); | 242 | 49.9k | } |
hb_array_t<OT::contour_point_t>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 230 | 443k | { | 231 | 443k | if (!start_offset && !seg_count) | 232 | 23.8k | return *this; | 233 | | | 234 | 419k | unsigned int count = length; | 235 | 419k | if (unlikely (start_offset > count)) | 236 | 0 | count = 0; | 237 | 419k | else | 238 | 419k | count -= start_offset; | 239 | 419k | if (seg_count) | 240 | 309k | count = *seg_count = hb_min (count, *seg_count); | 241 | 419k | return hb_array_t (arrayZ + start_offset, count); | 242 | 443k | } |
Unexecuted instantiation: hb_array_t<OT::TableRecord const>::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 hb_array_t<OT::IntType<unsigned int, 4u> const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 230 | 163 | { | 231 | 163 | if (!start_offset && !seg_count) | 232 | 0 | return *this; | 233 | | | 234 | 163 | unsigned int count = length; | 235 | 163 | if (unlikely (start_offset > count)) | 236 | 8 | count = 0; | 237 | 155 | else | 238 | 155 | count -= start_offset; | 239 | 163 | if (seg_count) | 240 | 163 | count = *seg_count = hb_min (count, *seg_count); | 241 | 163 | return hb_array_t (arrayZ + start_offset, count); | 242 | 163 | } |
hb_array_t<unsigned char const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 230 | 814k | { | 231 | 814k | if (!start_offset && !seg_count) | 232 | 0 | return *this; | 233 | | | 234 | 814k | unsigned int count = length; | 235 | 814k | if (unlikely (start_offset > count)) | 236 | 0 | count = 0; | 237 | 814k | else | 238 | 814k | count -= start_offset; | 239 | 814k | if (seg_count) | 240 | 814k | count = *seg_count = hb_min (count, *seg_count); | 241 | 814k | return hb_array_t (arrayZ + start_offset, count); | 242 | 814k | } |
Unexecuted instantiation: hb_array_t<OT::DataMap const>::sub_array(unsigned int, unsigned int*) const hb_array_t<OT::HBGlyphID16 const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 230 | 60.9k | { | 231 | 60.9k | if (!start_offset && !seg_count) | 232 | 0 | return *this; | 233 | | | 234 | 60.9k | unsigned int count = length; | 235 | 60.9k | if (unlikely (start_offset > count)) | 236 | 0 | count = 0; | 237 | 60.9k | else | 238 | 60.9k | count -= start_offset; | 239 | 60.9k | if (seg_count) | 240 | 60.9k | count = *seg_count = hb_min (count, *seg_count); | 241 | 60.9k | return hb_array_t (arrayZ + start_offset, count); | 242 | 60.9k | } |
hb_array_t<unsigned int const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 230 | 14.9k | { | 231 | 14.9k | if (!start_offset && !seg_count) | 232 | 0 | return *this; | 233 | | | 234 | 14.9k | unsigned int count = length; | 235 | 14.9k | if (unlikely (start_offset > count)) | 236 | 0 | count = 0; | 237 | 14.9k | else | 238 | 14.9k | count -= start_offset; | 239 | 14.9k | if (seg_count) | 240 | 14.9k | count = *seg_count = hb_min (count, *seg_count); | 241 | 14.9k | return hb_array_t (arrayZ + start_offset, count); | 242 | 14.9k | } |
Unexecuted instantiation: hb_array_t<OT::HBGlyphID24 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 hb_array_t<OT::MathGlyphVariantRecord const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 230 | 208k | { | 231 | 208k | if (!start_offset && !seg_count) | 232 | 0 | return *this; | 233 | | | 234 | 208k | unsigned int count = length; | 235 | 208k | if (unlikely (start_offset > count)) | 236 | 0 | count = 0; | 237 | 208k | else | 238 | 208k | count -= start_offset; | 239 | 208k | if (seg_count) | 240 | 208k | count = *seg_count = hb_min (count, *seg_count); | 241 | 208k | return hb_array_t (arrayZ + start_offset, count); | 242 | 208k | } |
hb_array_t<OT::MathGlyphPartRecord const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 230 | 208k | { | 231 | 208k | if (!start_offset && !seg_count) | 232 | 0 | return *this; | 233 | | | 234 | 208k | unsigned int count = length; | 235 | 208k | if (unlikely (start_offset > count)) | 236 | 0 | count = 0; | 237 | 208k | else | 238 | 208k | count -= start_offset; | 239 | 208k | if (seg_count) | 240 | 208k | count = *seg_count = hb_min (count, *seg_count); | 241 | 208k | return hb_array_t (arrayZ + start_offset, count); | 242 | 208k | } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true> const>::sub_array(unsigned int, unsigned int*) const hb_array_t<CFF::number_t const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 230 | 376k | { | 231 | 376k | if (!start_offset && !seg_count) | 232 | 0 | return *this; | 233 | | | 234 | 376k | unsigned int count = length; | 235 | 376k | if (unlikely (start_offset > count)) | 236 | 0 | count = 0; | 237 | 376k | else | 238 | 376k | count -= start_offset; | 239 | 376k | if (seg_count) | 240 | 376k | count = *seg_count = hb_min (count, *seg_count); | 241 | 376k | return hb_array_t (arrayZ + start_offset, count); | 242 | 376k | } |
hb_array_t<hb_ot_map_t::lookup_map_t>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 230 | 86.1k | { | 231 | 86.1k | if (!start_offset && !seg_count) | 232 | 0 | return *this; | 233 | | | 234 | 86.1k | unsigned int count = length; | 235 | 86.1k | if (unlikely (start_offset > count)) | 236 | 0 | count = 0; | 237 | 86.1k | else | 238 | 86.1k | count -= start_offset; | 239 | 86.1k | if (seg_count) | 240 | 86.1k | count = *seg_count = hb_min (count, *seg_count); | 241 | 86.1k | return hb_array_t (arrayZ + start_offset, count); | 242 | 86.1k | } |
|
243 | | hb_array_t sub_array (unsigned int start_offset, unsigned int seg_count) const |
244 | 1.92M | { return sub_array (start_offset, &seg_count); }hb_array_t<hb_ot_map_t::lookup_map_t const>::sub_array(unsigned int, unsigned int) const Line | Count | Source | 244 | 2.66k | { return sub_array (start_offset, &seg_count); } |
Unexecuted instantiation: hb_array_t<OT::IntType<unsigned short, 2u> const>::sub_array(unsigned int, unsigned int) const hb_array_t<OT::LayerRecord const>::sub_array(unsigned int, unsigned int) const Line | Count | Source | 244 | 208k | { return sub_array (start_offset, &seg_count); } |
hb_array_t<OT::HBFixed<OT::IntType<short, 2u>, 14u> const>::sub_array(unsigned int, unsigned int) const Line | Count | Source | 244 | 3.21k | { return sub_array (start_offset, &seg_count); } |
hb_array_t<char const>::sub_array(unsigned int, unsigned int) const Line | Count | Source | 244 | 49.9k | { return sub_array (start_offset, &seg_count); } |
hb_array_t<OT::contour_point_t>::sub_array(unsigned int, unsigned int) const Line | Count | Source | 244 | 309k | { return sub_array (start_offset, &seg_count); } |
hb_array_t<OT::IntType<unsigned int, 4u> const>::sub_array(unsigned int, unsigned int) const Line | Count | Source | 244 | 163 | { return sub_array (start_offset, &seg_count); } |
hb_array_t<unsigned char const>::sub_array(unsigned int, unsigned int) const Line | Count | Source | 244 | 814k | { return sub_array (start_offset, &seg_count); } |
hb_array_t<OT::HBGlyphID16 const>::sub_array(unsigned int, unsigned int) const Line | Count | Source | 244 | 60.9k | { return sub_array (start_offset, &seg_count); } |
hb_array_t<unsigned int const>::sub_array(unsigned int, unsigned int) const Line | Count | Source | 244 | 14.9k | { return sub_array (start_offset, &seg_count); } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true> const>::sub_array(unsigned int, unsigned int) const hb_array_t<CFF::number_t const>::sub_array(unsigned int, unsigned int) const Line | Count | Source | 244 | 376k | { return sub_array (start_offset, &seg_count); } |
hb_array_t<hb_ot_map_t::lookup_map_t>::sub_array(unsigned int, unsigned int) const Line | Count | Source | 244 | 86.1k | { return sub_array (start_offset, &seg_count); } |
|
245 | | |
246 | | hb_array_t truncate (unsigned length) const { return sub_array (0, length); } |
247 | | |
248 | | template <typename T, |
249 | | unsigned P = sizeof (Type), |
250 | | hb_enable_if (P == 1)> |
251 | | const T *as () const |
252 | 192M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); }OT::GDEF const* hb_array_t<char const>::as<OT::GDEF, 1u, (void*)0>() const Line | Count | Source | 252 | 10.3M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
AAT::ltag const* hb_array_t<char const>::as<AAT::ltag, 1u, (void*)0>() const Line | Count | Source | 252 | 2.91M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
AAT::morx const* hb_array_t<char const>::as<AAT::morx, 1u, (void*)0>() const Line | Count | Source | 252 | 530k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
AAT::mort const* hb_array_t<char const>::as<AAT::mort, 1u, (void*)0>() const Line | Count | Source | 252 | 284k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
AAT::kerx const* hb_array_t<char const>::as<AAT::kerx, 1u, (void*)0>() const Line | Count | Source | 252 | 311k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
AAT::ankr const* hb_array_t<char const>::as<AAT::ankr, 1u, (void*)0>() const Line | Count | Source | 252 | 20.5k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
AAT::trak const* hb_array_t<char const>::as<AAT::trak, 1u, (void*)0>() const Line | Count | Source | 252 | 292k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
AAT::feat const* hb_array_t<char const>::as<AAT::feat, 1u, (void*)0>() const Line | Count | Source | 252 | 626k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::Layout::GPOS const* hb_array_t<char const>::as<OT::Layout::GPOS, 1u, (void*)0>() const Line | Count | Source | 252 | 54.6M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::maxp const* hb_array_t<char const>::as<OT::maxp, 1u, (void*)0>() const Line | Count | Source | 252 | 618k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::head const* hb_array_t<char const>::as<OT::head, 1u, (void*)0>() const Line | Count | Source | 252 | 621k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::MVAR const* hb_array_t<char const>::as<OT::MVAR, 1u, (void*)0>() const Line | Count | Source | 252 | 1.23M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::cmap const* hb_array_t<char const>::as<OT::cmap, 1u, (void*)0>() const Line | Count | Source | 252 | 411k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::OS2 const* hb_array_t<char const>::as<OT::OS2, 1u, (void*)0>() const Line | Count | Source | 252 | 1.24M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::COLR const* hb_array_t<char const>::as<OT::COLR, 1u, (void*)0>() const Line | Count | Source | 252 | 669k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::hhea const* hb_array_t<char const>::as<OT::hhea, 1u, (void*)0>() const Line | Count | Source | 252 | 1.61M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::vhea const* hb_array_t<char const>::as<OT::vhea, 1u, (void*)0>() const Line | Count | Source | 252 | 206k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::GlyphVariationData const* hb_array_t<char const>::as<OT::GlyphVariationData, 1u, (void*)0>() const Line | Count | Source | 252 | 21.1k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::gvar const* hb_array_t<char const>::as<OT::gvar, 1u, (void*)0>() const Line | Count | Source | 252 | 89.1k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::hmtxvmtx<OT::hmtx, OT::hhea, OT::HVAR> const* hb_array_t<char const>::as<OT::hmtxvmtx<OT::hmtx, OT::hhea, OT::HVAR>, 1u, (void*)0>() const Line | Count | Source | 252 | 9.05M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::hmtxvmtx<OT::vmtx, OT::vhea, OT::VVAR> const* hb_array_t<char const>::as<OT::hmtxvmtx<OT::vmtx, OT::vhea, OT::VVAR>, 1u, (void*)0>() const Line | Count | Source | 252 | 5.19k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::glyf_impl::GlyphHeader const* hb_array_t<char const>::as<OT::glyf_impl::GlyphHeader, 1u, (void*)0>() const Line | Count | Source | 252 | 207k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::loca const* hb_array_t<char const>::as<OT::loca, 1u, (void*)0>() const Line | Count | Source | 252 | 130k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::glyf const* hb_array_t<char const>::as<OT::glyf, 1u, (void*)0>() const Line | Count | Source | 252 | 116k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::OpenTypeFontFile const* hb_array_t<char const>::as<OT::OpenTypeFontFile, 1u, (void*)0>() const Line | Count | Source | 252 | 7.98M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::fvar const* hb_array_t<char const>::as<OT::fvar, 1u, (void*)0>() const Line | Count | Source | 252 | 1.25M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::avar const* hb_array_t<char const>::as<OT::avar, 1u, (void*)0>() const Line | Count | Source | 252 | 625k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::SVG const* hb_array_t<char const>::as<OT::SVG, 1u, (void*)0>() const Line | Count | Source | 252 | 626k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::sbix const* hb_array_t<char const>::as<OT::sbix, 1u, (void*)0>() const Line | Count | Source | 252 | 690k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::CBLC const* hb_array_t<char const>::as<OT::CBLC, 1u, (void*)0>() const Line | Count | Source | 252 | 508k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::CBDT const* hb_array_t<char const>::as<OT::CBDT, 1u, (void*)0>() const Line | Count | Source | 252 | 45 | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::CPAL const* hb_array_t<char const>::as<OT::CPAL, 1u, (void*)0>() const Line | Count | Source | 252 | 1.25M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::sbix::accelerator_t::PNGHeader const* hb_array_t<char const>::as<OT::sbix::accelerator_t::PNGHeader, 1u, (void*)0>() const Line | Count | Source | 252 | 2.70k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::cff1 const* hb_array_t<char const>::as<OT::cff1, 1u, (void*)0>() const Line | Count | Source | 252 | 205k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::cff2 const* hb_array_t<char const>::as<OT::cff2, 1u, (void*)0>() const Line | Count | Source | 252 | 174k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::meta const* hb_array_t<char const>::as<OT::meta, 1u, (void*)0>() const Line | Count | Source | 252 | 417k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::name const* hb_array_t<char const>::as<OT::name, 1u, (void*)0>() const Line | Count | Source | 252 | 1.31M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::post const* hb_array_t<char const>::as<OT::post, 1u, (void*)0>() const Line | Count | Source | 252 | 269k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::Layout::GSUB const* hb_array_t<char const>::as<OT::Layout::GSUB, 1u, (void*)0>() const Line | Count | Source | 252 | 71.1M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::HVAR const* hb_array_t<char const>::as<OT::HVAR, 1u, (void*)0>() const Line | Count | Source | 252 | 4.46M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::VVAR const* hb_array_t<char const>::as<OT::VVAR, 1u, (void*)0>() const Line | Count | Source | 252 | 9.96k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::VORG const* hb_array_t<char const>::as<OT::VORG, 1u, (void*)0>() const Line | Count | Source | 252 | 208k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::kern const* hb_array_t<char const>::as<OT::kern, 1u, (void*)0>() const Line | Count | Source | 252 | 287k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::BASE const* hb_array_t<char const>::as<OT::BASE, 1u, (void*)0>() const Line | Count | Source | 252 | 208k | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
OT::MATH const* hb_array_t<char const>::as<OT::MATH, 1u, (void*)0>() const Line | Count | Source | 252 | 14.6M | { return length < hb_min_size (T) ? &Null (T) : reinterpret_cast<const T *> (arrayZ); } |
|
253 | | |
254 | | template <typename T, |
255 | | unsigned P = sizeof (Type), |
256 | | hb_enable_if (P == 1)> |
257 | | bool check_range (const T *p, unsigned int size = T::static_size) const |
258 | 758k | { |
259 | 758k | return arrayZ <= ((const char *) p) |
260 | 758k | && ((const char *) p) <= arrayZ + length |
261 | 758k | && (unsigned int) (arrayZ + length - (const char *) p) >= size; |
262 | 758k | } bool hb_array_t<char const>::check_range<OT::TupleVariationHeader, 1u, (void*)0>(OT::TupleVariationHeader const*, unsigned int) const Line | Count | Source | 258 | 10.2k | { | 259 | 10.2k | return arrayZ <= ((const char *) p) | 260 | 10.2k | && ((const char *) p) <= arrayZ + length | 261 | 10.2k | && (unsigned int) (arrayZ + length - (const char *) p) >= size; | 262 | 10.2k | } |
bool hb_array_t<char const>::check_range<OT::IntType<unsigned char, 1u>, 1u, (void*)0>(OT::IntType<unsigned char, 1u> const*, unsigned int) const Line | Count | Source | 258 | 1.71k | { | 259 | 1.71k | return arrayZ <= ((const char *) p) | 260 | 1.71k | && ((const char *) p) <= arrayZ + length | 261 | 1.71k | && (unsigned int) (arrayZ + length - (const char *) p) >= size; | 262 | 1.71k | } |
bool hb_array_t<char const>::check_range<OT::IntType<unsigned short, 2u>, 1u, (void*)0>(OT::IntType<unsigned short, 2u> const*, unsigned int) const Line | Count | Source | 258 | 11.8k | { | 259 | 11.8k | return arrayZ <= ((const char *) p) | 260 | 11.8k | && ((const char *) p) <= arrayZ + length | 261 | 11.8k | && (unsigned int) (arrayZ + length - (const char *) p) >= size; | 262 | 11.8k | } |
bool hb_array_t<char const>::check_range<OT::glyf_impl::CompositeGlyphRecord, 1u, (void*)0>(OT::glyf_impl::CompositeGlyphRecord const*, unsigned int) const Line | Count | Source | 258 | 305k | { | 259 | 305k | return arrayZ <= ((const char *) p) | 260 | 305k | && ((const char *) p) <= arrayZ + length | 261 | 305k | && (unsigned int) (arrayZ + length - (const char *) p) >= size; | 262 | 305k | } |
bool hb_array_t<char const>::check_range<OT::glyf_impl::VarCompositeGlyphRecord, 1u, (void*)0>(OT::glyf_impl::VarCompositeGlyphRecord const*, unsigned int) const Line | Count | Source | 258 | 428k | { | 259 | 428k | return arrayZ <= ((const char *) p) | 260 | 428k | && ((const char *) p) <= arrayZ + length | 261 | 428k | && (unsigned int) (arrayZ + length - (const char *) p) >= size; | 262 | 428k | } |
|
263 | | |
264 | | /* Only call if you allocated the underlying array using hb_malloc() or similar. */ |
265 | | void fini () |
266 | 0 | { hb_free ((void *) arrayZ); arrayZ = nullptr; length = 0; } |
267 | | |
268 | | template <typename hb_serialize_context_t, |
269 | | typename U = Type, |
270 | | hb_enable_if (!(sizeof (U) < sizeof (long long) && hb_is_trivially_copy_assignable(hb_decay<Type>)))> |
271 | | hb_array_t copy (hb_serialize_context_t *c) const |
272 | | { |
273 | | TRACE_SERIALIZE (this); |
274 | | auto* out = c->start_embed (arrayZ); |
275 | | if (unlikely (!c->extend_size (out, get_size (), false))) return_trace (hb_array_t ()); |
276 | | for (unsigned i = 0; i < length; i++) |
277 | | out[i] = arrayZ[i]; /* TODO: add version that calls c->copy() */ |
278 | | return_trace (hb_array_t (out, length)); |
279 | | } |
280 | | |
281 | | template <typename hb_serialize_context_t, |
282 | | typename U = Type, |
283 | | hb_enable_if (sizeof (U) < sizeof (long long) && hb_is_trivially_copy_assignable(hb_decay<Type>))> |
284 | | hb_array_t copy (hb_serialize_context_t *c) const |
285 | 0 | { |
286 | 0 | TRACE_SERIALIZE (this); |
287 | 0 | auto* out = c->start_embed (arrayZ); |
288 | 0 | if (unlikely (!c->extend_size (out, get_size (), false))) return_trace (hb_array_t ()); |
289 | 0 | hb_memcpy (out, arrayZ, get_size ()); |
290 | 0 | return_trace (hb_array_t (out, length)); |
291 | 0 | } Unexecuted instantiation: hb_array_t<OT::LayerRecord const> hb_array_t<OT::LayerRecord const>::copy<hb_serialize_context_t, OT::LayerRecord const, (void*)0>(hb_serialize_context_t*) const Unexecuted instantiation: hb_array_t<char const> hb_array_t<char const>::copy<hb_serialize_context_t, char const, (void*)0>(hb_serialize_context_t*) const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 4u> const> hb_array_t<OT::IntType<unsigned int, 4u> const>::copy<hb_serialize_context_t, OT::IntType<unsigned int, 4u> const, (void*)0>(hb_serialize_context_t*) const Unexecuted instantiation: hb_array_t<OT::Index const> hb_array_t<OT::Index const>::copy<hb_serialize_context_t, OT::Index const, (void*)0>(hb_serialize_context_t*) const Unexecuted instantiation: hb_array_t<OT::IntType<unsigned char, 1u> const> hb_array_t<OT::IntType<unsigned char, 1u> const>::copy<hb_serialize_context_t, OT::IntType<unsigned char, 1u> const, (void*)0>(hb_serialize_context_t*) const Unexecuted instantiation: hb_array_t<unsigned char const> hb_array_t<unsigned char const>::copy<hb_serialize_context_t, unsigned char const, (void*)0>(hb_serialize_context_t*) const |
292 | | |
293 | | template <typename hb_sanitize_context_t> |
294 | | bool sanitize (hb_sanitize_context_t *c) const |
295 | 169k | { return c->check_array (arrayZ, length); }bool hb_array_t<OT::AxisRecord const>::sanitize<hb_sanitize_context_t>(hb_sanitize_context_t*) const Line | Count | Source | 295 | 21.3k | { return c->check_array (arrayZ, length); } |
bool hb_array_t<unsigned char const>::sanitize<hb_sanitize_context_t>(hb_sanitize_context_t*) const Line | Count | Source | 295 | 147k | { return c->check_array (arrayZ, length); } |
|
296 | | |
297 | | /* |
298 | | * Members |
299 | | */ |
300 | | |
301 | | public: |
302 | | Type *arrayZ = nullptr; |
303 | | unsigned int length = 0; |
304 | | unsigned int backwards_length = 0; |
305 | | }; |
306 | | template <typename T> inline hb_array_t<T> |
307 | | hb_array (T *array, unsigned int length) |
308 | 161M | { return hb_array_t<T> (array, length); }hb_array_t<OT::IntType<short, 2u> const> hb_array<OT::IntType<short, 2u> const>(OT::IntType<short, 2u> const*, unsigned int) Line | Count | Source | 308 | 1.77k | { return hb_array_t<T> (array, length); } |
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) Line | Count | Source | 308 | 208k | { return hb_array_t<T> (array, length); } |
hb_array_t<AAT::SettingName const> hb_array<AAT::SettingName const>(AAT::SettingName const*, unsigned int) Line | Count | Source | 308 | 208k | { return hb_array_t<T> (array, length); } |
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) Line | Count | Source | 308 | 208k | { return hb_array_t<T> (array, length); } |
hb_array_t<AAT::Feature const> hb_array<AAT::Feature const>(AAT::Feature const*, unsigned int) Line | Count | Source | 308 | 120k | { return hb_array_t<T> (array, length); } |
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) Line | Count | Source | 308 | 337k | { return hb_array_t<T> (array, length); } |
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) Line | Count | Source | 308 | 162k | { return hb_array_t<T> (array, length); } |
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) Line | Count | Source | 308 | 616k | { return hb_array_t<T> (array, length); } |
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 | 308 | 2.85M | { return hb_array_t<T> (array, length); } |
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) Line | Count | Source | 308 | 41.8k | { return hb_array_t<T> (array, length); } |
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 | 308 | 88.8k | { return hb_array_t<T> (array, length); } |
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 | 308 | 3.25M | { return hb_array_t<T> (array, length); } |
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) 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) Line | Count | Source | 308 | 3.90k | { return hb_array_t<T> (array, length); } |
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) Line | Count | Source | 308 | 11.1k | { return hb_array_t<T> (array, length); } |
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 | 308 | 1.62M | { return hb_array_t<T> (array, length); } |
hb_array_t<unsigned int> hb_array<unsigned int>(unsigned int*, unsigned int) Line | Count | Source | 308 | 1.86M | { return hb_array_t<T> (array, length); } |
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) Line | Count | Source | 308 | 208k | { return hb_array_t<T> (array, length); } |
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) 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) Line | Count | Source | 308 | 32.4M | { return hb_array_t<T> (array, length); } |
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<OT::FeatureTableSubstitutionRecord const> hb_array<OT::FeatureTableSubstitutionRecord const>(OT::FeatureTableSubstitutionRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) hb_array_t<int> hb_array<int>(int*, unsigned int) Line | Count | Source | 308 | 219k | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, true> const> hb_array<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, true> const>(OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, true> const*, unsigned int) hb_array_t<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Line | Count | Source | 308 | 973k | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<OT::LookupRecord const> hb_array<OT::LookupRecord const>(OT::LookupRecord const*, unsigned int) hb_array_t<OT::hb_accelerate_subtables_context_t::hb_applicable_t> hb_array<OT::hb_accelerate_subtables_context_t::hb_applicable_t>(OT::hb_accelerate_subtables_context_t::hb_applicable_t*, unsigned int) Line | Count | Source | 308 | 70.9M | { return hb_array_t<T> (array, length); } |
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>, true> const> hb_array<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const> hb_array<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>(OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) hb_array_t<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Line | Count | Source | 308 | 32.4M | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const> hb_array<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>(OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const*, unsigned int) hb_array_t<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Line | Count | Source | 308 | 349 | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const> hb_array<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const>(OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) hb_array_t<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Line | Count | Source | 308 | 3.79M | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const> hb_array<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>(OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const*, unsigned int) hb_array_t<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Line | Count | Source | 308 | 432 | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const> hb_array<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const>(OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u>, true> const> hb_array<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u>, true> const>(OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u>, true> const*, unsigned int) 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) Line | Count | Source | 308 | 120k | { return hb_array_t<T> (array, length); } |
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>, true> const> hb_array<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, true> const>(OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, true> const*, unsigned int) hb_array_t<OT::LayerRecord const> hb_array<OT::LayerRecord const>(OT::LayerRecord const*, unsigned int) Line | Count | Source | 308 | 208k | { return hb_array_t<T> (array, length); } |
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::LayerRecord> hb_array<OT::LayerRecord>(OT::LayerRecord*, 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) 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 | 308 | 11.6k | { return hb_array_t<T> (array, length); } |
hb_array_t<OT::contour_point_t> hb_array<OT::contour_point_t>(OT::contour_point_t*, unsigned int) Line | Count | Source | 308 | 567k | { return hb_array_t<T> (array, length); } |
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<OT::IntType<unsigned short, 2u> > hb_array<OT::IntType<unsigned short, 2u> >(OT::IntType<unsigned short, 2u>*, unsigned int) Unexecuted instantiation: hb_array_t<OT::IntType<unsigned int, 4u> > hb_array<OT::IntType<unsigned int, 4u> >(OT::IntType<unsigned int, 4u>*, unsigned int) hb_array_t<OT::TableRecord const> hb_array<OT::TableRecord const>(OT::TableRecord const*, unsigned int) Line | Count | Source | 308 | 6.26M | { return hb_array_t<T> (array, length); } |
hb_array_t<OT::ResourceRecord const> hb_array<OT::ResourceRecord const>(OT::ResourceRecord const*, unsigned int) Line | Count | Source | 308 | 4.57k | { return hb_array_t<T> (array, length); } |
hb_array_t<OT::AxisRecord const> hb_array<OT::AxisRecord const>(OT::AxisRecord const*, unsigned int) Line | Count | Source | 308 | 53.8k | { 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) 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) Line | Count | Source | 308 | 1.30k | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<OT::BitmapSizeTable const> hb_array<OT::BitmapSizeTable const>(OT::BitmapSizeTable const*, unsigned int) 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) Line | Count | Source | 308 | 5.31k | { return hb_array_t<T> (array, length); } |
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) 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) Line | Count | Source | 308 | 41.0k | { return hb_array_t<T> (array, length); } |
hb_array_t<OT::DataMap const> hb_array<OT::DataMap const>(OT::DataMap const*, unsigned int) Line | Count | Source | 308 | 208k | { return hb_array_t<T> (array, length); } |
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 | 308 | 206k | { return hb_array_t<T> (array, length); } |
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>, true> const> hb_array<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Line | Count | Source | 308 | 48.3k | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const> hb_array<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>(OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::HBGlyphID24 const> hb_array<OT::HBGlyphID24 const>(OT::HBGlyphID24 const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const> hb_array<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>(OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const> hb_array<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const>(OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u>, true> const> hb_array<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u>, true> const>(OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u>, 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>, true> const> hb_array<OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, true> const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::StatAxisRecord const> hb_array<OT::StatAxisRecord const>(OT::StatAxisRecord const*, unsigned int) hb_array_t<OT::MathGlyphVariantRecord const> hb_array<OT::MathGlyphVariantRecord const>(OT::MathGlyphVariantRecord const*, unsigned int) Line | Count | Source | 308 | 208k | { return hb_array_t<T> (array, length); } |
hb_array_t<hb_ot_math_glyph_variant_t> hb_array<hb_ot_math_glyph_variant_t>(hb_ot_math_glyph_variant_t*, unsigned int) Line | Count | Source | 308 | 208k | { return hb_array_t<T> (array, length); } |
hb_array_t<OT::MathGlyphPartRecord const> hb_array<OT::MathGlyphPartRecord const>(OT::MathGlyphPartRecord const*, unsigned int) Line | Count | Source | 308 | 208k | { return hb_array_t<T> (array, length); } |
hb_array_t<hb_ot_math_glyph_part_t> hb_array<hb_ot_math_glyph_part_t>(hb_ot_math_glyph_part_t*, unsigned int) Line | Count | Source | 308 | 208k | { return hb_array_t<T> (array, length); } |
Unexecuted instantiation: hb_array_t<OT::MathValueRecord const> hb_array<OT::MathValueRecord const>(OT::MathValueRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::MathKernInfoRecord const> hb_array<OT::MathKernInfoRecord const>(OT::MathKernInfoRecord const*, unsigned int) Unexecuted instantiation: hb_array_t<OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true> const> hb_array<OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true> const>(OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true> 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 | 308 | 288k | { return hb_array_t<T> (array, length); } |
hb_array_t<OT::HBGlyphID16> hb_array<OT::HBGlyphID16>(OT::HBGlyphID16*, unsigned int) Line | Count | Source | 308 | 6.54k | { return hb_array_t<T> (array, length); } |
|
309 | | template <typename T, unsigned int length_> inline hb_array_t<T> |
310 | | hb_array (T (&array_)[length_]) |
311 | 0 | { return hb_array_t<T> (array_); }Unexecuted instantiation: hb_array_t<unsigned long long const> hb_array<unsigned long long const, 8u>(unsigned long long const (&) [8u]) Unexecuted instantiation: hb_array_t<hb::shared_ptr<hb_set_t> > hb_array<hb::shared_ptr<hb_set_t>, 8u>(hb::shared_ptr<hb_set_t> (&) [8u]) |
312 | | |
313 | | template <typename Type> |
314 | | struct hb_sorted_array_t : |
315 | | hb_array_t<Type>, |
316 | | hb_iter_t<hb_sorted_array_t<Type>, Type&> |
317 | | { |
318 | | typedef hb_iter_t<hb_sorted_array_t, Type&> iter_base_t; |
319 | | HB_ITER_USING (iter_base_t); |
320 | | static constexpr bool is_random_access_iterator = true; |
321 | | static constexpr bool is_sorted_iterator = true; |
322 | | |
323 | | hb_sorted_array_t () = default; |
324 | | hb_sorted_array_t (const hb_sorted_array_t&) = default; |
325 | | ~hb_sorted_array_t () = default; |
326 | | hb_sorted_array_t& operator= (const hb_sorted_array_t&) = default; |
327 | | hb_sorted_array_t& operator= (hb_sorted_array_t&&) = default; |
328 | | |
329 | 82.4M | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {}hb_sorted_array_t<AAT::FeatureName const>::hb_sorted_array_t(AAT::FeatureName const*, unsigned int) Line | Count | Source | 329 | 626k | 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 | 329 | 23.6M | 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::MediumTypes> const>::hb_sorted_array_t(OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> const*, unsigned int) Line | Count | Source | 329 | 1.19M | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::HBGlyphID16 const>::hb_sorted_array_t(OT::HBGlyphID16 const*, unsigned int) Line | Count | Source | 329 | 45.4M | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::HBGlyphID24 const>::hb_sorted_array_t(OT::HBGlyphID24 const*, unsigned int) Line | Count | Source | 329 | 143k | 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 | 329 | 38.1k | 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 | 329 | 1.72M | 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 | 329 | 627k | 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 | 329 | 418k | 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 | 329 | 1.48M | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::CmapSubtableLongGroup const>::hb_sorted_array_t(OT::CmapSubtableLongGroup const*, unsigned int) Line | Count | Source | 329 | 3.15M | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::BaseGlyphPaintRecord const>::hb_sorted_array_t(OT::BaseGlyphPaintRecord const*, unsigned int) Line | Count | Source | 329 | 8.97k | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::BaseGlyphRecord const>::hb_sorted_array_t(OT::BaseGlyphRecord const*, unsigned int) Line | Count | Source | 329 | 212k | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::SVGDocumentIndexEntry const>::hb_sorted_array_t(OT::SVGDocumentIndexEntry const*, unsigned int) Line | Count | Source | 329 | 208k | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::UnicodeValueRange const>::hb_sorted_array_t(OT::UnicodeValueRange const*, unsigned int) Line | Count | Source | 329 | 210k | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::VertOriginMetric const>::hb_sorted_array_t(OT::VertOriginMetric const*, unsigned int) Line | Count | Source | 329 | 960 | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::ClipRecord const>::hb_sorted_array_t(OT::ClipRecord const*, unsigned int) Line | Count | Source | 329 | 9.09k | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::Record<OT::Script> const>::hb_sorted_array_t(OT::Record<OT::Script> const*, unsigned int) Line | Count | Source | 329 | 2.02M | 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 | 329 | 581k | 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 | 329 | 417k | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::Tag const>::hb_sorted_array_t(OT::Tag const*, unsigned int) Line | Count | Source | 329 | 5.08k | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<OT::HBGlyphID16>::hb_sorted_array_t(OT::HBGlyphID16*, unsigned int) Line | Count | Source | 329 | 3.90k | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
hb_sorted_array_t<LangTag const>::hb_sorted_array_t(LangTag const*, unsigned int) Line | Count | Source | 329 | 290k | constexpr hb_sorted_array_t (Type *array_, unsigned int length_) : hb_array_t<Type> (array_, length_) {} |
|
330 | | template <unsigned int length_> |
331 | 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]) |
332 | | |
333 | | template <typename U, |
334 | | hb_enable_if (hb_is_cr_convertible(U, Type))> |
335 | | constexpr hb_sorted_array_t (const hb_array_t<U> &o) : |
336 | | hb_array_t<Type> (o), |
337 | 7.59M | hb_iter_t<hb_sorted_array_t, Type&> () {}hb_sorted_array_t<AAT::FeatureName const>::hb_sorted_array_t<AAT::FeatureName const, (void*)0>(hb_array_t<AAT::FeatureName const> const&) Line | Count | Source | 337 | 208k | hb_iter_t<hb_sorted_array_t, Type&> () {} |
hb_sorted_array_t<hb_aat_map_builder_t::feature_info_t const>::hb_sorted_array_t<hb_aat_map_builder_t::feature_info_t, (void*)0>(hb_array_t<hb_aat_map_builder_t::feature_info_t> const&) Line | Count | Source | 337 | 217k | hb_iter_t<hb_sorted_array_t, Type&> () {} |
hb_sorted_array_t<hb_aat_map_t::range_flags_t const>::hb_sorted_array_t<hb_aat_map_t::range_flags_t, (void*)0>(hb_array_t<hb_aat_map_t::range_flags_t> const&) Line | Count | Source | 337 | 162k | hb_iter_t<hb_sorted_array_t, Type&> () {} |
hb_sorted_array_t<hb_aat_map_builder_t::feature_event_t>::hb_sorted_array_t<hb_aat_map_builder_t::feature_event_t, (void*)0>(hb_array_t<hb_aat_map_builder_t::feature_event_t> const&) Line | Count | Source | 337 | 120k | hb_iter_t<hb_sorted_array_t, Type&> () {} |
hb_sorted_array_t<hb_aat_map_builder_t::feature_info_t>::hb_sorted_array_t<hb_aat_map_builder_t::feature_info_t, (void*)0>(hb_array_t<hb_aat_map_builder_t::feature_info_t> const&) Line | Count | Source | 337 | 119k | hb_iter_t<hb_sorted_array_t, Type&> () {} |
Unexecuted instantiation: hb_sorted_array_t<OT::TableRecord const>::hb_sorted_array_t<OT::TableRecord const, (void*)0>(hb_array_t<OT::TableRecord const> const&) hb_sorted_array_t<hb_bit_set_t::page_map_t const>::hb_sorted_array_t<hb_bit_set_t::page_map_t, (void*)0>(hb_array_t<hb_bit_set_t::page_map_t> const&) Line | Count | Source | 337 | 3.25M | hb_iter_t<hb_sorted_array_t, Type&> () {} |
hb_sorted_array_t<OT::cff1::accelerator_t::gname_t>::hb_sorted_array_t<OT::cff1::accelerator_t::gname_t, (void*)0>(hb_array_t<OT::cff1::accelerator_t::gname_t> const&) Line | Count | Source | 337 | 61.6k | hb_iter_t<hb_sorted_array_t, Type&> () {} |
Unexecuted instantiation: hb_sorted_array_t<OT::Record<OT::Script> const>::hb_sorted_array_t<OT::Record<OT::Script> const, (void*)0>(hb_array_t<OT::Record<OT::Script> const> const&) Unexecuted instantiation: hb_sorted_array_t<OT::Record<OT::Feature> const>::hb_sorted_array_t<OT::Record<OT::Feature> const, (void*)0>(hb_array_t<OT::Record<OT::Feature> const> const&) Unexecuted instantiation: hb_sorted_array_t<OT::Record<OT::LangSys> const>::hb_sorted_array_t<OT::Record<OT::LangSys> const, (void*)0>(hb_array_t<OT::Record<OT::LangSys> const> const&) hb_sorted_array_t<hb_ot_name_entry_t>::hb_sorted_array_t<hb_ot_name_entry_t, (void*)0>(hb_array_t<hb_ot_name_entry_t> const&) Line | Count | Source | 337 | 206k | hb_iter_t<hb_sorted_array_t, Type&> () {} |
hb_sorted_array_t<hb_ot_map_t::feature_map_t const>::hb_sorted_array_t<hb_ot_map_t::feature_map_t, (void*)0>(hb_array_t<hb_ot_map_t::feature_map_t> const&) Line | Count | Source | 337 | 2.85M | hb_iter_t<hb_sorted_array_t, Type&> () {} |
hb_sorted_array_t<hb_ot_map_builder_t::feature_info_t>::hb_sorted_array_t<hb_ot_map_builder_t::feature_info_t, (void*)0>(hb_array_t<hb_ot_map_builder_t::feature_info_t> const&) Line | Count | Source | 337 | 288k | hb_iter_t<hb_sorted_array_t, Type&> () {} |
hb_sorted_array_t<hb_ot_map_t::lookup_map_t>::hb_sorted_array_t<hb_ot_map_t::lookup_map_t, (void*)0>(hb_array_t<hb_ot_map_t::lookup_map_t> const&) Line | Count | Source | 337 | 86.1k | hb_iter_t<hb_sorted_array_t, Type&> () {} |
hb_sorted_array_t<OT::HBGlyphID16>::hb_sorted_array_t<OT::HBGlyphID16, (void*)0>(hb_array_t<OT::HBGlyphID16> const&) Line | Count | Source | 337 | 1.84k | hb_iter_t<hb_sorted_array_t, Type&> () {} |
hb_sorted_array_t<OT::HBGlyphID16 const>::hb_sorted_array_t<OT::HBGlyphID16, (void*)0>(hb_array_t<OT::HBGlyphID16> const&) Line | Count | Source | 337 | 2.63k | hb_iter_t<hb_sorted_array_t, Type&> () {} |
|
338 | | template <typename U, |
339 | | hb_enable_if (hb_is_cr_convertible(U, Type))> |
340 | | hb_sorted_array_t& operator = (const hb_array_t<U> &o) |
341 | | { hb_array_t<Type> (*this) = o; return *this; } |
342 | | |
343 | | /* Iterator implementation. */ |
344 | | |
345 | | /* See comment in hb_array_of::operator != */ |
346 | | bool operator != (const hb_sorted_array_t& o) const |
347 | 104k | { 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 hb_sorted_array_t<OT::HBGlyphID16>::operator!=(hb_sorted_array_t<OT::HBGlyphID16> const&) const Line | Count | Source | 347 | 104k | { return this->arrayZ != o.arrayZ || this->length != o.length; } |
|
348 | | |
349 | | /* Faster range-based for loop without bounds-check. */ |
350 | 419k | Type *begin () const { return this->arrayZ; }Unexecuted instantiation: hb_sorted_array_t<unsigned int const>::begin() const hb_sorted_array_t<OT::HBGlyphID16 const>::begin() const Line | Count | Source | 350 | 2.27k | Type *begin () const { return this->arrayZ; } |
Unexecuted instantiation: hb_sorted_array_t<OT::HBGlyphID24 const>::begin() const hb_sorted_array_t<OT::UVSMapping const>::begin() const Line | Count | Source | 350 | 208k | Type *begin () const { return this->arrayZ; } |
hb_sorted_array_t<OT::VariationSelectorRecord const>::begin() const Line | Count | Source | 350 | 208k | Type *begin () const { return this->arrayZ; } |
Unexecuted instantiation: hb_sorted_array_t<OT::ClipRecord const>::begin() const Unexecuted instantiation: hb_sorted_array_t<OT::BaseGlyphPaintRecord const>::begin() const |
351 | 419k | Type *end () const { return this->arrayZ + this->length; }Unexecuted instantiation: hb_sorted_array_t<unsigned int const>::end() const hb_sorted_array_t<OT::HBGlyphID16 const>::end() const Line | Count | Source | 351 | 2.27k | Type *end () const { return this->arrayZ + this->length; } |
Unexecuted instantiation: hb_sorted_array_t<OT::HBGlyphID24 const>::end() const hb_sorted_array_t<OT::UVSMapping const>::end() const Line | Count | Source | 351 | 208k | Type *end () const { return this->arrayZ + this->length; } |
hb_sorted_array_t<OT::VariationSelectorRecord const>::end() const Line | Count | Source | 351 | 208k | Type *end () const { return this->arrayZ + this->length; } |
Unexecuted instantiation: hb_sorted_array_t<OT::ClipRecord const>::end() const Unexecuted instantiation: hb_sorted_array_t<OT::BaseGlyphPaintRecord const>::end() const |
352 | | |
353 | | |
354 | | hb_sorted_array_t sub_array (unsigned int start_offset, unsigned int *seg_count /* IN/OUT */) const |
355 | 208k | { return hb_sorted_array_t (((const hb_array_t<Type> *) (this))->sub_array (start_offset, seg_count)); }hb_sorted_array_t<AAT::FeatureName const>::sub_array(unsigned int, unsigned int*) const Line | Count | Source | 355 | 208k | { return hb_sorted_array_t (((const hb_array_t<Type> *) (this))->sub_array (start_offset, seg_count)); } |
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 |
356 | | hb_sorted_array_t sub_array (unsigned int start_offset, unsigned int seg_count) const |
357 | | { return sub_array (start_offset, &seg_count); } |
358 | | |
359 | | hb_sorted_array_t truncate (unsigned length) const { return sub_array (0, length); } |
360 | | |
361 | | template <typename T> |
362 | | Type *bsearch (const T &x, Type *not_found = nullptr) |
363 | 34.5M | { |
364 | 34.5M | unsigned int i; |
365 | 34.5M | return bfind (x, &i) ? &this->arrayZ[i] : not_found; |
366 | 34.5M | } 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*) Line | Count | Source | 363 | 417k | { | 364 | 417k | unsigned int i; | 365 | 417k | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 366 | 417k | } |
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*) 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*) Line | Count | Source | 363 | 217k | { | 364 | 217k | unsigned int i; | 365 | 217k | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 366 | 217k | } |
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 | 363 | 23.6M | { | 364 | 23.6M | unsigned int i; | 365 | 23.6M | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 366 | 23.6M | } |
OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> const* hb_sorted_array_t<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> const>::bsearch<unsigned int>(unsigned int const&, OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> const*) Line | Count | Source | 363 | 1.19M | { | 364 | 1.19M | unsigned int i; | 365 | 1.19M | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 366 | 1.19M | } |
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 | 363 | 38.1k | { | 364 | 38.1k | unsigned int i; | 365 | 38.1k | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 366 | 38.1k | } |
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 | 363 | 2.85M | { | 364 | 2.85M | unsigned int i; | 365 | 2.85M | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 366 | 2.85M | } |
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 | 363 | 210k | { | 364 | 210k | unsigned int i; | 365 | 210k | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 366 | 210k | } |
OT::VariationSelectorRecord const* hb_sorted_array_t<OT::VariationSelectorRecord const>::bsearch<unsigned int>(unsigned int const&, OT::VariationSelectorRecord const*) Line | Count | Source | 363 | 418k | { | 364 | 418k | unsigned int i; | 365 | 418k | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 366 | 418k | } |
OT::CmapSubtableLongGroup const* hb_sorted_array_t<OT::CmapSubtableLongGroup const>::bsearch<unsigned int>(unsigned int const&, OT::CmapSubtableLongGroup const*) Line | Count | Source | 363 | 3.15M | { | 364 | 3.15M | unsigned int i; | 365 | 3.15M | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 366 | 3.15M | } |
OT::EncodingRecord const* hb_sorted_array_t<OT::EncodingRecord const>::bsearch<OT::EncodingRecord>(OT::EncodingRecord const&, OT::EncodingRecord const*) Line | Count | Source | 363 | 1.48M | { | 364 | 1.48M | unsigned int i; | 365 | 1.48M | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 366 | 1.48M | } |
OT::ClipRecord const* hb_sorted_array_t<OT::ClipRecord const>::bsearch<unsigned int>(unsigned int const&, OT::ClipRecord const*) Line | Count | Source | 363 | 9.09k | { | 364 | 9.09k | unsigned int i; | 365 | 9.09k | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 366 | 9.09k | } |
OT::BaseGlyphRecord const* hb_sorted_array_t<OT::BaseGlyphRecord const>::bsearch<unsigned int>(unsigned int const&, OT::BaseGlyphRecord const*) Line | Count | Source | 363 | 212k | { | 364 | 212k | unsigned int i; | 365 | 212k | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 366 | 212k | } |
OT::BaseGlyphPaintRecord const* hb_sorted_array_t<OT::BaseGlyphPaintRecord const>::bsearch<unsigned int>(unsigned int const&, OT::BaseGlyphPaintRecord const*) Line | Count | Source | 363 | 8.97k | { | 364 | 8.97k | unsigned int i; | 365 | 8.97k | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 366 | 8.97k | } |
OT::SVGDocumentIndexEntry const* hb_sorted_array_t<OT::SVGDocumentIndexEntry const>::bsearch<unsigned int>(unsigned int const&, OT::SVGDocumentIndexEntry const*) Line | Count | Source | 363 | 208k | { | 364 | 208k | unsigned int i; | 365 | 208k | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 366 | 208k | } |
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*) Line | Count | Source | 363 | 20.5k | { | 364 | 20.5k | unsigned int i; | 365 | 20.5k | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 366 | 20.5k | } |
OT::BaseScriptRecord const* hb_sorted_array_t<OT::BaseScriptRecord const>::bsearch<unsigned int>(unsigned int const&, OT::BaseScriptRecord const*) Line | Count | Source | 363 | 417k | { | 364 | 417k | unsigned int i; | 365 | 417k | return bfind (x, &i) ? &this->arrayZ[i] : not_found; | 366 | 417k | } |
Unexecuted instantiation: OT::FeatMinMaxRecord const* hb_sorted_array_t<OT::FeatMinMaxRecord const>::bsearch<unsigned int>(unsigned int const&, OT::FeatMinMaxRecord const*) Unexecuted instantiation: OT::BaseLangSysRecord const* hb_sorted_array_t<OT::BaseLangSysRecord const>::bsearch<unsigned int>(unsigned int const&, OT::BaseLangSysRecord 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*) |
367 | | template <typename T> |
368 | | const Type *bsearch (const T &x, const Type *not_found = nullptr) const |
369 | | { |
370 | | unsigned int i; |
371 | | return bfind (x, &i) ? &this->arrayZ[i] : not_found; |
372 | | } |
373 | | template <typename T> |
374 | | bool bfind (const T &x, unsigned int *i = nullptr, |
375 | | hb_not_found_t not_found = HB_NOT_FOUND_DONT_STORE, |
376 | | unsigned int to_store = (unsigned int) -1) const |
377 | 87.8M | { |
378 | 87.8M | unsigned pos; |
379 | | |
380 | 87.8M | if (bsearch_impl (x, &pos)) |
381 | 66.2M | { |
382 | 66.2M | if (i) |
383 | 66.2M | *i = pos; |
384 | 66.2M | return true; |
385 | 66.2M | } |
386 | | |
387 | 21.6M | if (i) |
388 | 21.3M | { |
389 | 21.3M | switch (not_found) |
390 | 21.3M | { |
391 | 11.9M | case HB_NOT_FOUND_DONT_STORE: |
392 | 11.9M | break; |
393 | | |
394 | 6.76M | case HB_NOT_FOUND_STORE: |
395 | 6.76M | *i = to_store; |
396 | 6.76M | break; |
397 | | |
398 | 2.68M | case HB_NOT_FOUND_STORE_CLOSEST: |
399 | 2.68M | *i = pos; |
400 | 2.68M | break; |
401 | 21.3M | } |
402 | 21.3M | } |
403 | 21.6M | return false; |
404 | 21.6M | } 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 Line | Count | Source | 377 | 417k | { | 378 | 417k | unsigned pos; | 379 | | | 380 | 417k | if (bsearch_impl (x, &pos)) | 381 | 184 | { | 382 | 184 | if (i) | 383 | 184 | *i = pos; | 384 | 184 | return true; | 385 | 184 | } | 386 | | | 387 | 417k | if (i) | 388 | 417k | { | 389 | 417k | switch (not_found) | 390 | 417k | { | 391 | 417k | case HB_NOT_FOUND_DONT_STORE: | 392 | 417k | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 417k | } | 402 | 417k | } | 403 | 417k | return false; | 404 | 417k | } |
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 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 Line | Count | Source | 377 | 217k | { | 378 | 217k | unsigned pos; | 379 | | | 380 | 217k | if (bsearch_impl (x, &pos)) | 381 | 0 | { | 382 | 0 | if (i) | 383 | 0 | *i = pos; | 384 | 0 | return true; | 385 | 0 | } | 386 | | | 387 | 217k | if (i) | 388 | 217k | { | 389 | 217k | switch (not_found) | 390 | 217k | { | 391 | 217k | case HB_NOT_FOUND_DONT_STORE: | 392 | 217k | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 217k | } | 402 | 217k | } | 403 | 217k | return false; | 404 | 217k | } |
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 | 377 | 23.6M | { | 378 | 23.6M | unsigned pos; | 379 | | | 380 | 23.6M | if (bsearch_impl (x, &pos)) | 381 | 20.4M | { | 382 | 20.4M | if (i) | 383 | 20.4M | *i = pos; | 384 | 20.4M | return true; | 385 | 20.4M | } | 386 | | | 387 | 3.18M | if (i) | 388 | 3.18M | { | 389 | 3.18M | switch (not_found) | 390 | 3.18M | { | 391 | 3.18M | case HB_NOT_FOUND_DONT_STORE: | 392 | 3.18M | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 3.18M | } | 402 | 3.18M | } | 403 | 3.18M | return false; | 404 | 3.18M | } |
bool hb_sorted_array_t<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 377 | 1.19M | { | 378 | 1.19M | unsigned pos; | 379 | | | 380 | 1.19M | if (bsearch_impl (x, &pos)) | 381 | 392k | { | 382 | 392k | if (i) | 383 | 392k | *i = pos; | 384 | 392k | return true; | 385 | 392k | } | 386 | | | 387 | 801k | if (i) | 388 | 801k | { | 389 | 801k | switch (not_found) | 390 | 801k | { | 391 | 801k | case HB_NOT_FOUND_DONT_STORE: | 392 | 801k | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 801k | } | 402 | 801k | } | 403 | 801k | return false; | 404 | 801k | } |
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 | 377 | 45.1M | { | 378 | 45.1M | unsigned pos; | 379 | | | 380 | 45.1M | if (bsearch_impl (x, &pos)) | 381 | 42.0M | { | 382 | 42.0M | if (i) | 383 | 42.0M | *i = pos; | 384 | 42.0M | return true; | 385 | 42.0M | } | 386 | | | 387 | 3.11M | if (i) | 388 | 3.11M | { | 389 | 3.11M | switch (not_found) | 390 | 3.11M | { | 391 | 0 | case HB_NOT_FOUND_DONT_STORE: | 392 | 0 | break; | 393 | | | 394 | 3.11M | case HB_NOT_FOUND_STORE: | 395 | 3.11M | *i = to_store; | 396 | 3.11M | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 3.11M | } | 402 | 3.11M | } | 403 | 3.11M | return false; | 404 | 3.11M | } |
bool hb_sorted_array_t<OT::HBGlyphID24 const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 377 | 141k | { | 378 | 141k | unsigned pos; | 379 | | | 380 | 141k | if (bsearch_impl (x, &pos)) | 381 | 108k | { | 382 | 108k | if (i) | 383 | 108k | *i = pos; | 384 | 108k | return true; | 385 | 108k | } | 386 | | | 387 | 32.9k | if (i) | 388 | 32.9k | { | 389 | 32.9k | switch (not_found) | 390 | 32.9k | { | 391 | 0 | case HB_NOT_FOUND_DONT_STORE: | 392 | 0 | break; | 393 | | | 394 | 32.9k | case HB_NOT_FOUND_STORE: | 395 | 32.9k | *i = to_store; | 396 | 32.9k | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 32.9k | } | 402 | 32.9k | } | 403 | 32.9k | return false; | 404 | 32.9k | } |
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 | 377 | 38.1k | { | 378 | 38.1k | unsigned pos; | 379 | | | 380 | 38.1k | if (bsearch_impl (x, &pos)) | 381 | 4.24k | { | 382 | 4.24k | if (i) | 383 | 4.24k | *i = pos; | 384 | 4.24k | return true; | 385 | 4.24k | } | 386 | | | 387 | 33.8k | if (i) | 388 | 33.8k | { | 389 | 33.8k | switch (not_found) | 390 | 33.8k | { | 391 | 33.8k | case HB_NOT_FOUND_DONT_STORE: | 392 | 33.8k | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 33.8k | } | 402 | 33.8k | } | 403 | 33.8k | return false; | 404 | 33.8k | } |
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 | 377 | 2.85M | { | 378 | 2.85M | unsigned pos; | 379 | | | 380 | 2.85M | if (bsearch_impl (x, &pos)) | 381 | 929k | { | 382 | 929k | if (i) | 383 | 929k | *i = pos; | 384 | 929k | return true; | 385 | 929k | } | 386 | | | 387 | 1.92M | if (i) | 388 | 1.92M | { | 389 | 1.92M | switch (not_found) | 390 | 1.92M | { | 391 | 1.92M | case HB_NOT_FOUND_DONT_STORE: | 392 | 1.92M | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 1.92M | } | 402 | 1.92M | } | 403 | 1.92M | return false; | 404 | 1.92M | } |
Unexecuted instantiation: 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 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 | 377 | 3.25M | { | 378 | 3.25M | unsigned pos; | 379 | | | 380 | 3.25M | if (bsearch_impl (x, &pos)) | 381 | 571k | { | 382 | 571k | if (i) | 383 | 571k | *i = pos; | 384 | 571k | return true; | 385 | 571k | } | 386 | | | 387 | 2.68M | if (i) | 388 | 2.68M | { | 389 | 2.68M | switch (not_found) | 390 | 2.68M | { | 391 | 0 | case HB_NOT_FOUND_DONT_STORE: | 392 | 0 | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 2.68M | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 2.68M | *i = pos; | 400 | 2.68M | break; | 401 | 2.68M | } | 402 | 2.68M | } | 403 | 2.68M | return false; | 404 | 2.68M | } |
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 | 377 | 581k | { | 378 | 581k | unsigned pos; | 379 | | | 380 | 581k | if (bsearch_impl (x, &pos)) | 381 | 11 | { | 382 | 11 | if (i) | 383 | 11 | *i = pos; | 384 | 11 | return true; | 385 | 11 | } | 386 | | | 387 | 581k | if (i) | 388 | 581k | { | 389 | 581k | switch (not_found) | 390 | 581k | { | 391 | 0 | case HB_NOT_FOUND_DONT_STORE: | 392 | 0 | break; | 393 | | | 394 | 581k | case HB_NOT_FOUND_STORE: | 395 | 581k | *i = to_store; | 396 | 581k | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 581k | } | 402 | 581k | } | 403 | 581k | return false; | 404 | 581k | } |
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 | 377 | 2.02M | { | 378 | 2.02M | unsigned pos; | 379 | | | 380 | 2.02M | if (bsearch_impl (x, &pos)) | 381 | 136k | { | 382 | 136k | if (i) | 383 | 136k | *i = pos; | 384 | 136k | return true; | 385 | 136k | } | 386 | | | 387 | 1.88M | if (i) | 388 | 1.88M | { | 389 | 1.88M | switch (not_found) | 390 | 1.88M | { | 391 | 0 | case HB_NOT_FOUND_DONT_STORE: | 392 | 0 | break; | 393 | | | 394 | 1.88M | case HB_NOT_FOUND_STORE: | 395 | 1.88M | *i = to_store; | 396 | 1.88M | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 1.88M | } | 402 | 1.88M | } | 403 | 1.88M | return false; | 404 | 1.88M | } |
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 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 | 377 | 210k | { | 378 | 210k | unsigned pos; | 379 | | | 380 | 210k | if (bsearch_impl (x, &pos)) | 381 | 0 | { | 382 | 0 | if (i) | 383 | 0 | *i = pos; | 384 | 0 | return true; | 385 | 0 | } | 386 | | | 387 | 210k | if (i) | 388 | 0 | { | 389 | 0 | switch (not_found) | 390 | 0 | { | 391 | 0 | case HB_NOT_FOUND_DONT_STORE: | 392 | 0 | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 0 | } | 402 | 0 | } | 403 | 210k | return false; | 404 | 210k | } |
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 | 377 | 210k | { | 378 | 210k | unsigned pos; | 379 | | | 380 | 210k | if (bsearch_impl (x, &pos)) | 381 | 0 | { | 382 | 0 | if (i) | 383 | 0 | *i = pos; | 384 | 0 | return true; | 385 | 0 | } | 386 | | | 387 | 210k | if (i) | 388 | 210k | { | 389 | 210k | switch (not_found) | 390 | 210k | { | 391 | 210k | case HB_NOT_FOUND_DONT_STORE: | 392 | 210k | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 210k | } | 402 | 210k | } | 403 | 210k | return false; | 404 | 210k | } |
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 | 377 | 418k | { | 378 | 418k | unsigned pos; | 379 | | | 380 | 418k | if (bsearch_impl (x, &pos)) | 381 | 24 | { | 382 | 24 | if (i) | 383 | 24 | *i = pos; | 384 | 24 | return true; | 385 | 24 | } | 386 | | | 387 | 418k | if (i) | 388 | 418k | { | 389 | 418k | switch (not_found) | 390 | 418k | { | 391 | 418k | case HB_NOT_FOUND_DONT_STORE: | 392 | 418k | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 418k | } | 402 | 418k | } | 403 | 418k | return false; | 404 | 418k | } |
bool hb_sorted_array_t<OT::CmapSubtableLongGroup const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 377 | 3.15M | { | 378 | 3.15M | unsigned pos; | 379 | | | 380 | 3.15M | if (bsearch_impl (x, &pos)) | 381 | 967k | { | 382 | 967k | if (i) | 383 | 967k | *i = pos; | 384 | 967k | return true; | 385 | 967k | } | 386 | | | 387 | 2.19M | if (i) | 388 | 2.19M | { | 389 | 2.19M | switch (not_found) | 390 | 2.19M | { | 391 | 2.19M | case HB_NOT_FOUND_DONT_STORE: | 392 | 2.19M | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 2.19M | } | 402 | 2.19M | } | 403 | 2.19M | return false; | 404 | 2.19M | } |
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 | 377 | 1.48M | { | 378 | 1.48M | unsigned pos; | 379 | | | 380 | 1.48M | if (bsearch_impl (x, &pos)) | 381 | 116k | { | 382 | 116k | if (i) | 383 | 116k | *i = pos; | 384 | 116k | return true; | 385 | 116k | } | 386 | | | 387 | 1.36M | if (i) | 388 | 1.36M | { | 389 | 1.36M | switch (not_found) | 390 | 1.36M | { | 391 | 1.36M | case HB_NOT_FOUND_DONT_STORE: | 392 | 1.36M | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 1.36M | } | 402 | 1.36M | } | 403 | 1.36M | return false; | 404 | 1.36M | } |
bool hb_sorted_array_t<OT::ClipRecord const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 377 | 9.09k | { | 378 | 9.09k | unsigned pos; | 379 | | | 380 | 9.09k | if (bsearch_impl (x, &pos)) | 381 | 128 | { | 382 | 128 | if (i) | 383 | 128 | *i = pos; | 384 | 128 | return true; | 385 | 128 | } | 386 | | | 387 | 8.96k | if (i) | 388 | 8.96k | { | 389 | 8.96k | switch (not_found) | 390 | 8.96k | { | 391 | 8.96k | case HB_NOT_FOUND_DONT_STORE: | 392 | 8.96k | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 8.96k | } | 402 | 8.96k | } | 403 | 8.96k | return false; | 404 | 8.96k | } |
bool hb_sorted_array_t<OT::BaseGlyphRecord const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 377 | 212k | { | 378 | 212k | unsigned pos; | 379 | | | 380 | 212k | if (bsearch_impl (x, &pos)) | 381 | 39 | { | 382 | 39 | if (i) | 383 | 39 | *i = pos; | 384 | 39 | return true; | 385 | 39 | } | 386 | | | 387 | 212k | if (i) | 388 | 212k | { | 389 | 212k | switch (not_found) | 390 | 212k | { | 391 | 212k | case HB_NOT_FOUND_DONT_STORE: | 392 | 212k | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 212k | } | 402 | 212k | } | 403 | 212k | return false; | 404 | 212k | } |
bool hb_sorted_array_t<OT::BaseGlyphPaintRecord const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 377 | 8.97k | { | 378 | 8.97k | unsigned pos; | 379 | | | 380 | 8.97k | if (bsearch_impl (x, &pos)) | 381 | 2.97k | { | 382 | 2.97k | if (i) | 383 | 2.97k | *i = pos; | 384 | 2.97k | return true; | 385 | 2.97k | } | 386 | | | 387 | 6.00k | if (i) | 388 | 6.00k | { | 389 | 6.00k | switch (not_found) | 390 | 6.00k | { | 391 | 6.00k | case HB_NOT_FOUND_DONT_STORE: | 392 | 6.00k | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 6.00k | } | 402 | 6.00k | } | 403 | 6.00k | return false; | 404 | 6.00k | } |
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 | 377 | 1.72M | { | 378 | 1.72M | unsigned pos; | 379 | | | 380 | 1.72M | if (bsearch_impl (x, &pos)) | 381 | 569k | { | 382 | 569k | if (i) | 383 | 569k | *i = pos; | 384 | 569k | return true; | 385 | 569k | } | 386 | | | 387 | 1.15M | if (i) | 388 | 1.15M | { | 389 | 1.15M | switch (not_found) | 390 | 1.15M | { | 391 | 0 | case HB_NOT_FOUND_DONT_STORE: | 392 | 0 | break; | 393 | | | 394 | 1.15M | case HB_NOT_FOUND_STORE: | 395 | 1.15M | *i = to_store; | 396 | 1.15M | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 1.15M | } | 402 | 1.15M | } | 403 | 1.15M | return false; | 404 | 1.15M | } |
bool hb_sorted_array_t<OT::SVGDocumentIndexEntry const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 377 | 208k | { | 378 | 208k | unsigned pos; | 379 | | | 380 | 208k | if (bsearch_impl (x, &pos)) | 381 | 21 | { | 382 | 21 | if (i) | 383 | 21 | *i = pos; | 384 | 21 | return true; | 385 | 21 | } | 386 | | | 387 | 208k | if (i) | 388 | 208k | { | 389 | 208k | switch (not_found) | 390 | 208k | { | 391 | 208k | case HB_NOT_FOUND_DONT_STORE: | 392 | 208k | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 208k | } | 402 | 208k | } | 403 | 208k | return false; | 404 | 208k | } |
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 Line | Count | Source | 377 | 20.5k | { | 378 | 20.5k | unsigned pos; | 379 | | | 380 | 20.5k | if (bsearch_impl (x, &pos)) | 381 | 530 | { | 382 | 530 | if (i) | 383 | 530 | *i = pos; | 384 | 530 | return true; | 385 | 530 | } | 386 | | | 387 | 20.0k | if (i) | 388 | 20.0k | { | 389 | 20.0k | switch (not_found) | 390 | 20.0k | { | 391 | 20.0k | case HB_NOT_FOUND_DONT_STORE: | 392 | 20.0k | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 20.0k | } | 402 | 20.0k | } | 403 | 20.0k | return false; | 404 | 20.0k | } |
bool hb_sorted_array_t<OT::VertOriginMetric const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 377 | 960 | { | 378 | 960 | unsigned pos; | 379 | | | 380 | 960 | if (bsearch_impl (x, &pos)) | 381 | 2 | { | 382 | 2 | if (i) | 383 | 2 | *i = pos; | 384 | 2 | return true; | 385 | 2 | } | 386 | | | 387 | 958 | if (i) | 388 | 958 | { | 389 | 958 | switch (not_found) | 390 | 958 | { | 391 | 958 | case HB_NOT_FOUND_DONT_STORE: | 392 | 958 | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 958 | } | 402 | 958 | } | 403 | 958 | return false; | 404 | 958 | } |
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 | 377 | 417k | { | 378 | 417k | unsigned pos; | 379 | | | 380 | 417k | if (bsearch_impl (x, &pos)) | 381 | 5.57k | { | 382 | 5.57k | if (i) | 383 | 5.57k | *i = pos; | 384 | 5.57k | return true; | 385 | 5.57k | } | 386 | | | 387 | 411k | if (i) | 388 | 411k | { | 389 | 411k | switch (not_found) | 390 | 411k | { | 391 | 411k | case HB_NOT_FOUND_DONT_STORE: | 392 | 411k | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 411k | } | 402 | 411k | } | 403 | 411k | return false; | 404 | 411k | } |
bool hb_sorted_array_t<OT::Tag const>::bfind<unsigned int>(unsigned int const&, unsigned int*, hb_not_found_t, unsigned int) const Line | Count | Source | 377 | 5.08k | { | 378 | 5.08k | unsigned pos; | 379 | | | 380 | 5.08k | if (bsearch_impl (x, &pos)) | 381 | 0 | { | 382 | 0 | if (i) | 383 | 0 | *i = pos; | 384 | 0 | return true; | 385 | 0 | } | 386 | | | 387 | 5.08k | if (i) | 388 | 5.08k | { | 389 | 5.08k | switch (not_found) | 390 | 5.08k | { | 391 | 5.08k | case HB_NOT_FOUND_DONT_STORE: | 392 | 5.08k | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 5.08k | } | 402 | 5.08k | } | 403 | 5.08k | return false; | 404 | 5.08k | } |
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::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::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 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 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 | 377 | 290k | { | 378 | 290k | unsigned pos; | 379 | | | 380 | 290k | if (bsearch_impl (x, &pos)) | 381 | 0 | { | 382 | 0 | if (i) | 383 | 0 | *i = pos; | 384 | 0 | return true; | 385 | 0 | } | 386 | | | 387 | 290k | if (i) | 388 | 290k | { | 389 | 290k | switch (not_found) | 390 | 290k | { | 391 | 290k | case HB_NOT_FOUND_DONT_STORE: | 392 | 290k | break; | 393 | | | 394 | 0 | case HB_NOT_FOUND_STORE: | 395 | 0 | *i = to_store; | 396 | 0 | break; | 397 | | | 398 | 0 | case HB_NOT_FOUND_STORE_CLOSEST: | 399 | 0 | *i = pos; | 400 | 0 | break; | 401 | 290k | } | 402 | 290k | } | 403 | 290k | return false; | 404 | 290k | } |
|
405 | | template <typename T, typename ...Ts> |
406 | | bool bsearch_impl (const T &x, unsigned *pos, Ts... ds) const |
407 | 87.8M | { |
408 | 87.8M | return hb_bsearch_impl (pos, |
409 | 87.8M | x, |
410 | 87.8M | this->arrayZ, |
411 | 87.8M | this->length, |
412 | 87.8M | sizeof (Type), |
413 | 87.8M | _hb_cmp_method<T, Type, Ts...>, |
414 | 87.8M | std::forward<Ts> (ds)...); |
415 | 87.8M | } 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 Line | Count | Source | 407 | 417k | { | 408 | 417k | return hb_bsearch_impl (pos, | 409 | 417k | x, | 410 | 417k | this->arrayZ, | 411 | 417k | this->length, | 412 | 417k | sizeof (Type), | 413 | 417k | _hb_cmp_method<T, Type, Ts...>, | 414 | 417k | std::forward<Ts> (ds)...); | 415 | 417k | } |
Unexecuted instantiation: bool hb_sorted_array_t<hb_aat_feature_mapping_t const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const 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 Line | Count | Source | 407 | 217k | { | 408 | 217k | return hb_bsearch_impl (pos, | 409 | 217k | x, | 410 | 217k | this->arrayZ, | 411 | 217k | this->length, | 412 | 217k | sizeof (Type), | 413 | 217k | _hb_cmp_method<T, Type, Ts...>, | 414 | 217k | std::forward<Ts> (ds)...); | 415 | 217k | } |
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 | 407 | 23.6M | { | 408 | 23.6M | return hb_bsearch_impl (pos, | 409 | 23.6M | x, | 410 | 23.6M | this->arrayZ, | 411 | 23.6M | this->length, | 412 | 23.6M | sizeof (Type), | 413 | 23.6M | _hb_cmp_method<T, Type, Ts...>, | 414 | 23.6M | std::forward<Ts> (ds)...); | 415 | 23.6M | } |
bool hb_sorted_array_t<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 407 | 1.19M | { | 408 | 1.19M | return hb_bsearch_impl (pos, | 409 | 1.19M | x, | 410 | 1.19M | this->arrayZ, | 411 | 1.19M | this->length, | 412 | 1.19M | sizeof (Type), | 413 | 1.19M | _hb_cmp_method<T, Type, Ts...>, | 414 | 1.19M | std::forward<Ts> (ds)...); | 415 | 1.19M | } |
bool hb_sorted_array_t<OT::HBGlyphID16 const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 407 | 45.1M | { | 408 | 45.1M | return hb_bsearch_impl (pos, | 409 | 45.1M | x, | 410 | 45.1M | this->arrayZ, | 411 | 45.1M | this->length, | 412 | 45.1M | sizeof (Type), | 413 | 45.1M | _hb_cmp_method<T, Type, Ts...>, | 414 | 45.1M | std::forward<Ts> (ds)...); | 415 | 45.1M | } |
bool hb_sorted_array_t<OT::HBGlyphID24 const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 407 | 141k | { | 408 | 141k | return hb_bsearch_impl (pos, | 409 | 141k | x, | 410 | 141k | this->arrayZ, | 411 | 141k | this->length, | 412 | 141k | sizeof (Type), | 413 | 141k | _hb_cmp_method<T, Type, Ts...>, | 414 | 141k | std::forward<Ts> (ds)...); | 415 | 141k | } |
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 | 407 | 38.1k | { | 408 | 38.1k | return hb_bsearch_impl (pos, | 409 | 38.1k | x, | 410 | 38.1k | this->arrayZ, | 411 | 38.1k | this->length, | 412 | 38.1k | sizeof (Type), | 413 | 38.1k | _hb_cmp_method<T, Type, Ts...>, | 414 | 38.1k | std::forward<Ts> (ds)...); | 415 | 38.1k | } |
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 | 407 | 2.85M | { | 408 | 2.85M | return hb_bsearch_impl (pos, | 409 | 2.85M | x, | 410 | 2.85M | this->arrayZ, | 411 | 2.85M | this->length, | 412 | 2.85M | sizeof (Type), | 413 | 2.85M | _hb_cmp_method<T, Type, Ts...>, | 414 | 2.85M | std::forward<Ts> (ds)...); | 415 | 2.85M | } |
Unexecuted instantiation: bool hb_sorted_array_t<hb_bit_set_t::page_map_t const>::bsearch_impl<unsigned int>(unsigned int 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 | 407 | 3.25M | { | 408 | 3.25M | return hb_bsearch_impl (pos, | 409 | 3.25M | x, | 410 | 3.25M | this->arrayZ, | 411 | 3.25M | this->length, | 412 | 3.25M | sizeof (Type), | 413 | 3.25M | _hb_cmp_method<T, Type, Ts...>, | 414 | 3.25M | std::forward<Ts> (ds)...); | 415 | 3.25M | } |
bool hb_sorted_array_t<OT::Record<OT::LangSys> const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 407 | 581k | { | 408 | 581k | return hb_bsearch_impl (pos, | 409 | 581k | x, | 410 | 581k | this->arrayZ, | 411 | 581k | this->length, | 412 | 581k | sizeof (Type), | 413 | 581k | _hb_cmp_method<T, Type, Ts...>, | 414 | 581k | std::forward<Ts> (ds)...); | 415 | 581k | } |
bool hb_sorted_array_t<OT::Record<OT::Script> const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 407 | 2.02M | { | 408 | 2.02M | return hb_bsearch_impl (pos, | 409 | 2.02M | x, | 410 | 2.02M | this->arrayZ, | 411 | 2.02M | this->length, | 412 | 2.02M | sizeof (Type), | 413 | 2.02M | _hb_cmp_method<T, Type, Ts...>, | 414 | 2.02M | std::forward<Ts> (ds)...); | 415 | 2.02M | } |
Unexecuted instantiation: bool hb_sorted_array_t<OT::Record<OT::Feature> 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 | 407 | 210k | { | 408 | 210k | return hb_bsearch_impl (pos, | 409 | 210k | x, | 410 | 210k | this->arrayZ, | 411 | 210k | this->length, | 412 | 210k | sizeof (Type), | 413 | 210k | _hb_cmp_method<T, Type, Ts...>, | 414 | 210k | std::forward<Ts> (ds)...); | 415 | 210k | } |
bool hb_sorted_array_t<OT::UVSMapping const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 407 | 210k | { | 408 | 210k | return hb_bsearch_impl (pos, | 409 | 210k | x, | 410 | 210k | this->arrayZ, | 411 | 210k | this->length, | 412 | 210k | sizeof (Type), | 413 | 210k | _hb_cmp_method<T, Type, Ts...>, | 414 | 210k | std::forward<Ts> (ds)...); | 415 | 210k | } |
bool hb_sorted_array_t<OT::VariationSelectorRecord const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 407 | 418k | { | 408 | 418k | return hb_bsearch_impl (pos, | 409 | 418k | x, | 410 | 418k | this->arrayZ, | 411 | 418k | this->length, | 412 | 418k | sizeof (Type), | 413 | 418k | _hb_cmp_method<T, Type, Ts...>, | 414 | 418k | std::forward<Ts> (ds)...); | 415 | 418k | } |
bool hb_sorted_array_t<OT::CmapSubtableLongGroup const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 407 | 3.15M | { | 408 | 3.15M | return hb_bsearch_impl (pos, | 409 | 3.15M | x, | 410 | 3.15M | this->arrayZ, | 411 | 3.15M | this->length, | 412 | 3.15M | sizeof (Type), | 413 | 3.15M | _hb_cmp_method<T, Type, Ts...>, | 414 | 3.15M | std::forward<Ts> (ds)...); | 415 | 3.15M | } |
bool hb_sorted_array_t<OT::EncodingRecord const>::bsearch_impl<OT::EncodingRecord>(OT::EncodingRecord const&, unsigned int*) const Line | Count | Source | 407 | 1.48M | { | 408 | 1.48M | return hb_bsearch_impl (pos, | 409 | 1.48M | x, | 410 | 1.48M | this->arrayZ, | 411 | 1.48M | this->length, | 412 | 1.48M | sizeof (Type), | 413 | 1.48M | _hb_cmp_method<T, Type, Ts...>, | 414 | 1.48M | std::forward<Ts> (ds)...); | 415 | 1.48M | } |
bool hb_sorted_array_t<OT::ClipRecord const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 407 | 9.09k | { | 408 | 9.09k | return hb_bsearch_impl (pos, | 409 | 9.09k | x, | 410 | 9.09k | this->arrayZ, | 411 | 9.09k | this->length, | 412 | 9.09k | sizeof (Type), | 413 | 9.09k | _hb_cmp_method<T, Type, Ts...>, | 414 | 9.09k | std::forward<Ts> (ds)...); | 415 | 9.09k | } |
bool hb_sorted_array_t<OT::BaseGlyphRecord const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 407 | 212k | { | 408 | 212k | return hb_bsearch_impl (pos, | 409 | 212k | x, | 410 | 212k | this->arrayZ, | 411 | 212k | this->length, | 412 | 212k | sizeof (Type), | 413 | 212k | _hb_cmp_method<T, Type, Ts...>, | 414 | 212k | std::forward<Ts> (ds)...); | 415 | 212k | } |
bool hb_sorted_array_t<OT::BaseGlyphPaintRecord const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 407 | 8.97k | { | 408 | 8.97k | return hb_bsearch_impl (pos, | 409 | 8.97k | x, | 410 | 8.97k | this->arrayZ, | 411 | 8.97k | this->length, | 412 | 8.97k | sizeof (Type), | 413 | 8.97k | _hb_cmp_method<T, Type, Ts...>, | 414 | 8.97k | std::forward<Ts> (ds)...); | 415 | 8.97k | } |
bool hb_sorted_array_t<OT::TableRecord const>::bsearch_impl<OT::Tag>(OT::Tag const&, unsigned int*) const Line | Count | Source | 407 | 1.72M | { | 408 | 1.72M | return hb_bsearch_impl (pos, | 409 | 1.72M | x, | 410 | 1.72M | this->arrayZ, | 411 | 1.72M | this->length, | 412 | 1.72M | sizeof (Type), | 413 | 1.72M | _hb_cmp_method<T, Type, Ts...>, | 414 | 1.72M | std::forward<Ts> (ds)...); | 415 | 1.72M | } |
bool hb_sorted_array_t<OT::SVGDocumentIndexEntry const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 407 | 208k | { | 408 | 208k | return hb_bsearch_impl (pos, | 409 | 208k | x, | 410 | 208k | this->arrayZ, | 411 | 208k | this->length, | 412 | 208k | sizeof (Type), | 413 | 208k | _hb_cmp_method<T, Type, Ts...>, | 414 | 208k | std::forward<Ts> (ds)...); | 415 | 208k | } |
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 Line | Count | Source | 407 | 20.5k | { | 408 | 20.5k | return hb_bsearch_impl (pos, | 409 | 20.5k | x, | 410 | 20.5k | this->arrayZ, | 411 | 20.5k | this->length, | 412 | 20.5k | sizeof (Type), | 413 | 20.5k | _hb_cmp_method<T, Type, Ts...>, | 414 | 20.5k | std::forward<Ts> (ds)...); | 415 | 20.5k | } |
bool hb_sorted_array_t<OT::VertOriginMetric const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 407 | 960 | { | 408 | 960 | return hb_bsearch_impl (pos, | 409 | 960 | x, | 410 | 960 | this->arrayZ, | 411 | 960 | this->length, | 412 | 960 | sizeof (Type), | 413 | 960 | _hb_cmp_method<T, Type, Ts...>, | 414 | 960 | std::forward<Ts> (ds)...); | 415 | 960 | } |
bool hb_sorted_array_t<OT::BaseScriptRecord const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 407 | 417k | { | 408 | 417k | return hb_bsearch_impl (pos, | 409 | 417k | x, | 410 | 417k | this->arrayZ, | 411 | 417k | this->length, | 412 | 417k | sizeof (Type), | 413 | 417k | _hb_cmp_method<T, Type, Ts...>, | 414 | 417k | std::forward<Ts> (ds)...); | 415 | 417k | } |
bool hb_sorted_array_t<OT::Tag const>::bsearch_impl<unsigned int>(unsigned int const&, unsigned int*) const Line | Count | Source | 407 | 5.08k | { | 408 | 5.08k | return hb_bsearch_impl (pos, | 409 | 5.08k | x, | 410 | 5.08k | this->arrayZ, | 411 | 5.08k | this->length, | 412 | 5.08k | sizeof (Type), | 413 | 5.08k | _hb_cmp_method<T, Type, Ts...>, | 414 | 5.08k | std::forward<Ts> (ds)...); | 415 | 5.08k | } |
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::BaseLangSysRecord 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 Unexecuted instantiation: bool hb_sorted_array_t<sid_to_gid_t 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 | 407 | 290k | { | 408 | 290k | return hb_bsearch_impl (pos, | 409 | 290k | x, | 410 | 290k | this->arrayZ, | 411 | 290k | this->length, | 412 | 290k | sizeof (Type), | 413 | 290k | _hb_cmp_method<T, Type, Ts...>, | 414 | 290k | std::forward<Ts> (ds)...); | 415 | 290k | } |
|
416 | | }; |
417 | | template <typename T> inline hb_sorted_array_t<T> |
418 | | hb_sorted_array (T *array, unsigned int length) |
419 | 82.4M | { return hb_sorted_array_t<T> (array, length); }hb_sorted_array_t<AAT::FeatureName const> hb_sorted_array<AAT::FeatureName const>(AAT::FeatureName const*, unsigned int) Line | Count | Source | 419 | 626k | { 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 | 419 | 23.6M | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> const> hb_sorted_array<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> const>(OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> const*, unsigned int) Line | Count | Source | 419 | 1.19M | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<OT::HBGlyphID16 const> hb_sorted_array<OT::HBGlyphID16 const>(OT::HBGlyphID16 const*, unsigned int) Line | Count | Source | 419 | 45.4M | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<OT::HBGlyphID24 const> hb_sorted_array<OT::HBGlyphID24 const>(OT::HBGlyphID24 const*, unsigned int) Line | Count | Source | 419 | 143k | { 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 | 419 | 38.1k | { return hb_sorted_array_t<T> (array, length); } |
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 | 419 | 581k | { 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 | 419 | 2.02M | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<OT::UnicodeValueRange const> hb_sorted_array<OT::UnicodeValueRange const>(OT::UnicodeValueRange const*, unsigned int) Line | Count | Source | 419 | 210k | { 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 | 419 | 418k | { 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 | 419 | 627k | { 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) hb_sorted_array_t<OT::CmapSubtableLongGroup const> hb_sorted_array<OT::CmapSubtableLongGroup const>(OT::CmapSubtableLongGroup const*, unsigned int) Line | Count | Source | 419 | 3.15M | { 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 | 419 | 1.48M | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<OT::ClipRecord const> hb_sorted_array<OT::ClipRecord const>(OT::ClipRecord const*, unsigned int) Line | Count | Source | 419 | 9.09k | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<OT::BaseGlyphPaintRecord const> hb_sorted_array<OT::BaseGlyphPaintRecord const>(OT::BaseGlyphPaintRecord const*, unsigned int) Line | Count | Source | 419 | 8.97k | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<OT::BaseGlyphRecord const> hb_sorted_array<OT::BaseGlyphRecord const>(OT::BaseGlyphRecord const*, unsigned int) Line | Count | Source | 419 | 212k | { 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 | 419 | 1.72M | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<OT::SVGDocumentIndexEntry const> hb_sorted_array<OT::SVGDocumentIndexEntry const>(OT::SVGDocumentIndexEntry const*, unsigned int) Line | Count | Source | 419 | 208k | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<OT::VertOriginMetric const> hb_sorted_array<OT::VertOriginMetric const>(OT::VertOriginMetric const*, unsigned int) Line | Count | Source | 419 | 960 | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<OT::BaseScriptRecord const> hb_sorted_array<OT::BaseScriptRecord const>(OT::BaseScriptRecord const*, unsigned int) Line | Count | Source | 419 | 417k | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<OT::Tag const> hb_sorted_array<OT::Tag const>(OT::Tag const*, unsigned int) Line | Count | Source | 419 | 5.08k | { return hb_sorted_array_t<T> (array, length); } |
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::BaseLangSysRecord const> hb_sorted_array<OT::BaseLangSysRecord const>(OT::BaseLangSysRecord 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<OT::HBGlyphID16> hb_sorted_array<OT::HBGlyphID16>(OT::HBGlyphID16*, unsigned int) Line | Count | Source | 419 | 3.90k | { return hb_sorted_array_t<T> (array, length); } |
hb_sorted_array_t<LangTag const> hb_sorted_array<LangTag const>(LangTag const*, unsigned int) Line | Count | Source | 419 | 290k | { return hb_sorted_array_t<T> (array, length); } |
|
420 | | template <typename T, unsigned int length_> inline hb_sorted_array_t<T> |
421 | | hb_sorted_array (T (&array_)[length_]) |
422 | 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]) |
423 | | |
424 | | template <typename T> |
425 | | inline bool hb_array_t<T>::operator == (const hb_array_t<T> &o) const |
426 | | { |
427 | | if (o.length != this->length) return false; |
428 | | for (unsigned int i = 0; i < this->length; i++) { |
429 | | if (this->arrayZ[i] != o.arrayZ[i]) return false; |
430 | | } |
431 | | return true; |
432 | | } |
433 | | template <> |
434 | | inline bool hb_array_t<const char>::operator == (const hb_array_t<const char> &o) const |
435 | 65.2k | { |
436 | 65.2k | if (o.length != this->length) return false; |
437 | 65.2k | return 0 == hb_memcmp (arrayZ, o.arrayZ, length); |
438 | 65.2k | } |
439 | | template <> |
440 | | inline bool hb_array_t<const unsigned char>::operator == (const hb_array_t<const unsigned char> &o) const |
441 | 0 | { |
442 | 0 | if (o.length != this->length) return false; |
443 | 0 | return 0 == hb_memcmp (arrayZ, o.arrayZ, length); |
444 | 0 | } |
445 | | |
446 | | |
447 | | /* Specialize hash() for byte arrays. */ |
448 | | |
449 | | template <> |
450 | | inline uint32_t hb_array_t<const char>::hash () const |
451 | 134k | { |
452 | 134k | uint32_t current = 0; |
453 | 134k | unsigned i = 0; |
454 | | |
455 | 134k | #if defined(__OPTIMIZE__) && !defined(HB_NO_PACKED) && \ |
456 | 134k | ((defined(__GNUC__) && __GNUC__ >= 5) || defined(__clang__)) |
457 | 134k | struct __attribute__((packed)) packed_uint32_t { uint32_t v; }; |
458 | 475k | for (; i + 4 <= this->length; i += 4) |
459 | 340k | current = current * 31 + hb_hash ((uint32_t) ((packed_uint32_t *) &this->arrayZ[i])->v); |
460 | 134k | #endif |
461 | | |
462 | 236k | for (; i < this->length; i++) |
463 | 102k | current = current * 31 + hb_hash (this->arrayZ[i]); |
464 | 134k | return current; |
465 | 134k | } |
466 | | |
467 | | template <> |
468 | | inline uint32_t hb_array_t<const unsigned char>::hash () const |
469 | 0 | { |
470 | 0 | uint32_t current = 0; |
471 | 0 | unsigned i = 0; |
472 | 0 |
|
473 | 0 | #if defined(__OPTIMIZE__) && !defined(HB_NO_PACKED) && \ |
474 | 0 | ((defined(__GNUC__) && __GNUC__ >= 5) || defined(__clang__)) |
475 | 0 | struct __attribute__((packed)) packed_uint32_t { uint32_t v; }; |
476 | 0 | for (; i + 4 <= this->length; i += 4) |
477 | 0 | current = current * 31 + hb_hash ((uint32_t) ((packed_uint32_t *) &this->arrayZ[i])->v); |
478 | 0 | #endif |
479 | 0 |
|
480 | 0 | for (; i < this->length; i++) |
481 | 0 | current = current * 31 + hb_hash (this->arrayZ[i]); |
482 | 0 | return current; |
483 | 0 | } |
484 | | |
485 | | |
486 | | typedef hb_array_t<const char> hb_bytes_t; |
487 | | typedef hb_array_t<const unsigned char> hb_ubytes_t; |
488 | | |
489 | | |
490 | | |
491 | | #endif /* HB_ARRAY_HH */ |