Coverage Report

Created: 2024-01-21 06:55

/src/harfbuzz/src/hb-serialize.hh
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright © 2007,2008,2009,2010  Red Hat, Inc.
3
 * Copyright © 2012,2018  Google, Inc.
4
 * Copyright © 2019  Facebook, Inc.
5
 *
6
 *  This is part of HarfBuzz, a text shaping library.
7
 *
8
 * Permission is hereby granted, without written agreement and without
9
 * license or royalty fees, to use, copy, modify, and distribute this
10
 * software and its documentation for any purpose, provided that the
11
 * above copyright notice and the following two paragraphs appear in
12
 * all copies of this software.
13
 *
14
 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
15
 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
16
 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
17
 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
18
 * DAMAGE.
19
 *
20
 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
21
 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
22
 * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
23
 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
24
 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
25
 *
26
 * Red Hat Author(s): Behdad Esfahbod
27
 * Google Author(s): Behdad Esfahbod
28
 * Facebook Author(s): Behdad Esfahbod
29
 */
30
31
#ifndef HB_SERIALIZE_HH
32
#define HB_SERIALIZE_HH
33
34
#include "hb.hh"
35
#include "hb-blob.hh"
36
#include "hb-map.hh"
37
#include "hb-pool.hh"
38
39
#ifdef HB_EXPERIMENTAL_API
40
#include "hb-subset-repacker.h"
41
#endif
42
43
/*
44
 * Serialize
45
 */
46
47
enum hb_serialize_error_t {
48
  HB_SERIALIZE_ERROR_NONE =            0x00000000u,
49
  HB_SERIALIZE_ERROR_OTHER =           0x00000001u,
50
  HB_SERIALIZE_ERROR_OFFSET_OVERFLOW = 0x00000002u,
51
  HB_SERIALIZE_ERROR_OUT_OF_ROOM =     0x00000004u,
52
  HB_SERIALIZE_ERROR_INT_OVERFLOW =    0x00000008u,
53
  HB_SERIALIZE_ERROR_ARRAY_OVERFLOW =  0x00000010u
54
};
55
HB_MARK_AS_FLAG_T (hb_serialize_error_t);
56
57
struct hb_serialize_context_t
58
{
59
  typedef unsigned objidx_t;
60
61
  enum whence_t {
62
     Head,  /* Relative to the current object head (default). */
63
     Tail,  /* Relative to the current object tail after packed. */
64
     Absolute /* Absolute: from the start of the serialize buffer. */
65
   };
66
67
68
69
  struct object_t
70
  {
71
515k
    void fini () {
72
515k
      real_links.fini ();
73
515k
      virtual_links.fini ();
74
515k
    }
75
76
    object_t () = default;
77
78
#ifdef HB_EXPERIMENTAL_API
79
    object_t (const hb_object_t &o)
80
0
    {
81
0
      head = o.head;
82
0
      tail = o.tail;
83
0
      next = nullptr;
84
0
      real_links.alloc (o.num_real_links, true);
85
0
      for (unsigned i = 0 ; i < o.num_real_links; i++)
86
0
        real_links.push (o.real_links[i]);
87
0
88
0
      virtual_links.alloc (o.num_virtual_links, true);
89
0
      for (unsigned i = 0; i < o.num_virtual_links; i++)
90
0
        virtual_links.push (o.virtual_links[i]);
91
0
    }
92
#endif
93
94
    friend void swap (object_t& a, object_t& b)
95
0
    {
96
0
      hb_swap (a.head, b.head);
97
0
      hb_swap (a.tail, b.tail);
98
0
      hb_swap (a.next, b.next);
99
0
      hb_swap (a.real_links, b.real_links);
100
0
      hb_swap (a.virtual_links, b.virtual_links);
101
0
    }
102
103
    bool operator == (const object_t &o) const
104
367k
    {
105
      // Virtual links aren't considered for equality since they don't affect the functionality
106
      // of the object.
107
367k
      return (tail - head == o.tail - o.head)
108
367k
    && (real_links.length == o.real_links.length)
109
367k
    && 0 == hb_memcmp (head, o.head, tail - head)
110
367k
    && real_links.as_bytes () == o.real_links.as_bytes ();
111
367k
    }
112
    uint32_t hash () const
113
477k
    {
114
      // Virtual links aren't considered for equality since they don't affect the functionality
115
      // of the object.
116
477k
      return hb_bytes_t (head, tail - head).hash () ^
117
477k
          real_links.as_bytes ().hash ();
118
477k
    }
119
120
    struct link_t
121
    {
122
      unsigned width: 3;
123
      unsigned is_signed: 1;
124
      unsigned whence: 2;
125
      unsigned bias : 26;
126
      unsigned position;
127
      objidx_t objidx;
128
129
      link_t () = default;
130
131
#ifdef HB_EXPERIMENTAL_API
132
      link_t (const hb_link_t &o)
133
0
      {
134
0
        width = o.width;
135
0
        is_signed = 0;
136
0
        whence = 0;
137
0
        position = o.position;
138
0
        bias = 0;
139
0
        objidx = o.objidx;
140
0
      }
141
#endif
142
143
      HB_INTERNAL static int cmp (const void* a, const void* b)
144
0
      {
145
0
        int cmp = ((const link_t*)a)->position - ((const link_t*)b)->position;
146
0
        if (cmp) return cmp;
147
0
148
0
        return ((const link_t*)a)->objidx - ((const link_t*)b)->objidx;
149
0
      }
150
    };
151
152
    char *head;
153
    char *tail;
154
    hb_vector_t<link_t> real_links;
155
    hb_vector_t<link_t> virtual_links;
156
    object_t *next;
157
158
    auto all_links () const HB_AUTO_RETURN
159
        (( hb_concat (this->real_links, this->virtual_links) ));
160
    auto all_links_writer () HB_AUTO_RETURN
161
        (( hb_concat (this->real_links.writer (), this->virtual_links.writer ()) ));
162
  };
163
164
  struct snapshot_t
165
  {
166
    char *head;
167
    char *tail;
168
    object_t *current; // Just for sanity check
169
    unsigned num_real_links;
170
    unsigned num_virtual_links;
171
    hb_serialize_error_t errors;
172
  };
173
174
  snapshot_t snapshot ()
175
0
  { return snapshot_t {
176
0
      head, tail, current, current->real_links.length, current->virtual_links.length, errors }; }
177
178
  hb_serialize_context_t (void *start_, unsigned int size) :
179
    start ((char *) start_),
180
    end (start + size),
181
    current (nullptr)
182
34.6k
  { reset (); }
183
34.6k
  ~hb_serialize_context_t () { fini (); }
184
185
  void fini ()
186
69.2k
  {
187
322k
    for (object_t *_ : ++hb_iter (packed)) _->fini ();
188
69.2k
    packed.fini ();
189
69.2k
    this->packed_map.fini ();
190
191
77.3k
    while (current)
192
8.05k
    {
193
8.05k
      auto *_ = current;
194
8.05k
      current = current->next;
195
8.05k
      _->fini ();
196
8.05k
    }
197
69.2k
  }
198
199
4.75M
  bool in_error () const { return bool (errors); }
200
201
776k
  bool successful () const { return !bool (errors); }
202
203
0
  HB_NODISCARD bool ran_out_of_room () const { return errors & HB_SERIALIZE_ERROR_OUT_OF_ROOM; }
204
3.49k
  HB_NODISCARD bool offset_overflow () const { return errors & HB_SERIALIZE_ERROR_OFFSET_OVERFLOW; }
205
0
  HB_NODISCARD bool only_offset_overflow () const { return errors == HB_SERIALIZE_ERROR_OFFSET_OVERFLOW; }
206
  HB_NODISCARD bool only_overflow () const
207
5.30k
  {
208
5.30k
    return errors == HB_SERIALIZE_ERROR_OFFSET_OVERFLOW
209
5.30k
        || errors == HB_SERIALIZE_ERROR_INT_OVERFLOW
210
5.30k
        || errors == HB_SERIALIZE_ERROR_ARRAY_OVERFLOW;
211
5.30k
  }
212
213
  void reset (void *start_, unsigned int size)
214
0
  {
215
0
    start = (char*) start_;
216
0
    end = start + size;
217
0
    reset ();
218
0
    current = nullptr;
219
0
  }
220
221
  void reset ()
222
34.6k
  {
223
34.6k
    this->errors = HB_SERIALIZE_ERROR_NONE;
224
34.6k
    this->head = this->start;
225
34.6k
    this->tail = this->end;
226
34.6k
    this->zerocopy = nullptr;
227
34.6k
    this->debug_depth = 0;
228
229
34.6k
    fini ();
230
34.6k
    this->packed.push (nullptr);
231
34.6k
    this->packed_map.init ();
232
34.6k
  }
233
234
  bool check_success (bool success,
235
                      hb_serialize_error_t err_type = HB_SERIALIZE_ERROR_OTHER)
236
712k
  {
237
712k
    return successful ()
238
712k
        && (success || err (err_type));
239
712k
  }
240
241
  template <typename T1, typename T2>
242
  bool check_equal (T1 &&v1, T2 &&v2, hb_serialize_error_t err_type)
243
903k
  {
244
903k
    if ((long long) v1 != (long long) v2)
245
0
    {
246
0
      return err (err_type);
247
0
    }
248
903k
    return true;
249
903k
  }
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<BEInt<int, 4>&, unsigned int&>(BEInt<int, 4>&, unsigned int&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<BEInt<short, 2>&, unsigned int&>(BEInt<short, 2>&, unsigned int&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<BEInt<unsigned int, 4>&, unsigned int&>(BEInt<unsigned int, 4>&, unsigned int&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<BEInt<unsigned int, 3>&, unsigned int&>(BEInt<unsigned int, 3>&, unsigned int&, hb_serialize_error_t)
bool hb_serialize_context_t::check_equal<BEInt<unsigned short, 2>&, unsigned int&>(BEInt<unsigned short, 2>&, unsigned int&, hb_serialize_error_t)
Line
Count
Source
243
387k
  {
244
387k
    if ((long long) v1 != (long long) v2)
245
0
    {
246
0
      return err (err_type);
247
0
    }
248
387k
    return true;
249
387k
  }
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::IntType<unsigned int, 3u>&, unsigned int&>(OT::IntType<unsigned int, 3u>&, unsigned int&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::IntType<unsigned short, 2u>&, unsigned int const&>(OT::IntType<unsigned short, 2u>&, unsigned int const&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::IntType<short, 2u>&, int&>(OT::IntType<short, 2u>&, int&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::IntType<unsigned short, 2u>&, int&>(OT::IntType<unsigned short, 2u>&, int&, hb_serialize_error_t)
bool hb_serialize_context_t::check_equal<OT::IntType<unsigned short, 2u>&, unsigned int&>(OT::IntType<unsigned short, 2u>&, unsigned int&, hb_serialize_error_t)
Line
Count
Source
243
515k
  {
244
515k
    if ((long long) v1 != (long long) v2)
245
0
    {
246
0
      return err (err_type);
247
0
    }
248
515k
    return true;
249
515k
  }
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::Layout::GPOS_impl::ValueFormat&, OT::Layout::GPOS_impl::ValueFormat&>(OT::Layout::GPOS_impl::ValueFormat&, OT::Layout::GPOS_impl::ValueFormat&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::IntType<short, 2u>&, float&>(OT::IntType<short, 2u>&, float&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::IntType<unsigned short, 2u>&, float&>(OT::IntType<unsigned short, 2u>&, float&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::IntType<unsigned int, 4u>&, unsigned int&>(OT::IntType<unsigned int, 4u>&, unsigned int&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::IntType<unsigned int, 4u>&, unsigned int const&>(OT::IntType<unsigned int, 4u>&, unsigned int const&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::Extend&, OT::Extend const&>(OT::Extend&, OT::Extend const&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::IntType<unsigned short, 2u>&, OT::IntType<unsigned short, 2u> const&>(OT::IntType<unsigned short, 2u>&, OT::IntType<unsigned short, 2u> const&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::IntType<unsigned char, 1u>&, OT::IntType<unsigned char, 1u> const&>(OT::IntType<unsigned char, 1u>&, OT::IntType<unsigned char, 1u> const&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::HBGlyphID16&, unsigned int const&>(OT::HBGlyphID16&, unsigned int const&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::OffsetTo<OT::AxisRecord, OT::IntType<unsigned short, 2u>, true>&, unsigned int&>(OT::OffsetTo<OT::AxisRecord, OT::IntType<unsigned short, 2u>, true>&, unsigned int&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::IntType<int, 4u>&, int&>(OT::IntType<int, 4u>&, int&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::OffsetTo<OT::UnsizedArrayOf<OT::StatAxisRecord>, OT::IntType<unsigned int, 4u>, false>&, unsigned int&>(OT::OffsetTo<OT::UnsizedArrayOf<OT::StatAxisRecord>, OT::IntType<unsigned int, 4u>, false>&, unsigned int&, hb_serialize_error_t)
250
251
  template <typename T1, typename T2>
252
  bool check_assign (T1 &v1, T2 &&v2, hb_serialize_error_t err_type)
253
903k
  { return check_equal (v1 = v2, v2, err_type); }
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<BEInt<int, 4>, unsigned int&>(BEInt<int, 4>&, unsigned int&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<BEInt<short, 2>, unsigned int&>(BEInt<short, 2>&, unsigned int&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<BEInt<unsigned int, 4>, unsigned int&>(BEInt<unsigned int, 4>&, unsigned int&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<BEInt<unsigned int, 3>, unsigned int&>(BEInt<unsigned int, 3>&, unsigned int&, hb_serialize_error_t)
bool hb_serialize_context_t::check_assign<BEInt<unsigned short, 2>, unsigned int&>(BEInt<unsigned short, 2>&, unsigned int&, hb_serialize_error_t)
Line
Count
Source
253
387k
  { return check_equal (v1 = v2, v2, err_type); }
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::IntType<unsigned int, 3u>, unsigned int&>(OT::IntType<unsigned int, 3u>&, unsigned int&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::IntType<unsigned short, 2u>, unsigned int const&>(OT::IntType<unsigned short, 2u>&, unsigned int const&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::IntType<short, 2u>, int>(OT::IntType<short, 2u>&, int&&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::IntType<unsigned short, 2u>, int>(OT::IntType<unsigned short, 2u>&, int&&, hb_serialize_error_t)
bool hb_serialize_context_t::check_assign<OT::IntType<unsigned short, 2u>, unsigned int&>(OT::IntType<unsigned short, 2u>&, unsigned int&, hb_serialize_error_t)
Line
Count
Source
253
205k
  { return check_equal (v1 = v2, v2, err_type); }
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::Layout::GPOS_impl::ValueFormat, OT::Layout::GPOS_impl::ValueFormat&>(OT::Layout::GPOS_impl::ValueFormat&, OT::Layout::GPOS_impl::ValueFormat&, hb_serialize_error_t)
bool hb_serialize_context_t::check_assign<OT::IntType<unsigned short, 2u>, unsigned int>(OT::IntType<unsigned short, 2u>&, unsigned int&&, hb_serialize_error_t)
Line
Count
Source
253
309k
  { return check_equal (v1 = v2, v2, err_type); }
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::IntType<short, 2u>, float>(OT::IntType<short, 2u>&, float&&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::IntType<unsigned short, 2u>, float>(OT::IntType<unsigned short, 2u>&, float&&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::IntType<unsigned int, 4u>, unsigned int>(OT::IntType<unsigned int, 4u>&, unsigned int&&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::IntType<unsigned int, 4u>, unsigned int const&>(OT::IntType<unsigned int, 4u>&, unsigned int const&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::Extend, OT::Extend const&>(OT::Extend&, OT::Extend const&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::IntType<unsigned short, 2u>, OT::IntType<unsigned short, 2u> const&>(OT::IntType<unsigned short, 2u>&, OT::IntType<unsigned short, 2u> const&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::IntType<unsigned char, 1u>, OT::IntType<unsigned char, 1u> const&>(OT::IntType<unsigned char, 1u>&, OT::IntType<unsigned char, 1u> const&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::IntType<unsigned int, 4u>, unsigned int&>(OT::IntType<unsigned int, 4u>&, unsigned int&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::HBGlyphID16, unsigned int const&>(OT::HBGlyphID16&, unsigned int const&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::OffsetTo<OT::AxisRecord, OT::IntType<unsigned short, 2u>, true>, unsigned int>(OT::OffsetTo<OT::AxisRecord, OT::IntType<unsigned short, 2u>, true>&, unsigned int&&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::IntType<int, 4u>, int&>(OT::IntType<int, 4u>&, int&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::IntType<short, 2u>, int&>(OT::IntType<short, 2u>&, int&, hb_serialize_error_t)
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::OffsetTo<OT::UnsizedArrayOf<OT::StatAxisRecord>, OT::IntType<unsigned int, 4u>, false>, unsigned int>(OT::OffsetTo<OT::UnsizedArrayOf<OT::StatAxisRecord>, OT::IntType<unsigned int, 4u>, false>&, unsigned int&&, hb_serialize_error_t)
254
255
  template <typename T> bool propagate_error (T &&obj)
256
710k
  { return check_success (!hb_deref (obj).in_error ()); }
bool hb_serialize_context_t::propagate_error<hb_vector_t<hb_serialize_context_t::object_t*, false>&>(hb_vector_t<hb_serialize_context_t::object_t*, false>&)
Line
Count
Source
256
358k
  { return check_success (!hb_deref (obj).in_error ()); }
bool hb_serialize_context_t::propagate_error<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>&>(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>&)
Line
Count
Source
256
352k
  { return check_success (!hb_deref (obj).in_error ()); }
Unexecuted instantiation: bool hb_serialize_context_t::propagate_error<hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>&>(hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>&)
Unexecuted instantiation: bool hb_serialize_context_t::propagate_error<hb_set_t const&>(hb_set_t const&)
Unexecuted instantiation: bool hb_serialize_context_t::propagate_error<hb_map_t&>(hb_map_t&)
Unexecuted instantiation: bool hb_serialize_context_t::propagate_error<hb_vector_t<hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>, false>&>(hb_vector_t<hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>, false>&)
257
258
  template <typename T1, typename... Ts> bool propagate_error (T1 &&o1, Ts&&... os)
259
34.6k
  { return propagate_error (std::forward<T1> (o1)) &&
260
34.6k
     propagate_error (std::forward<Ts> (os)...); }
bool hb_serialize_context_t::propagate_error<hb_vector_t<hb_serialize_context_t::object_t*, false>&, hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>&>(hb_vector_t<hb_serialize_context_t::object_t*, false>&, hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>&)
Line
Count
Source
259
34.6k
  { return propagate_error (std::forward<T1> (o1)) &&
260
34.6k
     propagate_error (std::forward<Ts> (os)...); }
Unexecuted instantiation: bool hb_serialize_context_t::propagate_error<hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>&, hb_set_t const&>(hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>&, hb_set_t const&)
Unexecuted instantiation: bool hb_serialize_context_t::propagate_error<hb_map_t&, hb_map_t&, hb_map_t&>(hb_map_t&, hb_map_t&, hb_map_t&)
Unexecuted instantiation: bool hb_serialize_context_t::propagate_error<hb_map_t&, hb_map_t&>(hb_map_t&, hb_map_t&)
261
262
  /* To be called around main operation. */
263
  template <typename Type>
264
  Type *start_serialize ()
265
34.6k
  {
266
34.6k
    DEBUG_MSG_LEVEL (SERIALIZE, this->start, 0, +1,
267
34.6k
         "start [%p..%p] (%lu bytes)",
268
34.6k
         this->start, this->end,
269
34.6k
         (unsigned long) (this->end - this->start));
270
271
34.6k
    assert (!current);
272
0
    return push<Type> ();
273
34.6k
  }
274
  void end_serialize ()
275
34.6k
  {
276
34.6k
    DEBUG_MSG_LEVEL (SERIALIZE, this->start, 0, -1,
277
34.6k
         "end [%p..%p] serialized %u bytes; %s",
278
34.6k
         this->start, this->end,
279
34.6k
         (unsigned) (this->head - this->start),
280
34.6k
         successful () ? "successful" : "UNSUCCESSFUL");
281
282
34.6k
    propagate_error (packed, packed_map);
283
284
34.6k
    if (unlikely (!current)) return;
285
33.1k
    if (unlikely (in_error()))
286
3.49k
    {
287
      // Offset overflows that occur before link resolution cannot be handled
288
      // by repacking, so set a more general error.
289
3.49k
      if (offset_overflow ()) err (HB_SERIALIZE_ERROR_OTHER);
290
3.49k
      return;
291
3.49k
    }
292
293
29.6k
    assert (!current->next);
294
295
    /* Only "pack" if there exist other objects... Otherwise, don't bother.
296
     * Saves a move. */
297
29.6k
    if (packed.length <= 1)
298
0
      return;
299
300
29.6k
    pop_pack (false);
301
302
29.6k
    resolve_links ();
303
29.6k
  }
304
305
  template <typename Type = void>
306
  Type *push ()
307
518k
  {
308
518k
    if (unlikely (in_error ())) return start_embed<Type> ();
309
310
516k
    object_t *obj = object_pool.alloc ();
311
516k
    if (unlikely (!obj))
312
1.51k
      check_success (false);
313
515k
    else
314
515k
    {
315
515k
      obj->head = head;
316
515k
      obj->tail = tail;
317
515k
      obj->next = current;
318
515k
      current = obj;
319
515k
    }
320
516k
    return start_embed<Type> ();
321
518k
  }
Unexecuted instantiation: void* hb_serialize_context_t::push<void>()
Unexecuted instantiation: OT::VarRegionList* hb_serialize_context_t::push<OT::VarRegionList>()
Unexecuted instantiation: OT::VarData* hb_serialize_context_t::push<OT::VarData>()
OT::Layout::Common::Coverage* hb_serialize_context_t::push<OT::Layout::Common::Coverage>()
Line
Count
Source
307
31.4k
  {
308
31.4k
    if (unlikely (in_error ())) return start_embed<Type> ();
309
310
31.1k
    object_t *obj = object_pool.alloc ();
311
31.1k
    if (unlikely (!obj))
312
5
      check_success (false);
313
31.1k
    else
314
31.1k
    {
315
31.1k
      obj->head = head;
316
31.1k
      obj->tail = tail;
317
31.1k
      obj->next = current;
318
31.1k
      current = obj;
319
31.1k
    }
320
31.1k
    return start_embed<Type> ();
321
31.4k
  }
Unexecuted instantiation: OT::CmapSubtable* hb_serialize_context_t::push<OT::CmapSubtable>()
Unexecuted instantiation: OT::DeltaSetIndexMap* hb_serialize_context_t::push<OT::DeltaSetIndexMap>()
Unexecuted instantiation: OT::VariationStore* hb_serialize_context_t::push<OT::VariationStore>()
Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>* hb_serialize_context_t::push<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes> >()
OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>* hb_serialize_context_t::push<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> >()
Line
Count
Source
307
108k
  {
308
108k
    if (unlikely (in_error ())) return start_embed<Type> ();
309
310
108k
    object_t *obj = object_pool.alloc ();
311
108k
    if (unlikely (!obj))
312
23
      check_success (false);
313
108k
    else
314
108k
    {
315
108k
      obj->head = head;
316
108k
      obj->tail = tail;
317
108k
      obj->next = current;
318
108k
      current = obj;
319
108k
    }
320
108k
    return start_embed<Type> ();
321
108k
  }
OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>* hb_serialize_context_t::push<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes> >()
Line
Count
Source
307
310k
  {
308
310k
    if (unlikely (in_error ())) return start_embed<Type> ();
309
310
309k
    object_t *obj = object_pool.alloc ();
311
309k
    if (unlikely (!obj))
312
18
      check_success (false);
313
309k
    else
314
309k
    {
315
309k
      obj->head = head;
316
309k
      obj->tail = tail;
317
309k
      obj->next = current;
318
309k
      current = obj;
319
309k
    }
320
309k
    return start_embed<Type> ();
321
310k
  }
OT::Layout::GSUB_impl::SubstLookupSubTable* hb_serialize_context_t::push<OT::Layout::GSUB_impl::SubstLookupSubTable>()
Line
Count
Source
307
33.1k
  {
308
33.1k
    if (unlikely (in_error ())) return start_embed<Type> ();
309
310
33.1k
    object_t *obj = object_pool.alloc ();
311
33.1k
    if (unlikely (!obj))
312
0
      check_success (false);
313
33.1k
    else
314
33.1k
    {
315
33.1k
      obj->head = head;
316
33.1k
      obj->tail = tail;
317
33.1k
      obj->next = current;
318
33.1k
      current = obj;
319
33.1k
    }
320
33.1k
    return start_embed<Type> ();
321
33.1k
  }
OT::Layout::GSUB_impl::SubstLookup* hb_serialize_context_t::push<OT::Layout::GSUB_impl::SubstLookup>()
Line
Count
Source
307
34.6k
  {
308
34.6k
    if (unlikely (in_error ())) return start_embed<Type> ();
309
310
34.6k
    object_t *obj = object_pool.alloc ();
311
34.6k
    if (unlikely (!obj))
312
1.46k
      check_success (false);
313
33.1k
    else
314
33.1k
    {
315
33.1k
      obj->head = head;
316
33.1k
      obj->tail = tail;
317
33.1k
      obj->next = current;
318
33.1k
      current = obj;
319
33.1k
    }
320
34.6k
    return start_embed<Type> ();
321
34.6k
  }
322
  void pop_discard ()
323
5.30k
  {
324
5.30k
    object_t *obj = current;
325
5.30k
    if (unlikely (!obj)) return;
326
5.30k
    if (unlikely (in_error() && !only_overflow ())) return;
327
328
0
    current = current->next;
329
0
    revert (zerocopy ? zerocopy : obj->head, obj->tail);
330
0
    zerocopy = nullptr;
331
0
    obj->fini ();
332
0
    object_pool.release (obj);
333
0
  }
334
335
  /* Set share to false when an object is unlikely shareable with others
336
   * so not worth an attempt, or a contiguous table is serialized as
337
   * multiple consecutive objects in the reverse order so can't be shared.
338
   */
339
  objidx_t pop_pack (bool share=true)
340
508k
  {
341
508k
    object_t *obj = current;
342
508k
    if (unlikely (!obj)) return 0;
343
508k
    if (unlikely (in_error())) return 0;
344
345
507k
    current = current->next;
346
507k
    obj->tail = head;
347
507k
    obj->next = nullptr;
348
507k
    assert (obj->head <= obj->tail);
349
0
    unsigned len = obj->tail - obj->head;
350
507k
    head = zerocopy ? zerocopy : obj->head; /* Rewind head. */
351
507k
    bool was_zerocopy = zerocopy;
352
507k
    zerocopy = nullptr;
353
354
507k
    if (!len)
355
0
    {
356
0
      assert (!obj->real_links.length);
357
0
      assert (!obj->virtual_links.length);
358
0
      return 0;
359
0
    }
360
361
507k
    objidx_t objidx;
362
507k
    uint32_t hash = 0;
363
507k
    if (share)
364
477k
    {
365
477k
      hash = hb_hash (obj);
366
477k
      objidx = packed_map.get_with_hash (obj, hash);
367
477k
      if (objidx)
368
183k
      {
369
183k
        merge_virtual_links (obj, objidx);
370
183k
  obj->fini ();
371
183k
  return objidx;
372
183k
      }
373
477k
    }
374
375
323k
    tail -= len;
376
323k
    if (was_zerocopy)
377
0
      assert (tail == obj->head);
378
323k
    else
379
323k
      memmove (tail, obj->head, len);
380
381
0
    obj->head = tail;
382
323k
    obj->tail = tail + len;
383
384
323k
    packed.push (obj);
385
386
323k
    if (unlikely (!propagate_error (packed)))
387
1.04k
    {
388
      /* Obj wasn't successfully added to packed, so clean it up otherwise its
389
       * links will be leaked. When we use constructor/destructors properly, we
390
       * can remove these. */
391
1.04k
      obj->fini ();
392
1.04k
      return 0;
393
1.04k
    }
394
395
322k
    objidx = packed.length - 1;
396
397
322k
    if (share) packed_map.set_with_hash (obj, hash, objidx);
398
322k
    propagate_error (packed_map);
399
400
322k
    return objidx;
401
323k
  }
402
403
  void revert (snapshot_t snap)
404
0
  {
405
0
    // Overflows that happened after the snapshot will be erased by the revert.
406
0
    if (unlikely (in_error () && !only_overflow ())) return;
407
0
    assert (snap.current == current);
408
0
    current->real_links.shrink (snap.num_real_links);
409
0
    current->virtual_links.shrink (snap.num_virtual_links);
410
0
    errors = snap.errors;
411
0
    revert (snap.head, snap.tail);
412
0
  }
413
414
  void revert (char *snap_head,
415
         char *snap_tail)
416
0
  {
417
0
    if (unlikely (in_error ())) return;
418
0
    assert (snap_head <= head);
419
0
    assert (tail <= snap_tail);
420
0
    head = snap_head;
421
0
    tail = snap_tail;
422
0
    discard_stale_objects ();
423
0
  }
424
425
  void discard_stale_objects ()
426
0
  {
427
0
    if (unlikely (in_error ())) return;
428
0
    while (packed.length > 1 &&
429
0
     packed.tail ()->head < tail)
430
0
    {
431
0
      packed_map.del (packed.tail ());
432
0
      assert (!packed.tail ()->next);
433
0
      packed.tail ()->fini ();
434
0
      packed.pop ();
435
0
    }
436
0
    if (packed.length > 1)
437
0
      assert (packed.tail ()->head == tail);
438
0
  }
439
440
  // Adds a virtual link from the current object to objidx. A virtual link is not associated with
441
  // an actual offset field. They are solely used to enforce ordering constraints between objects.
442
  // Adding a virtual link from object a to object b will ensure that object b is always packed after
443
  // object a in the final serialized order.
444
  //
445
  // This is useful in certain situations where there needs to be a specific ordering in the
446
  // final serialization. Such as when platform bugs require certain orderings, or to provide
447
  //  guidance to the repacker for better offset overflow resolution.
448
  void add_virtual_link (objidx_t objidx)
449
0
  {
450
0
    if (unlikely (in_error ())) return;
451
0
452
0
    if (!objidx)
453
0
      return;
454
0
455
0
    assert (current);
456
0
457
0
    auto& link = *current->virtual_links.push ();
458
0
    if (current->virtual_links.in_error ())
459
0
      err (HB_SERIALIZE_ERROR_OTHER);
460
0
461
0
    link.width = 0;
462
0
    link.objidx = objidx;
463
0
    link.is_signed = 0;
464
0
    link.whence = 0;
465
0
    link.position = 0;
466
0
    link.bias = 0;
467
0
  }
468
469
  template <typename T>
470
  void add_link (T &ofs, objidx_t objidx,
471
     whence_t whence = Head,
472
     unsigned bias = 0)
473
478k
  {
474
478k
    if (unlikely (in_error ())) return;
475
476
476k
    if (!objidx)
477
0
      return;
478
479
476k
    assert (current);
480
0
    assert (current->head <= (const char *) &ofs);
481
482
0
    auto& link = *current->real_links.push ();
483
476k
    if (current->real_links.in_error ())
484
1.75k
      err (HB_SERIALIZE_ERROR_OTHER);
485
486
476k
    link.width = sizeof (T);
487
476k
    link.objidx = objidx;
488
476k
    if (unlikely (!sizeof (T)))
489
0
    {
490
      // This link is not associated with an actual offset and exists merely to enforce
491
      // an ordering constraint.
492
0
      link.is_signed = 0;
493
0
      link.whence = 0;
494
0
      link.position = 0;
495
0
      link.bias = 0;
496
0
      return;
497
0
    }
498
499
476k
    link.is_signed = std::is_signed<hb_unwrap_type (T)>::value;
500
476k
    link.whence = (unsigned) whence;
501
476k
    link.position = (const char *) &ofs - current->head;
502
476k
    link.bias = bias;
503
476k
  }
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::FeatureParams, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::FeatureParams, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Feature, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Feature, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LangSys, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::LangSys, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Script, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Script, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::VarRegionList, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::VarRegionList, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::VarData, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::VarData, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Condition, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::Condition, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Feature, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::Feature, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ConditionSet, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::ConditionSet, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::FeatureTableSubstitution, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::FeatureTableSubstitution, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Line
Count
Source
473
31.1k
  {
474
31.1k
    if (unlikely (in_error ())) return;
475
476
30.4k
    if (!objidx)
477
0
      return;
478
479
30.4k
    assert (current);
480
0
    assert (current->head <= (const char *) &ofs);
481
482
0
    auto& link = *current->real_links.push ();
483
30.4k
    if (current->real_links.in_error ())
484
280
      err (HB_SERIALIZE_ERROR_OTHER);
485
486
30.4k
    link.width = sizeof (T);
487
30.4k
    link.objidx = objidx;
488
30.4k
    if (unlikely (!sizeof (T)))
489
0
    {
490
      // This link is not associated with an actual offset and exists merely to enforce
491
      // an ordering constraint.
492
0
      link.is_signed = 0;
493
0
      link.whence = 0;
494
0
      link.position = 0;
495
0
      link.bias = 0;
496
0
      return;
497
0
    }
498
499
30.4k
    link.is_signed = std::is_signed<hb_unwrap_type (T)>::value;
500
30.4k
    link.whence = (unsigned) whence;
501
30.4k
    link.position = (const char *) &ofs - current->head;
502
30.4k
    link.bias = bias;
503
30.4k
  }
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Device, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Device, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ClassDef, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::ClassDef, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::AttachList, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::AttachList, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LigCaretList, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::LigCaretList, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MarkGlyphSets, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::MarkGlyphSets, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::VariationStore, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::VariationStore, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ClassDef, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::ClassDef, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::AttachList, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::AttachList, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LigCaretList, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::LigCaretList, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MarkGlyphSets, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::MarkGlyphSets, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::IntType<unsigned short, 2u> >(OT::IntType<unsigned short, 2u>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::MarkArray, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::MarkArray, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::MarkArray, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::MarkArray, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::LigatureArray, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::LigatureArray, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::LigatureArray, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::LigatureArray, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u> >, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u> >, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::RecordListOfFeature, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::RecordListOfFeature, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::RecordListOfScript, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::RecordListOfScript, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::FeatureVariations, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::FeatureVariations, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u> >, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u> >, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::RecordListOfFeature, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::RecordListOfFeature, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::RecordListOfScript, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::RecordListOfScript, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::DefaultUVS, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::DefaultUVS, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::NonDefaultUVS, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::NonDefaultUVS, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::CmapSubtable, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::CmapSubtable, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ColorLine<OT::NoVariable>, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::ColorLine<OT::NoVariable>, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ColorLine<OT::Variable>, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::ColorLine<OT::Variable>, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::NoVariable<OT::Affine2x3>, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::NoVariable<OT::Affine2x3>, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Variable<OT::Affine2x3>, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::Variable<OT::Affine2x3>, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ClipBox, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::ClipBox, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::SortedUnsizedArrayOf<OT::BaseGlyphRecord>, OT::IntType<unsigned int, 4u>, false> >(OT::OffsetTo<OT::SortedUnsizedArrayOf<OT::BaseGlyphRecord>, OT::IntType<unsigned int, 4u>, false>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::UnsizedArrayOf<OT::LayerRecord>, OT::IntType<unsigned int, 4u>, false> >(OT::OffsetTo<OT::UnsizedArrayOf<OT::LayerRecord>, OT::IntType<unsigned int, 4u>, false>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::BaseGlyphList, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::BaseGlyphList, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LayerList, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::LayerList, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ClipList, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::ClipList, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::DeltaSetIndexMap, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::DeltaSetIndexMap, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::IndexSubtable, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::IndexSubtable, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::IndexSubtableArray, OT::IntType<unsigned int, 4u>, false> >(OT::OffsetTo<OT::IndexSubtableArray, OT::IntType<unsigned int, 4u>, false>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::UnsizedArrayOf<OT::IntType<unsigned int, 4u> >, OT::IntType<unsigned int, 4u>, false> >(OT::OffsetTo<OT::UnsizedArrayOf<OT::IntType<unsigned int, 4u> >, OT::IntType<unsigned int, 4u>, false>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::UnsizedArrayOf<OT::Index>, OT::IntType<unsigned int, 4u>, false> >(OT::OffsetTo<OT::UnsizedArrayOf<OT::Index>, OT::IntType<unsigned int, 4u>, false>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::UnsizedArrayOf<OT::IntType<unsigned int, 4u> >, OT::IntType<unsigned int, 4u>, false> const>(OT::OffsetTo<OT::UnsizedArrayOf<OT::IntType<unsigned int, 4u> >, OT::IntType<unsigned int, 4u>, false> const&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::IntType<int, 4u> >(OT::IntType<int, 4u>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::IntType<short, 2u> >(OT::IntType<short, 2u>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::UnsizedArrayOf<OT::IntType<unsigned char, 1u> >, OT::IntType<unsigned short, 2u>, false> >(OT::OffsetTo<OT::UnsizedArrayOf<OT::IntType<unsigned char, 1u> >, OT::IntType<unsigned short, 2u>, false>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Line
Count
Source
473
309k
  {
474
309k
    if (unlikely (in_error ())) return;
475
476
308k
    if (!objidx)
477
0
      return;
478
479
308k
    assert (current);
480
0
    assert (current->head <= (const char *) &ofs);
481
482
0
    auto& link = *current->real_links.push ();
483
308k
    if (current->real_links.in_error ())
484
739
      err (HB_SERIALIZE_ERROR_OTHER);
485
486
308k
    link.width = sizeof (T);
487
308k
    link.objidx = objidx;
488
308k
    if (unlikely (!sizeof (T)))
489
0
    {
490
      // This link is not associated with an actual offset and exists merely to enforce
491
      // an ordering constraint.
492
0
      link.is_signed = 0;
493
0
      link.whence = 0;
494
0
      link.position = 0;
495
0
      link.bias = 0;
496
0
      return;
497
0
    }
498
499
308k
    link.is_signed = std::is_signed<hb_unwrap_type (T)>::value;
500
308k
    link.whence = (unsigned) whence;
501
308k
    link.position = (const char *) &ofs - current->head;
502
308k
    link.bias = bias;
503
308k
  }
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Line
Count
Source
473
106k
  {
474
106k
    if (unlikely (in_error ())) return;
475
476
106k
    if (!objidx)
477
0
      return;
478
479
106k
    assert (current);
480
0
    assert (current->head <= (const char *) &ofs);
481
482
0
    auto& link = *current->real_links.push ();
483
106k
    if (current->real_links.in_error ())
484
300
      err (HB_SERIALIZE_ERROR_OTHER);
485
486
106k
    link.width = sizeof (T);
487
106k
    link.objidx = objidx;
488
106k
    if (unlikely (!sizeof (T)))
489
0
    {
490
      // This link is not associated with an actual offset and exists merely to enforce
491
      // an ordering constraint.
492
0
      link.is_signed = 0;
493
0
      link.whence = 0;
494
0
      link.position = 0;
495
0
      link.bias = 0;
496
0
      return;
497
0
    }
498
499
106k
    link.is_signed = std::is_signed<hb_unwrap_type (T)>::value;
500
106k
    link.whence = (unsigned) whence;
501
106k
    link.position = (const char *) &ofs - current->head;
502
106k
    link.bias = bias;
503
106k
  }
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Line
Count
Source
473
31.1k
  {
474
31.1k
    if (unlikely (in_error ())) return;
475
476
30.1k
    if (!objidx)
477
0
      return;
478
479
30.1k
    assert (current);
480
0
    assert (current->head <= (const char *) &ofs);
481
482
0
    auto& link = *current->real_links.push ();
483
30.1k
    if (current->real_links.in_error ())
484
439
      err (HB_SERIALIZE_ERROR_OTHER);
485
486
30.1k
    link.width = sizeof (T);
487
30.1k
    link.objidx = objidx;
488
30.1k
    if (unlikely (!sizeof (T)))
489
0
    {
490
      // This link is not associated with an actual offset and exists merely to enforce
491
      // an ordering constraint.
492
0
      link.is_signed = 0;
493
0
      link.whence = 0;
494
0
      link.position = 0;
495
0
      link.bias = 0;
496
0
      return;
497
0
    }
498
499
30.1k
    link.is_signed = std::is_signed<hb_unwrap_type (T)>::value;
500
30.1k
    link.whence = (unsigned) whence;
501
30.1k
    link.position = (const char *) &ofs - current->head;
502
30.1k
    link.bias = bias;
503
30.1k
  }
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u> >, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u> >, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u> >, OT::IntType<unsigned int, 3u>, true> >(OT::OffsetTo<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u> >, OT::IntType<unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::AxisValueOffsetArray, OT::IntType<unsigned int, 4u>, false> >(OT::OffsetTo<OT::AxisValueOffsetArray, OT::IntType<unsigned int, 4u>, false>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathKern, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::MathKern, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathItalicsCorrectionInfo, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::MathItalicsCorrectionInfo, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathTopAccentAttachment, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::MathTopAccentAttachment, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathKernInfo, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::MathKernInfo, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathGlyphAssembly, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::MathGlyphAssembly, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathConstants, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::MathConstants, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathGlyphInfo, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::MathGlyphInfo, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathVariants, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::MathVariants, OT::IntType<unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int)
504
505
  unsigned to_bias (const void *base) const
506
0
  {
507
0
    if (unlikely (in_error ())) return 0;
508
0
    if (!base) return 0;
509
0
    assert (current);
510
0
    assert (current->head <= (const char *) base);
511
0
    return (const char *) base - current->head;
512
0
  }
513
514
  void resolve_links ()
515
29.6k
  {
516
29.6k
    if (unlikely (in_error ())) return;
517
518
29.6k
    assert (!current);
519
0
    assert (packed.length > 1);
520
521
0
    for (const object_t* parent : ++hb_iter (packed))
522
301k
      for (const object_t::link_t &link : parent->real_links)
523
387k
      {
524
387k
  const object_t* child = packed[link.objidx];
525
387k
  if (unlikely (!child)) { err (HB_SERIALIZE_ERROR_OTHER); return; }
526
387k
  unsigned offset = 0;
527
387k
  switch ((whence_t) link.whence) {
528
387k
  case Head:     offset = child->head - parent->head; break;
529
0
  case Tail:     offset = child->head - parent->tail; break;
530
0
  case Absolute: offset = (head - start) + (child->head - tail); break;
531
387k
  }
532
533
387k
  assert (offset >= link.bias);
534
0
  offset -= link.bias;
535
387k
  if (link.is_signed)
536
0
  {
537
0
    assert (link.width == 2 || link.width == 4);
538
0
    if (link.width == 4)
539
0
      assign_offset<int32_t> (parent, link, offset);
540
0
    else
541
0
      assign_offset<int16_t> (parent, link, offset);
542
0
  }
543
387k
  else
544
387k
  {
545
387k
    assert (link.width == 2 || link.width == 3 || link.width == 4);
546
387k
    if (link.width == 4)
547
0
      assign_offset<uint32_t> (parent, link, offset);
548
387k
    else if (link.width == 3)
549
0
      assign_offset<uint32_t, 3> (parent, link, offset);
550
387k
    else
551
387k
      assign_offset<uint16_t> (parent, link, offset);
552
387k
  }
553
387k
      }
554
29.6k
  }
555
556
  unsigned int length () const
557
0
  {
558
0
    if (unlikely (!current)) return 0;
559
0
    return this->head - current->head;
560
0
  }
561
562
  void align (unsigned int alignment)
563
0
  {
564
0
    unsigned int l = length () % alignment;
565
0
    if (l)
566
0
      allocate_size<void> (alignment - l);
567
0
  }
568
569
  template <typename Type = void>
570
  Type *start_embed (const Type *obj HB_UNUSED = nullptr) const
571
518k
  { return reinterpret_cast<Type *> (this->head); }
OT::Layout::Common::Coverage* hb_serialize_context_t::start_embed<OT::Layout::Common::Coverage>(OT::Layout::Common::Coverage const*) const
Line
Count
Source
571
31.4k
  { return reinterpret_cast<Type *> (this->head); }
Unexecuted instantiation: OT::Feature* hb_serialize_context_t::start_embed<OT::Feature>(OT::Feature const*) const
Unexecuted instantiation: OT::RecordListOfFeature* hb_serialize_context_t::start_embed<OT::RecordListOfFeature>(OT::RecordListOfFeature const*) const
Unexecuted instantiation: OT::LangSys* hb_serialize_context_t::start_embed<OT::LangSys>(OT::LangSys const*) const
Unexecuted instantiation: OT::Script* hb_serialize_context_t::start_embed<OT::Script>(OT::Script const*) const
Unexecuted instantiation: void* hb_serialize_context_t::start_embed<void>(void const*) const
Unexecuted instantiation: OT::RecordListOfScript* hb_serialize_context_t::start_embed<OT::RecordListOfScript>(OT::RecordListOfScript const*) const
Unexecuted instantiation: OT::ClassDef* hb_serialize_context_t::start_embed<OT::ClassDef>(OT::ClassDef const*) const
Unexecuted instantiation: OT::VarRegionList* hb_serialize_context_t::start_embed<OT::VarRegionList>(OT::VarRegionList const*) const
Unexecuted instantiation: OT::VarData* hb_serialize_context_t::start_embed<OT::VarData>(OT::VarData const*) const
Unexecuted instantiation: OT::VariationStore* hb_serialize_context_t::start_embed<OT::VariationStore>(OT::VariationStore const*) const
Unexecuted instantiation: OT::ConditionSet* hb_serialize_context_t::start_embed<OT::ConditionSet>(OT::ConditionSet const*) const
Unexecuted instantiation: OT::FeatureTableSubstitution* hb_serialize_context_t::start_embed<OT::FeatureTableSubstitution>(OT::FeatureTableSubstitution const*) const
Unexecuted instantiation: OT::FeatureVariations* hb_serialize_context_t::start_embed<OT::FeatureVariations>(OT::FeatureVariations const*) const
Unexecuted instantiation: OT::AttachPoint* hb_serialize_context_t::start_embed<OT::AttachPoint>(OT::AttachPoint const*) const
Unexecuted instantiation: OT::AttachList* hb_serialize_context_t::start_embed<OT::AttachList>(OT::AttachList const*) const
Unexecuted instantiation: OT::CaretValueFormat3* hb_serialize_context_t::start_embed<OT::CaretValueFormat3>(OT::CaretValueFormat3 const*) const
Unexecuted instantiation: OT::LigGlyph* hb_serialize_context_t::start_embed<OT::LigGlyph>(OT::LigGlyph const*) const
Unexecuted instantiation: OT::LigCaretList* hb_serialize_context_t::start_embed<OT::LigCaretList>(OT::LigCaretList const*) const
Unexecuted instantiation: OT::MarkGlyphSetsFormat1* hb_serialize_context_t::start_embed<OT::MarkGlyphSetsFormat1>(OT::MarkGlyphSetsFormat1 const*) const
Unexecuted instantiation: OT::ContextFormat3* hb_serialize_context_t::start_embed<OT::ContextFormat3>(OT::ContextFormat3 const*) const
Unexecuted instantiation: OT::ChainContextFormat3* hb_serialize_context_t::start_embed<OT::ChainContextFormat3>(OT::ChainContextFormat3 const*) const
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::start_embed<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePos* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::SinglePos>(OT::Layout::GPOS_impl::SinglePos const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorFormat3* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::AnchorFormat3>(OT::Layout::GPOS_impl::AnchorFormat3 const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::CursivePosFormat1* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::CursivePosFormat1>(OT::Layout::GPOS_impl::CursivePosFormat1 const*) const
Unexecuted instantiation: OT::Lookup* hb_serialize_context_t::start_embed<OT::Lookup>(OT::Lookup const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkArray* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkArray>(OT::Layout::GPOS_impl::MarkArray const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorMatrix* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::AnchorMatrix>(OT::Layout::GPOS_impl::AnchorMatrix const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::LigatureArray* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::LigatureArray>(OT::Layout::GPOS_impl::LigatureArray const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::ContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat1_4<OT::Layout::SmallTypes> >(OT::ContextFormat1_4<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::RuleSet<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::RuleSet<OT::Layout::SmallTypes> >(OT::RuleSet<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::Rule<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Rule<OT::Layout::SmallTypes> >(OT::Rule<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat2_5<OT::Layout::SmallTypes> >(OT::ContextFormat2_5<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::ContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat1_4<OT::Layout::MediumTypes> >(OT::ContextFormat1_4<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::RuleSet<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::RuleSet<OT::Layout::MediumTypes> >(OT::RuleSet<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::Rule<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Rule<OT::Layout::MediumTypes> >(OT::Rule<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat2_5<OT::Layout::MediumTypes> >(OT::ContextFormat2_5<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ChainContextFormat1_4<OT::Layout::SmallTypes> >(OT::ChainContextFormat1_4<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::ChainRuleSet<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ChainRuleSet<OT::Layout::SmallTypes> >(OT::ChainRuleSet<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::ChainRule<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ChainRule<OT::Layout::SmallTypes> >(OT::ChainRule<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ChainContextFormat2_5<OT::Layout::SmallTypes> >(OT::ChainContextFormat2_5<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ChainContextFormat1_4<OT::Layout::MediumTypes> >(OT::ChainContextFormat1_4<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::ChainRuleSet<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ChainRuleSet<OT::Layout::MediumTypes> >(OT::ChainRuleSet<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::ChainRule<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ChainRule<OT::Layout::MediumTypes> >(OT::ChainRule<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ChainContextFormat2_5<OT::Layout::MediumTypes> >(OT::ChainContextFormat2_5<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos>* hb_serialize_context_t::start_embed<OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos> >(OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos> const*) const
Unexecuted instantiation: OT::GSUBGPOSVersion1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::GSUBGPOSVersion1_2<OT::Layout::SmallTypes> >(OT::GSUBGPOSVersion1_2<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::start_embed<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u> > >(OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u> > const*) const
Unexecuted instantiation: OT::GSUBGPOSVersion1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::GSUBGPOSVersion1_2<OT::Layout::MediumTypes> >(OT::GSUBGPOSVersion1_2<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u> >* hb_serialize_context_t::start_embed<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u> > >(OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u> > const*) const
Unexecuted instantiation: OT::DefaultUVS* hb_serialize_context_t::start_embed<OT::DefaultUVS>(OT::DefaultUVS const*) const
Unexecuted instantiation: OT::NonDefaultUVS* hb_serialize_context_t::start_embed<OT::NonDefaultUVS>(OT::NonDefaultUVS const*) const
Unexecuted instantiation: OT::cmap* hb_serialize_context_t::start_embed<OT::cmap>(OT::cmap const*) const
Unexecuted instantiation: OT::CmapSubtable* hb_serialize_context_t::start_embed<OT::CmapSubtable>(OT::CmapSubtable const*) const
Unexecuted instantiation: OT::IntType<unsigned short, 2u>* hb_serialize_context_t::start_embed<OT::IntType<unsigned short, 2u> >(OT::IntType<unsigned short, 2u> const*) const
Unexecuted instantiation: OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::start_embed<OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned short, 2u> > >(OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned short, 2u> > const*) const
Unexecuted instantiation: OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned int, 4u> >* hb_serialize_context_t::start_embed<OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned int, 4u> > >(OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned int, 4u> > const*) const
Unexecuted instantiation: OT::ColorLine<OT::NoVariable>* hb_serialize_context_t::start_embed<OT::ColorLine<OT::NoVariable> >(OT::ColorLine<OT::NoVariable> const*) const
Unexecuted instantiation: OT::ColorLine<OT::Variable>* hb_serialize_context_t::start_embed<OT::ColorLine<OT::Variable> >(OT::ColorLine<OT::Variable> const*) const
Unexecuted instantiation: OT::ClipList* hb_serialize_context_t::start_embed<OT::ClipList>(OT::ClipList const*) const
Unexecuted instantiation: OT::BaseGlyphList* hb_serialize_context_t::start_embed<OT::BaseGlyphList>(OT::BaseGlyphList const*) const
Unexecuted instantiation: OT::LayerList* hb_serialize_context_t::start_embed<OT::LayerList>(OT::LayerList const*) const
Unexecuted instantiation: OT::COLR* hb_serialize_context_t::start_embed<OT::COLR>(OT::COLR const*) const
Unexecuted instantiation: OT::LayerRecord* hb_serialize_context_t::start_embed<OT::LayerRecord>(OT::LayerRecord const*) const
Unexecuted instantiation: OT::DeltaSetIndexMap* hb_serialize_context_t::start_embed<OT::DeltaSetIndexMap>(OT::DeltaSetIndexMap const*) const
Unexecuted instantiation: char* hb_serialize_context_t::start_embed<char>(char const*) const
Unexecuted instantiation: OT::glyf* hb_serialize_context_t::start_embed<OT::glyf>(OT::glyf const*) const
Unexecuted instantiation: OT::IndexSubtable* hb_serialize_context_t::start_embed<OT::IndexSubtable>(OT::IndexSubtable const*) const
Unexecuted instantiation: OT::IndexSubtableArray* hb_serialize_context_t::start_embed<OT::IndexSubtableArray>(OT::IndexSubtableArray const*) const
Unexecuted instantiation: OT::CBLC* hb_serialize_context_t::start_embed<OT::CBLC>(OT::CBLC const*) const
Unexecuted instantiation: OT::UnsizedArrayOf<OT::IntType<unsigned int, 4u> >* hb_serialize_context_t::start_embed<OT::UnsizedArrayOf<OT::IntType<unsigned int, 4u> > >(OT::UnsizedArrayOf<OT::IntType<unsigned int, 4u> > const*) const
Unexecuted instantiation: OT::IntType<unsigned int, 4u>* hb_serialize_context_t::start_embed<OT::IntType<unsigned int, 4u> >(OT::IntType<unsigned int, 4u> const*) const
Unexecuted instantiation: OT::UnsizedArrayOf<OT::Index>* hb_serialize_context_t::start_embed<OT::UnsizedArrayOf<OT::Index> >(OT::UnsizedArrayOf<OT::Index> const*) const
Unexecuted instantiation: OT::Index* hb_serialize_context_t::start_embed<OT::Index>(OT::Index const*) const
Unexecuted instantiation: OT::CPAL* hb_serialize_context_t::start_embed<OT::CPAL>(OT::CPAL const*) const
Unexecuted instantiation: OT::SBIXGlyph* hb_serialize_context_t::start_embed<OT::SBIXGlyph>(OT::SBIXGlyph const*) const
Unexecuted instantiation: OT::UnsizedArrayOf<OT::IntType<unsigned char, 1u> >* hb_serialize_context_t::start_embed<OT::UnsizedArrayOf<OT::IntType<unsigned char, 1u> > >(OT::UnsizedArrayOf<OT::IntType<unsigned char, 1u> > const*) const
Unexecuted instantiation: OT::IntType<unsigned char, 1u>* hb_serialize_context_t::start_embed<OT::IntType<unsigned char, 1u> >(OT::IntType<unsigned char, 1u> const*) const
Unexecuted instantiation: OT::SBIXStrike* hb_serialize_context_t::start_embed<OT::SBIXStrike>(OT::SBIXStrike const*) const
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> >* hb_serialize_context_t::start_embed<OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> > >(OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> > const*) const
Unexecuted instantiation: OT::sbix* hb_serialize_context_t::start_embed<OT::sbix>(OT::sbix const*) const
Unexecuted instantiation: unsigned char* hb_serialize_context_t::start_embed<unsigned char>(unsigned char const*) const
Unexecuted instantiation: OT::name* hb_serialize_context_t::start_embed<OT::name>(OT::name const*) const
Unexecuted instantiation: OT::post* hb_serialize_context_t::start_embed<OT::post>(OT::post const*) const
Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes> const*) const
OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> const*) const
Line
Count
Source
571
108k
  { return reinterpret_cast<Type *> (this->head); }
OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes> const*) const
Line
Count
Source
571
310k
  { return reinterpret_cast<Type *> (this->head); }
Unexecuted instantiation: OT::Layout::GSUB_impl::ReverseChainSingleSubstFormat1* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::ReverseChainSingleSubstFormat1>(OT::Layout::GSUB_impl::ReverseChainSingleSubstFormat1 const*) const
Unexecuted instantiation: OT::ArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::start_embed<OT::ArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> > const*) const
OT::Layout::GSUB_impl::SubstLookupSubTable* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::SubstLookupSubTable>(OT::Layout::GSUB_impl::SubstLookupSubTable const*) const
Line
Count
Source
571
33.1k
  { return reinterpret_cast<Type *> (this->head); }
Unexecuted instantiation: OT::Layout::GSUB_impl::SingleSubst* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::SingleSubst>(OT::Layout::GSUB_impl::SingleSubst const*) const
Unexecuted instantiation: OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes> const*) const
Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes> const*) const
Unexecuted instantiation: OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst>* hb_serialize_context_t::start_embed<OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst> >(OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst> const*) const
Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::start_embed<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u> > >(OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u> > const*) const
Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u> >* hb_serialize_context_t::start_embed<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u> > >(OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u> > const*) const
Unexecuted instantiation: OT::AxisValueOffsetArray* hb_serialize_context_t::start_embed<OT::AxisValueOffsetArray>(OT::AxisValueOffsetArray const*) const
Unexecuted instantiation: OT::VORG* hb_serialize_context_t::start_embed<OT::VORG>(OT::VORG const*) const
Unexecuted instantiation: OT::MathConstants* hb_serialize_context_t::start_embed<OT::MathConstants>(OT::MathConstants const*) const
Unexecuted instantiation: OT::MathItalicsCorrectionInfo* hb_serialize_context_t::start_embed<OT::MathItalicsCorrectionInfo>(OT::MathItalicsCorrectionInfo const*) const
Unexecuted instantiation: OT::MathTopAccentAttachment* hb_serialize_context_t::start_embed<OT::MathTopAccentAttachment>(OT::MathTopAccentAttachment const*) const
Unexecuted instantiation: OT::MathKern* hb_serialize_context_t::start_embed<OT::MathKern>(OT::MathKern const*) const
Unexecuted instantiation: OT::MathKernInfo* hb_serialize_context_t::start_embed<OT::MathKernInfo>(OT::MathKernInfo const*) const
Unexecuted instantiation: OT::MathGlyphAssembly* hb_serialize_context_t::start_embed<OT::MathGlyphAssembly>(OT::MathGlyphAssembly const*) const
Unexecuted instantiation: OT::MathGlyphConstruction* hb_serialize_context_t::start_embed<OT::MathGlyphConstruction>(OT::MathGlyphConstruction const*) const
Unexecuted instantiation: OT::MathVariants* hb_serialize_context_t::start_embed<OT::MathVariants>(OT::MathVariants const*) const
OT::Layout::GSUB_impl::SubstLookup* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::SubstLookup>(OT::Layout::GSUB_impl::SubstLookup const*) const
Line
Count
Source
571
34.6k
  { return reinterpret_cast<Type *> (this->head); }
572
  template <typename Type>
573
  Type *start_embed (const Type &obj) const
574
0
  { return start_embed (std::addressof (obj)); }
Unexecuted instantiation: OT::Feature* hb_serialize_context_t::start_embed<OT::Feature>(OT::Feature const&) const
Unexecuted instantiation: OT::RecordListOfFeature* hb_serialize_context_t::start_embed<OT::RecordListOfFeature>(OT::RecordListOfFeature const&) const
Unexecuted instantiation: OT::LangSys* hb_serialize_context_t::start_embed<OT::LangSys>(OT::LangSys const&) const
Unexecuted instantiation: OT::Script* hb_serialize_context_t::start_embed<OT::Script>(OT::Script const&) const
Unexecuted instantiation: OT::RecordListOfScript* hb_serialize_context_t::start_embed<OT::RecordListOfScript>(OT::RecordListOfScript const&) const
Unexecuted instantiation: OT::FeatureTableSubstitution* hb_serialize_context_t::start_embed<OT::FeatureTableSubstitution>(OT::FeatureTableSubstitution const&) const
Unexecuted instantiation: OT::FeatureVariations* hb_serialize_context_t::start_embed<OT::FeatureVariations>(OT::FeatureVariations const&) const
Unexecuted instantiation: OT::AttachPoint* hb_serialize_context_t::start_embed<OT::AttachPoint>(OT::AttachPoint const&) const
Unexecuted instantiation: OT::AttachList* hb_serialize_context_t::start_embed<OT::AttachList>(OT::AttachList const&) const
Unexecuted instantiation: OT::CaretValueFormat3* hb_serialize_context_t::start_embed<OT::CaretValueFormat3>(OT::CaretValueFormat3 const&) const
Unexecuted instantiation: OT::LigGlyph* hb_serialize_context_t::start_embed<OT::LigGlyph>(OT::LigGlyph const&) const
Unexecuted instantiation: OT::LigCaretList* hb_serialize_context_t::start_embed<OT::LigCaretList>(OT::LigCaretList const&) const
Unexecuted instantiation: OT::MarkGlyphSetsFormat1* hb_serialize_context_t::start_embed<OT::MarkGlyphSetsFormat1>(OT::MarkGlyphSetsFormat1 const&) const
Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorFormat3* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::AnchorFormat3>(OT::Layout::GPOS_impl::AnchorFormat3 const&) const
Unexecuted instantiation: OT::Layout::GPOS_impl::CursivePosFormat1* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::CursivePosFormat1>(OT::Layout::GPOS_impl::CursivePosFormat1 const&) const
Unexecuted instantiation: OT::Lookup* hb_serialize_context_t::start_embed<OT::Lookup>(OT::Lookup const&) const
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::ContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat1_4<OT::Layout::SmallTypes> >(OT::ContextFormat1_4<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::RuleSet<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::RuleSet<OT::Layout::SmallTypes> >(OT::RuleSet<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat2_5<OT::Layout::SmallTypes> >(OT::ContextFormat2_5<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::ContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat1_4<OT::Layout::MediumTypes> >(OT::ContextFormat1_4<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::RuleSet<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::RuleSet<OT::Layout::MediumTypes> >(OT::RuleSet<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat2_5<OT::Layout::MediumTypes> >(OT::ContextFormat2_5<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ChainContextFormat1_4<OT::Layout::SmallTypes> >(OT::ChainContextFormat1_4<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::ChainRuleSet<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ChainRuleSet<OT::Layout::SmallTypes> >(OT::ChainRuleSet<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ChainContextFormat2_5<OT::Layout::SmallTypes> >(OT::ChainContextFormat2_5<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ChainContextFormat1_4<OT::Layout::MediumTypes> >(OT::ChainContextFormat1_4<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::ChainRuleSet<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ChainRuleSet<OT::Layout::MediumTypes> >(OT::ChainRuleSet<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ChainContextFormat2_5<OT::Layout::MediumTypes> >(OT::ChainContextFormat2_5<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::ClipList* hb_serialize_context_t::start_embed<OT::ClipList>(OT::ClipList const&) const
Unexecuted instantiation: OT::CPAL* hb_serialize_context_t::start_embed<OT::CPAL>(OT::CPAL const&) const
Unexecuted instantiation: OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes> const&) const
Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes> const&) const
Unexecuted instantiation: OT::MathItalicsCorrectionInfo* hb_serialize_context_t::start_embed<OT::MathItalicsCorrectionInfo>(OT::MathItalicsCorrectionInfo const&) const
Unexecuted instantiation: OT::MathTopAccentAttachment* hb_serialize_context_t::start_embed<OT::MathTopAccentAttachment>(OT::MathTopAccentAttachment const&) const
Unexecuted instantiation: OT::MathKernInfo* hb_serialize_context_t::start_embed<OT::MathKernInfo>(OT::MathKernInfo const&) const
Unexecuted instantiation: OT::MathGlyphAssembly* hb_serialize_context_t::start_embed<OT::MathGlyphAssembly>(OT::MathGlyphAssembly const&) const
Unexecuted instantiation: OT::MathGlyphConstruction* hb_serialize_context_t::start_embed<OT::MathGlyphConstruction>(OT::MathGlyphConstruction const&) const
Unexecuted instantiation: OT::MathVariants* hb_serialize_context_t::start_embed<OT::MathVariants>(OT::MathVariants const&) const
575
576
  bool err (hb_serialize_error_t err_type)
577
4.96k
  {
578
4.96k
    return !bool ((errors = (errors | err_type)));
579
4.96k
  }
580
581
  bool start_zerocopy (size_t size)
582
0
  {
583
0
    if (unlikely (in_error ())) return false;
584
0
585
0
    if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size)))
586
0
    {
587
0
      err (HB_SERIALIZE_ERROR_OUT_OF_ROOM);
588
0
      return false;
589
0
    }
590
0
591
0
    assert (!this->zerocopy);
592
0
    this->zerocopy = this->head;
593
0
594
0
    assert (this->current->head == this->head);
595
0
    this->current->head = this->current->tail = this->head = this->tail - size;
596
0
    return true;
597
0
  }
598
599
  template <typename Type>
600
  Type *allocate_size (size_t size, bool clear = true)
601
1.57M
  {
602
1.57M
    if (unlikely (in_error ())) return nullptr;
603
604
1.57M
    if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size)))
605
0
    {
606
0
      err (HB_SERIALIZE_ERROR_OUT_OF_ROOM);
607
0
      return nullptr;
608
0
    }
609
1.57M
    if (clear)
610
1.22M
      hb_memset (this->head, 0, size);
611
1.57M
    char *ret = this->head;
612
1.57M
    this->head += size;
613
1.57M
    return reinterpret_cast<Type *> (ret);
614
1.57M
  }
Unexecuted instantiation: void* hb_serialize_context_t::allocate_size<void>(unsigned long, bool)
OT::Layout::Common::Coverage* hb_serialize_context_t::allocate_size<OT::Layout::Common::Coverage>(unsigned long, bool)
Line
Count
Source
601
31.1k
  {
602
31.1k
    if (unlikely (in_error ())) return nullptr;
603
604
31.1k
    if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size)))
605
0
    {
606
0
      err (HB_SERIALIZE_ERROR_OUT_OF_ROOM);
607
0
      return nullptr;
608
0
    }
609
31.1k
    if (clear)
610
31.1k
      hb_memset (this->head, 0, size);
611
31.1k
    char *ret = this->head;
612
31.1k
    this->head += size;
613
31.1k
    return reinterpret_cast<Type *> (ret);
614
31.1k
  }
OT::ArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Line
Count
Source
601
77.8k
  {
602
77.8k
    if (unlikely (in_error ())) return nullptr;
603
604
77.8k
    if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size)))
605
0
    {
606
0
      err (HB_SERIALIZE_ERROR_OUT_OF_ROOM);
607
0
      return nullptr;
608
0
    }
609
77.8k
    if (clear)
610
38.9k
      hb_memset (this->head, 0, size);
611
77.8k
    char *ret = this->head;
612
77.8k
    this->head += size;
613
77.8k
    return reinterpret_cast<Type *> (ret);
614
77.8k
  }
OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes> >(unsigned long, bool)
Line
Count
Source
601
3.32k
  {
602
3.32k
    if (unlikely (in_error ())) return nullptr;
603
604
3.32k
    if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size)))
605
0
    {
606
0
      err (HB_SERIALIZE_ERROR_OUT_OF_ROOM);
607
0
      return nullptr;
608
0
    }
609
3.32k
    if (clear)
610
3.32k
      hb_memset (this->head, 0, size);
611
3.32k
    char *ret = this->head;
612
3.32k
    this->head += size;
613
3.32k
    return reinterpret_cast<Type *> (ret);
614
3.32k
  }
OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Line
Count
Source
601
6.65k
  {
602
6.65k
    if (unlikely (in_error ())) return nullptr;
603
604
6.65k
    if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size)))
605
0
    {
606
0
      err (HB_SERIALIZE_ERROR_OUT_OF_ROOM);
607
0
      return nullptr;
608
0
    }
609
6.65k
    if (clear)
610
6.65k
      hb_memset (this->head, 0, size);
611
6.65k
    char *ret = this->head;
612
6.65k
    this->head += size;
613
6.65k
    return reinterpret_cast<Type *> (ret);
614
6.65k
  }
Unexecuted instantiation: OT::ArrayOf<OT::HBGlyphID24, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::HBGlyphID24, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::Common::CoverageFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::Common::CoverageFormat2_4<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::FeatureParamsSize* hb_serialize_context_t::allocate_size<OT::FeatureParamsSize>(unsigned long, bool)
Unexecuted instantiation: OT::FeatureParamsStylisticSet* hb_serialize_context_t::allocate_size<OT::FeatureParamsStylisticSet>(unsigned long, bool)
Unexecuted instantiation: OT::FeatureParamsCharacterVariants* hb_serialize_context_t::allocate_size<OT::FeatureParamsCharacterVariants>(unsigned long, bool)
Unexecuted instantiation: OT::Feature* hb_serialize_context_t::allocate_size<OT::Feature>(unsigned long, bool)
Unexecuted instantiation: OT::IndexArray* hb_serialize_context_t::allocate_size<OT::IndexArray>(unsigned long, bool)
Unexecuted instantiation: OT::Index* hb_serialize_context_t::allocate_size<OT::Index>(unsigned long, bool)
Unexecuted instantiation: OT::RecordListOfFeature* hb_serialize_context_t::allocate_size<OT::RecordListOfFeature>(unsigned long, bool)
Unexecuted instantiation: OT::Record<OT::Feature>* hb_serialize_context_t::allocate_size<OT::Record<OT::Feature> >(unsigned long, bool)
Unexecuted instantiation: OT::LangSys* hb_serialize_context_t::allocate_size<OT::LangSys>(unsigned long, bool)
Unexecuted instantiation: OT::Script* hb_serialize_context_t::allocate_size<OT::Script>(unsigned long, bool)
Unexecuted instantiation: OT::Record<OT::LangSys>* hb_serialize_context_t::allocate_size<OT::Record<OT::LangSys> >(unsigned long, bool)
Unexecuted instantiation: OT::RecordListOfScript* hb_serialize_context_t::allocate_size<OT::RecordListOfScript>(unsigned long, bool)
Unexecuted instantiation: OT::Record<OT::Script>* hb_serialize_context_t::allocate_size<OT::Record<OT::Script> >(unsigned long, bool)
OT::Lookup* hb_serialize_context_t::allocate_size<OT::Lookup>(unsigned long, bool)
Line
Count
Source
601
33.1k
  {
602
33.1k
    if (unlikely (in_error ())) return nullptr;
603
604
33.1k
    if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size)))
605
0
    {
606
0
      err (HB_SERIALIZE_ERROR_OUT_OF_ROOM);
607
0
      return nullptr;
608
0
    }
609
33.1k
    if (clear)
610
33.1k
      hb_memset (this->head, 0, size);
611
33.1k
    char *ret = this->head;
612
33.1k
    this->head += size;
613
33.1k
    return reinterpret_cast<Type *> (ret);
614
33.1k
  }
OT::ArrayOf<OT::Offset<OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::Offset<OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Line
Count
Source
601
66.3k
  {
602
66.3k
    if (unlikely (in_error ())) return nullptr;
603
604
66.3k
    if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size)))
605
0
    {
606
0
      err (HB_SERIALIZE_ERROR_OUT_OF_ROOM);
607
0
      return nullptr;
608
0
    }
609
66.3k
    if (clear)
610
66.3k
      hb_memset (this->head, 0, size);
611
66.3k
    char *ret = this->head;
612
66.3k
    this->head += size;
613
66.3k
    return reinterpret_cast<Type *> (ret);
614
66.3k
  }
Unexecuted instantiation: OT::ClassDef* hb_serialize_context_t::allocate_size<OT::ClassDef>(unsigned long, bool)
Unexecuted instantiation: OT::ClassDefFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ClassDefFormat1_3<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::IntType<unsigned short, 2u>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::IntType<unsigned short, 2u>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::ClassDefFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ClassDefFormat2_4<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ClassDefFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ClassDefFormat1_3<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::IntType<unsigned short, 2u>, OT::IntType<unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::IntType<unsigned short, 2u>, OT::IntType<unsigned int, 3u> > >(unsigned long, bool)
Unexecuted instantiation: OT::ClassDefFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ClassDefFormat2_4<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::VarRegionList* hb_serialize_context_t::allocate_size<OT::VarRegionList>(unsigned long, bool)
Unexecuted instantiation: OT::VarData* hb_serialize_context_t::allocate_size<OT::VarData>(unsigned long, bool)
Unexecuted instantiation: OT::VariationStore* hb_serialize_context_t::allocate_size<OT::VariationStore>(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::ConditionFormat1* hb_serialize_context_t::allocate_size<OT::ConditionFormat1>(unsigned long, bool)
Unexecuted instantiation: OT::ConditionSet* hb_serialize_context_t::allocate_size<OT::ConditionSet>(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::FeatureTableSubstitutionRecord* hb_serialize_context_t::allocate_size<OT::FeatureTableSubstitutionRecord>(unsigned long, bool)
Unexecuted instantiation: OT::FeatureTableSubstitution* hb_serialize_context_t::allocate_size<OT::FeatureTableSubstitution>(unsigned long, bool)
Unexecuted instantiation: OT::FeatureVariationRecord* hb_serialize_context_t::allocate_size<OT::FeatureVariationRecord>(unsigned long, bool)
Unexecuted instantiation: OT::FeatureVariations* hb_serialize_context_t::allocate_size<OT::FeatureVariations>(unsigned long, bool)
Unexecuted instantiation: OT::HintingDevice* hb_serialize_context_t::allocate_size<OT::HintingDevice>(unsigned long, bool)
Unexecuted instantiation: OT::VariationDevice* hb_serialize_context_t::allocate_size<OT::VariationDevice>(unsigned long, bool)
Unexecuted instantiation: OT::AttachList* hb_serialize_context_t::allocate_size<OT::AttachList>(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::CaretValueFormat1* hb_serialize_context_t::allocate_size<OT::CaretValueFormat1>(unsigned long, bool)
Unexecuted instantiation: OT::CaretValueFormat2* hb_serialize_context_t::allocate_size<OT::CaretValueFormat2>(unsigned long, bool)
OT::IntType<unsigned short, 2u>* hb_serialize_context_t::allocate_size<OT::IntType<unsigned short, 2u> >(unsigned long, bool)
Line
Count
Source
601
33.1k
  {
602
33.1k
    if (unlikely (in_error ())) return nullptr;
603
604
33.1k
    if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size)))
605
0
    {
606
0
      err (HB_SERIALIZE_ERROR_OUT_OF_ROOM);
607
0
      return nullptr;
608
0
    }
609
33.1k
    if (clear)
610
33.1k
      hb_memset (this->head, 0, size);
611
33.1k
    char *ret = this->head;
612
33.1k
    this->head += size;
613
33.1k
    return reinterpret_cast<Type *> (ret);
614
33.1k
  }
Unexecuted instantiation: OT::IntType<short, 2u>* hb_serialize_context_t::allocate_size<OT::IntType<short, 2u> >(unsigned long, bool)
Unexecuted instantiation: OT::OffsetTo<OT::Device, OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::Device, OT::IntType<unsigned short, 2u>, true> >(unsigned long, bool)
Unexecuted instantiation: OT::LigGlyph* hb_serialize_context_t::allocate_size<OT::LigGlyph>(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::LigCaretList* hb_serialize_context_t::allocate_size<OT::LigCaretList>(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::MarkGlyphSetsFormat1* hb_serialize_context_t::allocate_size<OT::MarkGlyphSetsFormat1>(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::GDEFVersion1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::GDEFVersion1_2<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::GDEFVersion1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::GDEFVersion1_2<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::LookupRecord* hb_serialize_context_t::allocate_size<OT::LookupRecord>(unsigned long, bool)
Unexecuted instantiation: OT::ContextFormat3* hb_serialize_context_t::allocate_size<OT::ContextFormat3>(unsigned long, bool)
Unexecuted instantiation: OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat1* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::SinglePosFormat1>(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat2* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::SinglePosFormat2>(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorFormat1* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::AnchorFormat1>(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorFormat2* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::AnchorFormat2>(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::EntryExitRecord* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::EntryExitRecord>(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::CursivePosFormat1* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::CursivePosFormat1>(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkRecord* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkRecord>(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkArray* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkArray>(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorMatrix* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::AnchorMatrix>(unsigned long, bool)
Unexecuted instantiation: OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::IntType<unsigned short, 2u>, true> >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::LigatureArray* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::LigatureArray>(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ContextFormat1_4<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::RuleSet<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::RuleSet<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::Rule<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Rule<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ContextFormat2_5<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ContextFormat1_4<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::RuleSet<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::RuleSet<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::Rule<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Rule<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ContextFormat2_5<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ChainContextFormat1_4<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::ChainRuleSet<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ChainRuleSet<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ChainContextFormat2_5<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ChainContextFormat1_4<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::ChainRuleSet<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ChainRuleSet<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ChainContextFormat2_5<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos>* hb_serialize_context_t::allocate_size<OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos> >(unsigned long, bool)
Unexecuted instantiation: OT::GSUBGPOSVersion1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::GSUBGPOSVersion1_2<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::OffsetTo<OT::FeatureVariations, OT::IntType<unsigned int, 4u>, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::FeatureVariations, OT::IntType<unsigned int, 4u>, true> >(unsigned long, bool)
Unexecuted instantiation: OT::GSUBGPOSVersion1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::GSUBGPOSVersion1_2<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u> > >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::OS2* hb_serialize_context_t::allocate_size<OT::OS2>(unsigned long, bool)
Unexecuted instantiation: OT::IntType<unsigned int, 4u>* hb_serialize_context_t::allocate_size<OT::IntType<unsigned int, 4u> >(unsigned long, bool)
Unexecuted instantiation: OT::UnicodeValueRange* hb_serialize_context_t::allocate_size<OT::UnicodeValueRange>(unsigned long, bool)
Unexecuted instantiation: OT::UVSMapping* hb_serialize_context_t::allocate_size<OT::UVSMapping>(unsigned long, bool)
Unexecuted instantiation: OT::VariationSelectorRecord* hb_serialize_context_t::allocate_size<OT::VariationSelectorRecord>(unsigned long, bool)
Unexecuted instantiation: OT::CmapSubtableFormat14* hb_serialize_context_t::allocate_size<OT::CmapSubtableFormat14>(unsigned long, bool)
Unexecuted instantiation: OT::cmap* hb_serialize_context_t::allocate_size<OT::cmap>(unsigned long, bool)
Unexecuted instantiation: OT::EncodingRecord* hb_serialize_context_t::allocate_size<OT::EncodingRecord>(unsigned long, bool)
Unexecuted instantiation: OT::CmapSubtableFormat4* hb_serialize_context_t::allocate_size<OT::CmapSubtableFormat4>(unsigned long, bool)
Unexecuted instantiation: OT::CmapSubtableFormat12* hb_serialize_context_t::allocate_size<OT::CmapSubtableFormat12>(unsigned long, bool)
Unexecuted instantiation: OT::CmapSubtableLongGroup* hb_serialize_context_t::allocate_size<OT::CmapSubtableLongGroup>(unsigned long, bool)
Unexecuted instantiation: OT::ColorStop* hb_serialize_context_t::allocate_size<OT::ColorStop>(unsigned long, bool)
Unexecuted instantiation: OT::PaintColrLayers* hb_serialize_context_t::allocate_size<OT::PaintColrLayers>(unsigned long, bool)
Unexecuted instantiation: OT::PaintSolid* hb_serialize_context_t::allocate_size<OT::PaintSolid>(unsigned long, bool)
Unexecuted instantiation: OT::PaintGlyph* hb_serialize_context_t::allocate_size<OT::PaintGlyph>(unsigned long, bool)
Unexecuted instantiation: OT::VarIdx* hb_serialize_context_t::allocate_size<OT::VarIdx>(unsigned long, bool)
Unexecuted instantiation: OT::PaintLinearGradient<OT::NoVariable>* hb_serialize_context_t::allocate_size<OT::PaintLinearGradient<OT::NoVariable> >(unsigned long, bool)
Unexecuted instantiation: OT::ColorLine<OT::NoVariable>* hb_serialize_context_t::allocate_size<OT::ColorLine<OT::NoVariable> >(unsigned long, bool)
Unexecuted instantiation: OT::PaintLinearGradient<OT::Variable>* hb_serialize_context_t::allocate_size<OT::PaintLinearGradient<OT::Variable> >(unsigned long, bool)
Unexecuted instantiation: OT::ColorLine<OT::Variable>* hb_serialize_context_t::allocate_size<OT::ColorLine<OT::Variable> >(unsigned long, bool)
Unexecuted instantiation: OT::PaintRadialGradient<OT::NoVariable>* hb_serialize_context_t::allocate_size<OT::PaintRadialGradient<OT::NoVariable> >(unsigned long, bool)
Unexecuted instantiation: OT::PaintRadialGradient<OT::Variable>* hb_serialize_context_t::allocate_size<OT::PaintRadialGradient<OT::Variable> >(unsigned long, bool)
Unexecuted instantiation: OT::PaintSweepGradient<OT::NoVariable>* hb_serialize_context_t::allocate_size<OT::PaintSweepGradient<OT::NoVariable> >(unsigned long, bool)
Unexecuted instantiation: OT::PaintSweepGradient<OT::Variable>* hb_serialize_context_t::allocate_size<OT::PaintSweepGradient<OT::Variable> >(unsigned long, bool)
Unexecuted instantiation: OT::PaintTransform<OT::NoVariable>* hb_serialize_context_t::allocate_size<OT::PaintTransform<OT::NoVariable> >(unsigned long, bool)
Unexecuted instantiation: OT::NoVariable<OT::Affine2x3>* hb_serialize_context_t::allocate_size<OT::NoVariable<OT::Affine2x3> >(unsigned long, bool)
Unexecuted instantiation: OT::PaintTransform<OT::Variable>* hb_serialize_context_t::allocate_size<OT::PaintTransform<OT::Variable> >(unsigned long, bool)
Unexecuted instantiation: OT::Variable<OT::Affine2x3>* hb_serialize_context_t::allocate_size<OT::Variable<OT::Affine2x3> >(unsigned long, bool)
Unexecuted instantiation: OT::PaintColrGlyph* hb_serialize_context_t::allocate_size<OT::PaintColrGlyph>(unsigned long, bool)
Unexecuted instantiation: OT::PaintTranslate* hb_serialize_context_t::allocate_size<OT::PaintTranslate>(unsigned long, bool)
Unexecuted instantiation: OT::PaintScale* hb_serialize_context_t::allocate_size<OT::PaintScale>(unsigned long, bool)
Unexecuted instantiation: OT::PaintScaleAroundCenter* hb_serialize_context_t::allocate_size<OT::PaintScaleAroundCenter>(unsigned long, bool)
Unexecuted instantiation: OT::PaintScaleUniform* hb_serialize_context_t::allocate_size<OT::PaintScaleUniform>(unsigned long, bool)
Unexecuted instantiation: OT::PaintScaleUniformAroundCenter* hb_serialize_context_t::allocate_size<OT::PaintScaleUniformAroundCenter>(unsigned long, bool)
Unexecuted instantiation: OT::PaintRotate* hb_serialize_context_t::allocate_size<OT::PaintRotate>(unsigned long, bool)
Unexecuted instantiation: OT::PaintRotateAroundCenter* hb_serialize_context_t::allocate_size<OT::PaintRotateAroundCenter>(unsigned long, bool)
Unexecuted instantiation: OT::PaintSkew* hb_serialize_context_t::allocate_size<OT::PaintSkew>(unsigned long, bool)
Unexecuted instantiation: OT::PaintSkewAroundCenter* hb_serialize_context_t::allocate_size<OT::PaintSkewAroundCenter>(unsigned long, bool)
Unexecuted instantiation: OT::PaintComposite* hb_serialize_context_t::allocate_size<OT::PaintComposite>(unsigned long, bool)
Unexecuted instantiation: OT::ClipBoxFormat1* hb_serialize_context_t::allocate_size<OT::ClipBoxFormat1>(unsigned long, bool)
Unexecuted instantiation: OT::ClipBoxFormat2* hb_serialize_context_t::allocate_size<OT::ClipBoxFormat2>(unsigned long, bool)
Unexecuted instantiation: OT::ClipRecord* hb_serialize_context_t::allocate_size<OT::ClipRecord>(unsigned long, bool)
Unexecuted instantiation: OT::ClipList* hb_serialize_context_t::allocate_size<OT::ClipList>(unsigned long, bool)
Unexecuted instantiation: OT::BaseGlyphPaintRecord* hb_serialize_context_t::allocate_size<OT::BaseGlyphPaintRecord>(unsigned long, bool)
Unexecuted instantiation: OT::BaseGlyphList* hb_serialize_context_t::allocate_size<OT::BaseGlyphList>(unsigned long, bool)
Unexecuted instantiation: OT::LayerList* hb_serialize_context_t::allocate_size<OT::LayerList>(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> > >(unsigned long, bool)
Unexecuted instantiation: OT::COLR* hb_serialize_context_t::allocate_size<OT::COLR>(unsigned long, bool)
Unexecuted instantiation: OT::BaseGlyphRecord* hb_serialize_context_t::allocate_size<OT::BaseGlyphRecord>(unsigned long, bool)
Unexecuted instantiation: OT::LayerRecord* hb_serialize_context_t::allocate_size<OT::LayerRecord>(unsigned long, bool)
Unexecuted instantiation: OT::head* hb_serialize_context_t::allocate_size<OT::head>(unsigned long, bool)
Unexecuted instantiation: OT::maxp* hb_serialize_context_t::allocate_size<OT::maxp>(unsigned long, bool)
Unexecuted instantiation: OT::maxpV1Tail* hb_serialize_context_t::allocate_size<OT::maxpV1Tail>(unsigned long, bool)
Unexecuted instantiation: OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned int, 4u> > >(unsigned long, bool)
Unexecuted instantiation: OT::HVAR* hb_serialize_context_t::allocate_size<OT::HVAR>(unsigned long, bool)
Unexecuted instantiation: OT::VVAR* hb_serialize_context_t::allocate_size<OT::VVAR>(unsigned long, bool)
Unexecuted instantiation: OT::gvar* hb_serialize_context_t::allocate_size<OT::gvar>(unsigned long, bool)
Unexecuted instantiation: OT::IntType<unsigned char, 1u>* hb_serialize_context_t::allocate_size<OT::IntType<unsigned char, 1u> >(unsigned long, bool)
Unexecuted instantiation: OT::HBFixed<OT::IntType<short, 2u>, 14u>* hb_serialize_context_t::allocate_size<OT::HBFixed<OT::IntType<short, 2u>, 14u> >(unsigned long, bool)
Unexecuted instantiation: char* hb_serialize_context_t::allocate_size<char>(unsigned long, bool)
Unexecuted instantiation: OT::HBFixed<OT::IntType<int, 4u>, 16u>* hb_serialize_context_t::allocate_size<OT::HBFixed<OT::IntType<int, 4u>, 16u> >(unsigned long, bool)
Unexecuted instantiation: OT::fvar* hb_serialize_context_t::allocate_size<OT::fvar>(unsigned long, bool)
Unexecuted instantiation: OT::AxisRecord* hb_serialize_context_t::allocate_size<OT::AxisRecord>(unsigned long, bool)
Unexecuted instantiation: OT::Offset<OT::IntType<unsigned int, 4u>, true>* hb_serialize_context_t::allocate_size<OT::Offset<OT::IntType<unsigned int, 4u>, true> >(unsigned long, bool)
Unexecuted instantiation: OT::Offset<OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::allocate_size<OT::Offset<OT::IntType<unsigned short, 2u>, true> >(unsigned long, bool)
Unexecuted instantiation: OT::IndexSubtable* hb_serialize_context_t::allocate_size<OT::IndexSubtable>(unsigned long, bool)
Unexecuted instantiation: OT::IndexSubtableRecord* hb_serialize_context_t::allocate_size<OT::IndexSubtableRecord>(unsigned long, bool)
Unexecuted instantiation: OT::BitmapSizeTable* hb_serialize_context_t::allocate_size<OT::BitmapSizeTable>(unsigned long, bool)
Unexecuted instantiation: OT::CBLC* hb_serialize_context_t::allocate_size<OT::CBLC>(unsigned long, bool)
Unexecuted instantiation: OT::CPALV1Tail* hb_serialize_context_t::allocate_size<OT::CPALV1Tail>(unsigned long, bool)
Unexecuted instantiation: OT::CPAL* hb_serialize_context_t::allocate_size<OT::CPAL>(unsigned long, bool)
Unexecuted instantiation: OT::SBIXGlyph* hb_serialize_context_t::allocate_size<OT::SBIXGlyph>(unsigned long, bool)
Unexecuted instantiation: OT::SBIXStrike* hb_serialize_context_t::allocate_size<OT::SBIXStrike>(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> > >(unsigned long, bool)
Unexecuted instantiation: unsigned char* hb_serialize_context_t::allocate_size<unsigned char>(unsigned long, bool)
Unexecuted instantiation: OT::IntType<int, 4u>* hb_serialize_context_t::allocate_size<OT::IntType<int, 4u> >(unsigned long, bool)
Unexecuted instantiation: CFF::FDSelect* hb_serialize_context_t::allocate_size<CFF::FDSelect>(unsigned long, bool)
Unexecuted instantiation: CFF::Encoding* hb_serialize_context_t::allocate_size<CFF::Encoding>(unsigned long, bool)
Unexecuted instantiation: CFF::Encoding0* hb_serialize_context_t::allocate_size<CFF::Encoding0>(unsigned long, bool)
Unexecuted instantiation: CFF::Encoding1* hb_serialize_context_t::allocate_size<CFF::Encoding1>(unsigned long, bool)
Unexecuted instantiation: CFF::CFF1SuppEncData* hb_serialize_context_t::allocate_size<CFF::CFF1SuppEncData>(unsigned long, bool)
Unexecuted instantiation: CFF::Charset* hb_serialize_context_t::allocate_size<CFF::Charset>(unsigned long, bool)
Unexecuted instantiation: CFF::Charset0* hb_serialize_context_t::allocate_size<CFF::Charset0>(unsigned long, bool)
Unexecuted instantiation: CFF::Charset1_2<OT::IntType<unsigned char, 1u> >* hb_serialize_context_t::allocate_size<CFF::Charset1_2<OT::IntType<unsigned char, 1u> > >(unsigned long, bool)
Unexecuted instantiation: CFF::Charset1_2<OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<CFF::Charset1_2<OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: CFF::CFFIndex<OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<CFF::CFFIndex<OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: CFF::CFF2FDSelect* hb_serialize_context_t::allocate_size<CFF::CFF2FDSelect>(unsigned long, bool)
Unexecuted instantiation: CFF::CFF2VariationStore* hb_serialize_context_t::allocate_size<CFF::CFF2VariationStore>(unsigned long, bool)
Unexecuted instantiation: OT::NameRecord* hb_serialize_context_t::allocate_size<OT::NameRecord>(unsigned long, bool)
Unexecuted instantiation: OT::name* hb_serialize_context_t::allocate_size<OT::name>(unsigned long, bool)
Unexecuted instantiation: OT::post* hb_serialize_context_t::allocate_size<OT::post>(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool)
Line
Count
Source
601
17.7k
  {
602
17.7k
    if (unlikely (in_error ())) return nullptr;
603
604
17.7k
    if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size)))
605
0
    {
606
0
      err (HB_SERIALIZE_ERROR_OUT_OF_ROOM);
607
0
      return nullptr;
608
0
    }
609
17.7k
    if (clear)
610
17.7k
      hb_memset (this->head, 0, size);
611
17.7k
    char *ret = this->head;
612
17.7k
    this->head += size;
613
17.7k
    return reinterpret_cast<Type *> (ret);
614
17.7k
  }
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Line
Count
Source
601
35.5k
  {
602
35.5k
    if (unlikely (in_error ())) return nullptr;
603
604
35.5k
    if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size)))
605
0
    {
606
0
      err (HB_SERIALIZE_ERROR_OUT_OF_ROOM);
607
0
      return nullptr;
608
0
    }
609
35.5k
    if (clear)
610
35.5k
      hb_memset (this->head, 0, size);
611
35.5k
    char *ret = this->head;
612
35.5k
    this->head += size;
613
35.5k
    return reinterpret_cast<Type *> (ret);
614
35.5k
  }
OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> >(unsigned long, bool)
Line
Count
Source
601
108k
  {
602
108k
    if (unlikely (in_error ())) return nullptr;
603
604
108k
    if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size)))
605
0
    {
606
0
      err (HB_SERIALIZE_ERROR_OUT_OF_ROOM);
607
0
      return nullptr;
608
0
    }
609
108k
    if (clear)
610
108k
      hb_memset (this->head, 0, size);
611
108k
    char *ret = this->head;
612
108k
    this->head += size;
613
108k
    return reinterpret_cast<Type *> (ret);
614
108k
  }
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Line
Count
Source
601
216k
  {
602
216k
    if (unlikely (in_error ())) return nullptr;
603
604
216k
    if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size)))
605
0
    {
606
0
      err (HB_SERIALIZE_ERROR_OUT_OF_ROOM);
607
0
      return nullptr;
608
0
    }
609
216k
    if (clear)
610
216k
      hb_memset (this->head, 0, size);
611
216k
    char *ret = this->head;
612
216k
    this->head += size;
613
216k
    return reinterpret_cast<Type *> (ret);
614
216k
  }
OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes> >(unsigned long, bool)
Line
Count
Source
601
309k
  {
602
309k
    if (unlikely (in_error ())) return nullptr;
603
604
309k
    if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size)))
605
0
    {
606
0
      err (HB_SERIALIZE_ERROR_OUT_OF_ROOM);
607
0
      return nullptr;
608
0
    }
609
309k
    if (clear)
610
309k
      hb_memset (this->head, 0, size);
611
309k
    char *ret = this->head;
612
309k
    this->head += size;
613
309k
    return reinterpret_cast<Type *> (ret);
614
309k
  }
OT::HeadlessArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::HeadlessArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Line
Count
Source
601
619k
  {
602
619k
    if (unlikely (in_error ())) return nullptr;
603
604
619k
    if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size)))
605
0
    {
606
0
      err (HB_SERIALIZE_ERROR_OUT_OF_ROOM);
607
0
      return nullptr;
608
0
    }
609
619k
    if (clear)
610
309k
      hb_memset (this->head, 0, size);
611
619k
    char *ret = this->head;
612
619k
    this->head += size;
613
619k
    return reinterpret_cast<Type *> (ret);
614
619k
  }
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::SmallTypes> >(unsigned long, bool)
Line
Count
Source
601
4.33k
  {
602
4.33k
    if (unlikely (in_error ())) return nullptr;
603
604
4.33k
    if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size)))
605
0
    {
606
0
      err (HB_SERIALIZE_ERROR_OUT_OF_ROOM);
607
0
      return nullptr;
608
0
    }
609
4.33k
    if (clear)
610
4.33k
      hb_memset (this->head, 0, size);
611
4.33k
    char *ret = this->head;
612
4.33k
    this->head += size;
613
4.33k
    return reinterpret_cast<Type *> (ret);
614
4.33k
  }
OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::SmallTypes> >(unsigned long, bool)
Line
Count
Source
601
11.0k
  {
602
11.0k
    if (unlikely (in_error ())) return nullptr;
603
604
11.0k
    if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size)))
605
0
    {
606
0
      err (HB_SERIALIZE_ERROR_OUT_OF_ROOM);
607
0
      return nullptr;
608
0
    }
609
11.0k
    if (clear)
610
11.0k
      hb_memset (this->head, 0, size);
611
11.0k
    char *ret = this->head;
612
11.0k
    this->head += size;
613
11.0k
    return reinterpret_cast<Type *> (ret);
614
11.0k
  }
Unexecuted instantiation: OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes> >(unsigned long, bool)
Unexecuted instantiation: OT::HeadlessArrayOf<OT::HBGlyphID24, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::HeadlessArrayOf<OT::HBGlyphID24, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst>* hb_serialize_context_t::allocate_size<OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst> >(unsigned long, bool)
Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u> > >(unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(unsigned long, bool)
Unexecuted instantiation: OT::AxisValueFormat1* hb_serialize_context_t::allocate_size<OT::AxisValueFormat1>(unsigned long, bool)
Unexecuted instantiation: OT::AxisValueFormat2* hb_serialize_context_t::allocate_size<OT::AxisValueFormat2>(unsigned long, bool)
Unexecuted instantiation: OT::AxisValueFormat3* hb_serialize_context_t::allocate_size<OT::AxisValueFormat3>(unsigned long, bool)
Unexecuted instantiation: OT::AxisValueFormat4* hb_serialize_context_t::allocate_size<OT::AxisValueFormat4>(unsigned long, bool)
Unexecuted instantiation: OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, true> >(unsigned long, bool)
Unexecuted instantiation: OT::STAT* hb_serialize_context_t::allocate_size<OT::STAT>(unsigned long, bool)
Unexecuted instantiation: OT::StatAxisRecord* hb_serialize_context_t::allocate_size<OT::StatAxisRecord>(unsigned long, bool)
Unexecuted instantiation: OT::VORG* hb_serialize_context_t::allocate_size<OT::VORG>(unsigned long, bool)
Unexecuted instantiation: OT::VertOriginMetric* hb_serialize_context_t::allocate_size<OT::VertOriginMetric>(unsigned long, bool)
Unexecuted instantiation: OT::MathValueRecord* hb_serialize_context_t::allocate_size<OT::MathValueRecord>(unsigned long, bool)
Unexecuted instantiation: OT::MathItalicsCorrectionInfo* hb_serialize_context_t::allocate_size<OT::MathItalicsCorrectionInfo>(unsigned long, bool)
Unexecuted instantiation: OT::MathTopAccentAttachment* hb_serialize_context_t::allocate_size<OT::MathTopAccentAttachment>(unsigned long, bool)
Unexecuted instantiation: OT::MathKernInfoRecord* hb_serialize_context_t::allocate_size<OT::MathKernInfoRecord>(unsigned long, bool)
Unexecuted instantiation: OT::MathKernInfo* hb_serialize_context_t::allocate_size<OT::MathKernInfo>(unsigned long, bool)
Unexecuted instantiation: OT::MathGlyphInfo* hb_serialize_context_t::allocate_size<OT::MathGlyphInfo>(unsigned long, bool)
Unexecuted instantiation: OT::MathGlyphVariantRecord* hb_serialize_context_t::allocate_size<OT::MathGlyphVariantRecord>(unsigned long, bool)
Unexecuted instantiation: OT::MathGlyphPartRecord* hb_serialize_context_t::allocate_size<OT::MathGlyphPartRecord>(unsigned long, bool)
Unexecuted instantiation: OT::MathGlyphConstruction* hb_serialize_context_t::allocate_size<OT::MathGlyphConstruction>(unsigned long, bool)
Unexecuted instantiation: OT::MathVariants* hb_serialize_context_t::allocate_size<OT::MathVariants>(unsigned long, bool)
Unexecuted instantiation: OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true> >(unsigned long, bool)
Unexecuted instantiation: OT::MATH* hb_serialize_context_t::allocate_size<OT::MATH>(unsigned long, bool)
615
616
  template <typename Type>
617
  Type *allocate_min ()
618
0
  { return this->allocate_size<Type> (Type::min_size); }
Unexecuted instantiation: OT::HVAR* hb_serialize_context_t::allocate_min<OT::HVAR>()
Unexecuted instantiation: OT::VVAR* hb_serialize_context_t::allocate_min<OT::VVAR>()
Unexecuted instantiation: OT::gvar* hb_serialize_context_t::allocate_min<OT::gvar>()
Unexecuted instantiation: OT::post* hb_serialize_context_t::allocate_min<OT::post>()
619
620
  template <typename Type>
621
  Type *embed (const Type *obj)
622
0
  {
623
0
    unsigned int size = obj->get_size ();
624
0
    Type *ret = this->allocate_size<Type> (size, false);
625
0
    if (unlikely (!ret)) return nullptr;
626
0
    hb_memcpy (ret, obj, size);
627
0
    return ret;
628
0
  }
Unexecuted instantiation: OT::FeatureParamsSize* hb_serialize_context_t::embed<OT::FeatureParamsSize>(OT::FeatureParamsSize const*)
Unexecuted instantiation: OT::FeatureParamsStylisticSet* hb_serialize_context_t::embed<OT::FeatureParamsStylisticSet>(OT::FeatureParamsStylisticSet const*)
Unexecuted instantiation: OT::FeatureParamsCharacterVariants* hb_serialize_context_t::embed<OT::FeatureParamsCharacterVariants>(OT::FeatureParamsCharacterVariants const*)
Unexecuted instantiation: OT::Record<OT::Feature>* hb_serialize_context_t::embed<OT::Record<OT::Feature> >(OT::Record<OT::Feature> const*)
Unexecuted instantiation: OT::LangSys* hb_serialize_context_t::embed<OT::LangSys>(OT::LangSys const*)
Unexecuted instantiation: OT::Record<OT::LangSys>* hb_serialize_context_t::embed<OT::Record<OT::LangSys> >(OT::Record<OT::LangSys> const*)
Unexecuted instantiation: OT::Record<OT::Script>* hb_serialize_context_t::embed<OT::Record<OT::Script> >(OT::Record<OT::Script> const*)
Unexecuted instantiation: OT::ConditionFormat1* hb_serialize_context_t::embed<OT::ConditionFormat1>(OT::ConditionFormat1 const*)
Unexecuted instantiation: OT::FeatureTableSubstitutionRecord* hb_serialize_context_t::embed<OT::FeatureTableSubstitutionRecord>(OT::FeatureTableSubstitutionRecord const*)
Unexecuted instantiation: OT::FeatureVariationRecord* hb_serialize_context_t::embed<OT::FeatureVariationRecord>(OT::FeatureVariationRecord const*)
Unexecuted instantiation: OT::FeatureVariations* hb_serialize_context_t::embed<OT::FeatureVariations>(OT::FeatureVariations const*)
Unexecuted instantiation: OT::HintingDevice* hb_serialize_context_t::embed<OT::HintingDevice>(OT::HintingDevice const*)
Unexecuted instantiation: OT::VariationDevice* hb_serialize_context_t::embed<OT::VariationDevice>(OT::VariationDevice const*)
Unexecuted instantiation: OT::CaretValueFormat1* hb_serialize_context_t::embed<OT::CaretValueFormat1>(OT::CaretValueFormat1 const*)
Unexecuted instantiation: OT::CaretValueFormat2* hb_serialize_context_t::embed<OT::CaretValueFormat2>(OT::CaretValueFormat2 const*)
Unexecuted instantiation: OT::IntType<unsigned short, 2u>* hb_serialize_context_t::embed<OT::IntType<unsigned short, 2u> >(OT::IntType<unsigned short, 2u> const*)
Unexecuted instantiation: OT::IntType<short, 2u>* hb_serialize_context_t::embed<OT::IntType<short, 2u> >(OT::IntType<short, 2u> const*)
Unexecuted instantiation: OT::OffsetTo<OT::Device, OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Device, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Device, OT::IntType<unsigned short, 2u>, true> const*)
Unexecuted instantiation: OT::GDEFVersion1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::embed<OT::GDEFVersion1_2<OT::Layout::SmallTypes> >(OT::GDEFVersion1_2<OT::Layout::SmallTypes> const*)
Unexecuted instantiation: OT::GDEFVersion1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::embed<OT::GDEFVersion1_2<OT::Layout::MediumTypes> >(OT::GDEFVersion1_2<OT::Layout::MediumTypes> const*)
Unexecuted instantiation: OT::LookupRecord* hb_serialize_context_t::embed<OT::LookupRecord>(OT::LookupRecord const*)
Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorFormat1* hb_serialize_context_t::embed<OT::Layout::GPOS_impl::AnchorFormat1>(OT::Layout::GPOS_impl::AnchorFormat1 const*)
Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorFormat2* hb_serialize_context_t::embed<OT::Layout::GPOS_impl::AnchorFormat2>(OT::Layout::GPOS_impl::AnchorFormat2 const*)
Unexecuted instantiation: OT::Layout::GPOS_impl::EntryExitRecord* hb_serialize_context_t::embed<OT::Layout::GPOS_impl::EntryExitRecord>(OT::Layout::GPOS_impl::EntryExitRecord const*)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkRecord* hb_serialize_context_t::embed<OT::Layout::GPOS_impl::MarkRecord>(OT::Layout::GPOS_impl::MarkRecord const*)
Unexecuted instantiation: OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::IntType<unsigned short, 2u>, true> const*)
Unexecuted instantiation: OT::OS2* hb_serialize_context_t::embed<OT::OS2>(OT::OS2 const*)
Unexecuted instantiation: OT::VariationSelectorRecord* hb_serialize_context_t::embed<OT::VariationSelectorRecord>(OT::VariationSelectorRecord const*)
Unexecuted instantiation: OT::EncodingRecord* hb_serialize_context_t::embed<OT::EncodingRecord>(OT::EncodingRecord const*)
Unexecuted instantiation: OT::ColorStop* hb_serialize_context_t::embed<OT::ColorStop>(OT::ColorStop const*)
Unexecuted instantiation: OT::PaintColrLayers* hb_serialize_context_t::embed<OT::PaintColrLayers>(OT::PaintColrLayers const*)
Unexecuted instantiation: OT::PaintSolid* hb_serialize_context_t::embed<OT::PaintSolid>(OT::PaintSolid const*)
Unexecuted instantiation: OT::PaintGlyph* hb_serialize_context_t::embed<OT::PaintGlyph>(OT::PaintGlyph const*)
Unexecuted instantiation: OT::VarIdx* hb_serialize_context_t::embed<OT::VarIdx>(OT::VarIdx const*)
Unexecuted instantiation: OT::PaintLinearGradient<OT::NoVariable>* hb_serialize_context_t::embed<OT::PaintLinearGradient<OT::NoVariable> >(OT::PaintLinearGradient<OT::NoVariable> const*)
Unexecuted instantiation: OT::PaintLinearGradient<OT::Variable>* hb_serialize_context_t::embed<OT::PaintLinearGradient<OT::Variable> >(OT::PaintLinearGradient<OT::Variable> const*)
Unexecuted instantiation: OT::PaintRadialGradient<OT::NoVariable>* hb_serialize_context_t::embed<OT::PaintRadialGradient<OT::NoVariable> >(OT::PaintRadialGradient<OT::NoVariable> const*)
Unexecuted instantiation: OT::PaintRadialGradient<OT::Variable>* hb_serialize_context_t::embed<OT::PaintRadialGradient<OT::Variable> >(OT::PaintRadialGradient<OT::Variable> const*)
Unexecuted instantiation: OT::PaintSweepGradient<OT::NoVariable>* hb_serialize_context_t::embed<OT::PaintSweepGradient<OT::NoVariable> >(OT::PaintSweepGradient<OT::NoVariable> const*)
Unexecuted instantiation: OT::PaintSweepGradient<OT::Variable>* hb_serialize_context_t::embed<OT::PaintSweepGradient<OT::Variable> >(OT::PaintSweepGradient<OT::Variable> const*)
Unexecuted instantiation: OT::PaintTransform<OT::NoVariable>* hb_serialize_context_t::embed<OT::PaintTransform<OT::NoVariable> >(OT::PaintTransform<OT::NoVariable> const*)
Unexecuted instantiation: OT::NoVariable<OT::Affine2x3>* hb_serialize_context_t::embed<OT::NoVariable<OT::Affine2x3> >(OT::NoVariable<OT::Affine2x3> const*)
Unexecuted instantiation: OT::PaintTransform<OT::Variable>* hb_serialize_context_t::embed<OT::PaintTransform<OT::Variable> >(OT::PaintTransform<OT::Variable> const*)
Unexecuted instantiation: OT::Variable<OT::Affine2x3>* hb_serialize_context_t::embed<OT::Variable<OT::Affine2x3> >(OT::Variable<OT::Affine2x3> const*)
Unexecuted instantiation: OT::PaintColrGlyph* hb_serialize_context_t::embed<OT::PaintColrGlyph>(OT::PaintColrGlyph const*)
Unexecuted instantiation: OT::PaintTranslate* hb_serialize_context_t::embed<OT::PaintTranslate>(OT::PaintTranslate const*)
Unexecuted instantiation: OT::PaintScale* hb_serialize_context_t::embed<OT::PaintScale>(OT::PaintScale const*)
Unexecuted instantiation: OT::PaintScaleAroundCenter* hb_serialize_context_t::embed<OT::PaintScaleAroundCenter>(OT::PaintScaleAroundCenter const*)
Unexecuted instantiation: OT::PaintScaleUniform* hb_serialize_context_t::embed<OT::PaintScaleUniform>(OT::PaintScaleUniform const*)
Unexecuted instantiation: OT::PaintScaleUniformAroundCenter* hb_serialize_context_t::embed<OT::PaintScaleUniformAroundCenter>(OT::PaintScaleUniformAroundCenter const*)
Unexecuted instantiation: OT::PaintRotate* hb_serialize_context_t::embed<OT::PaintRotate>(OT::PaintRotate const*)
Unexecuted instantiation: OT::PaintRotateAroundCenter* hb_serialize_context_t::embed<OT::PaintRotateAroundCenter>(OT::PaintRotateAroundCenter const*)
Unexecuted instantiation: OT::PaintSkew* hb_serialize_context_t::embed<OT::PaintSkew>(OT::PaintSkew const*)
Unexecuted instantiation: OT::PaintSkewAroundCenter* hb_serialize_context_t::embed<OT::PaintSkewAroundCenter>(OT::PaintSkewAroundCenter const*)
Unexecuted instantiation: OT::PaintComposite* hb_serialize_context_t::embed<OT::PaintComposite>(OT::PaintComposite const*)
Unexecuted instantiation: OT::ClipBoxFormat1* hb_serialize_context_t::embed<OT::ClipBoxFormat1>(OT::ClipBoxFormat1 const*)
Unexecuted instantiation: OT::ClipBoxFormat2* hb_serialize_context_t::embed<OT::ClipBoxFormat2>(OT::ClipBoxFormat2 const*)
Unexecuted instantiation: OT::ClipRecord* hb_serialize_context_t::embed<OT::ClipRecord>(OT::ClipRecord const*)
Unexecuted instantiation: OT::BaseGlyphPaintRecord* hb_serialize_context_t::embed<OT::BaseGlyphPaintRecord>(OT::BaseGlyphPaintRecord const*)
Unexecuted instantiation: OT::BaseGlyphRecord* hb_serialize_context_t::embed<OT::BaseGlyphRecord>(OT::BaseGlyphRecord const*)
Unexecuted instantiation: OT::head* hb_serialize_context_t::embed<OT::head>(OT::head const*)
Unexecuted instantiation: OT::maxp* hb_serialize_context_t::embed<OT::maxp>(OT::maxp const*)
Unexecuted instantiation: OT::maxpV1Tail* hb_serialize_context_t::embed<OT::maxpV1Tail>(OT::maxpV1Tail const*)
Unexecuted instantiation: OT::IntType<unsigned char, 1u>* hb_serialize_context_t::embed<OT::IntType<unsigned char, 1u> >(OT::IntType<unsigned char, 1u> const*)
Unexecuted instantiation: OT::Index* hb_serialize_context_t::embed<OT::Index>(OT::Index const*)
Unexecuted instantiation: OT::HBFixed<OT::IntType<int, 4u>, 16u>* hb_serialize_context_t::embed<OT::HBFixed<OT::IntType<int, 4u>, 16u> >(OT::HBFixed<OT::IntType<int, 4u>, 16u> const*)
Unexecuted instantiation: OT::fvar* hb_serialize_context_t::embed<OT::fvar>(OT::fvar const*)
Unexecuted instantiation: OT::AxisRecord* hb_serialize_context_t::embed<OT::AxisRecord>(OT::AxisRecord const*)
Unexecuted instantiation: OT::Offset<OT::IntType<unsigned int, 4u>, true>* hb_serialize_context_t::embed<OT::Offset<OT::IntType<unsigned int, 4u>, true> >(OT::Offset<OT::IntType<unsigned int, 4u>, true> const*)
Unexecuted instantiation: OT::Offset<OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::embed<OT::Offset<OT::IntType<unsigned short, 2u>, true> >(OT::Offset<OT::IntType<unsigned short, 2u>, true> const*)
Unexecuted instantiation: OT::IndexSubtableRecord* hb_serialize_context_t::embed<OT::IndexSubtableRecord>(OT::IndexSubtableRecord const*)
Unexecuted instantiation: OT::BitmapSizeTable* hb_serialize_context_t::embed<OT::BitmapSizeTable>(OT::BitmapSizeTable const*)
Unexecuted instantiation: OT::NameRecord* hb_serialize_context_t::embed<OT::NameRecord>(OT::NameRecord const*)
Unexecuted instantiation: OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true> const*)
Unexecuted instantiation: OT::AxisValueFormat1* hb_serialize_context_t::embed<OT::AxisValueFormat1>(OT::AxisValueFormat1 const*)
Unexecuted instantiation: OT::AxisValueFormat2* hb_serialize_context_t::embed<OT::AxisValueFormat2>(OT::AxisValueFormat2 const*)
Unexecuted instantiation: OT::AxisValueFormat3* hb_serialize_context_t::embed<OT::AxisValueFormat3>(OT::AxisValueFormat3 const*)
Unexecuted instantiation: OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, true> const*)
Unexecuted instantiation: OT::STAT* hb_serialize_context_t::embed<OT::STAT>(OT::STAT const*)
Unexecuted instantiation: OT::StatAxisRecord* hb_serialize_context_t::embed<OT::StatAxisRecord>(OT::StatAxisRecord const*)
Unexecuted instantiation: OT::MathValueRecord* hb_serialize_context_t::embed<OT::MathValueRecord>(OT::MathValueRecord const*)
Unexecuted instantiation: OT::MathKernInfoRecord* hb_serialize_context_t::embed<OT::MathKernInfoRecord>(OT::MathKernInfoRecord const*)
Unexecuted instantiation: OT::MathGlyphInfo* hb_serialize_context_t::embed<OT::MathGlyphInfo>(OT::MathGlyphInfo const*)
Unexecuted instantiation: OT::MathGlyphVariantRecord* hb_serialize_context_t::embed<OT::MathGlyphVariantRecord>(OT::MathGlyphVariantRecord const*)
Unexecuted instantiation: OT::MathGlyphPartRecord* hb_serialize_context_t::embed<OT::MathGlyphPartRecord>(OT::MathGlyphPartRecord const*)
Unexecuted instantiation: OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true> const*)
Unexecuted instantiation: OT::MATH* hb_serialize_context_t::embed<OT::MATH>(OT::MATH const*)
629
  template <typename Type>
630
  Type *embed (const Type &obj)
631
0
  { return embed (std::addressof (obj)); }
Unexecuted instantiation: OT::FeatureParamsSize* hb_serialize_context_t::embed<OT::FeatureParamsSize>(OT::FeatureParamsSize const&)
Unexecuted instantiation: OT::FeatureParamsStylisticSet* hb_serialize_context_t::embed<OT::FeatureParamsStylisticSet>(OT::FeatureParamsStylisticSet const&)
Unexecuted instantiation: OT::FeatureParamsCharacterVariants* hb_serialize_context_t::embed<OT::FeatureParamsCharacterVariants>(OT::FeatureParamsCharacterVariants const&)
Unexecuted instantiation: OT::LangSys* hb_serialize_context_t::embed<OT::LangSys>(OT::LangSys const&)
Unexecuted instantiation: OT::FeatureVariations* hb_serialize_context_t::embed<OT::FeatureVariations>(OT::FeatureVariations const&)
Unexecuted instantiation: OT::IntType<unsigned short, 2u>* hb_serialize_context_t::embed<OT::IntType<unsigned short, 2u> >(OT::IntType<unsigned short, 2u> const&)
Unexecuted instantiation: OT::IntType<short, 2u>* hb_serialize_context_t::embed<OT::IntType<short, 2u> >(OT::IntType<short, 2u> const&)
Unexecuted instantiation: OT::OffsetTo<OT::Device, OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Device, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Device, OT::IntType<unsigned short, 2u>, true> const&)
Unexecuted instantiation: OT::GDEFVersion1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::embed<OT::GDEFVersion1_2<OT::Layout::SmallTypes> >(OT::GDEFVersion1_2<OT::Layout::SmallTypes> const&)
Unexecuted instantiation: OT::GDEFVersion1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::embed<OT::GDEFVersion1_2<OT::Layout::MediumTypes> >(OT::GDEFVersion1_2<OT::Layout::MediumTypes> const&)
Unexecuted instantiation: OT::LookupRecord* hb_serialize_context_t::embed<OT::LookupRecord>(OT::LookupRecord const&)
Unexecuted instantiation: OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::IntType<unsigned short, 2u>, true> const&)
Unexecuted instantiation: OT::VariationSelectorRecord* hb_serialize_context_t::embed<OT::VariationSelectorRecord>(OT::VariationSelectorRecord const&)
Unexecuted instantiation: OT::ColorStop* hb_serialize_context_t::embed<OT::ColorStop>(OT::ColorStop const&)
Unexecuted instantiation: OT::PaintSolid* hb_serialize_context_t::embed<OT::PaintSolid>(OT::PaintSolid const&)
Unexecuted instantiation: OT::VarIdx* hb_serialize_context_t::embed<OT::VarIdx>(OT::VarIdx const&)
Unexecuted instantiation: OT::ClipBoxFormat1* hb_serialize_context_t::embed<OT::ClipBoxFormat1>(OT::ClipBoxFormat1 const&)
Unexecuted instantiation: OT::ClipBoxFormat2* hb_serialize_context_t::embed<OT::ClipBoxFormat2>(OT::ClipBoxFormat2 const&)
Unexecuted instantiation: OT::BaseGlyphRecord* hb_serialize_context_t::embed<OT::BaseGlyphRecord>(OT::BaseGlyphRecord const&)
Unexecuted instantiation: OT::IntType<unsigned char, 1u>* hb_serialize_context_t::embed<OT::IntType<unsigned char, 1u> >(OT::IntType<unsigned char, 1u> const&)
Unexecuted instantiation: OT::Index* hb_serialize_context_t::embed<OT::Index>(OT::Index const&)
Unexecuted instantiation: OT::HBFixed<OT::IntType<int, 4u>, 16u>* hb_serialize_context_t::embed<OT::HBFixed<OT::IntType<int, 4u>, 16u> >(OT::HBFixed<OT::IntType<int, 4u>, 16u> const&)
Unexecuted instantiation: OT::AxisRecord* hb_serialize_context_t::embed<OT::AxisRecord>(OT::AxisRecord const&)
Unexecuted instantiation: OT::Offset<OT::IntType<unsigned int, 4u>, true>* hb_serialize_context_t::embed<OT::Offset<OT::IntType<unsigned int, 4u>, true> >(OT::Offset<OT::IntType<unsigned int, 4u>, true> const&)
Unexecuted instantiation: OT::Offset<OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::embed<OT::Offset<OT::IntType<unsigned short, 2u>, true> >(OT::Offset<OT::IntType<unsigned short, 2u>, true> const&)
Unexecuted instantiation: OT::IndexSubtableRecord* hb_serialize_context_t::embed<OT::IndexSubtableRecord>(OT::IndexSubtableRecord const&)
Unexecuted instantiation: OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true> const&)
Unexecuted instantiation: OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::AxisValue, OT::IntType<unsigned short, 2u>, true> const&)
Unexecuted instantiation: OT::StatAxisRecord* hb_serialize_context_t::embed<OT::StatAxisRecord>(OT::StatAxisRecord const&)
Unexecuted instantiation: OT::MathGlyphInfo* hb_serialize_context_t::embed<OT::MathGlyphInfo>(OT::MathGlyphInfo const&)
Unexecuted instantiation: OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true> >(OT::OffsetTo<OT::MathGlyphConstruction, OT::IntType<unsigned short, 2u>, true> const&)
Unexecuted instantiation: OT::MATH* hb_serialize_context_t::embed<OT::MATH>(OT::MATH const&)
632
633
  template <typename Type, typename ...Ts> auto
634
  _copy (const Type &src, hb_priority<1>, Ts&&... ds) HB_RETURN
635
  (Type *, src.copy (this, std::forward<Ts> (ds)...))
636
637
  template <typename Type> auto
638
  _copy (const Type &src, hb_priority<0>) -> decltype (&(hb_declval<Type> () = src))
639
0
  {
640
0
    Type *ret = this->allocate_size<Type> (sizeof (Type));
641
0
    if (unlikely (!ret)) return nullptr;
642
0
    *ret = src;
643
0
    return ret;
644
0
  }
Unexecuted instantiation: decltype (&(((hb_declval<OT::Index>)())={parm#1})) hb_serialize_context_t::_copy<OT::Index>(OT::Index const&, hb_priority<0u>)
Unexecuted instantiation: decltype (&(((hb_declval<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> >)())={parm#1})) hb_serialize_context_t::_copy<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> >(OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const&, hb_priority<0u>)
Unexecuted instantiation: decltype (&(((hb_declval<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> >)())={parm#1})) hb_serialize_context_t::_copy<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> >(OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> const&, hb_priority<0u>)
Unexecuted instantiation: decltype (&(((hb_declval<OT::IntType<unsigned short, 2u> >)())={parm#1})) hb_serialize_context_t::_copy<OT::IntType<unsigned short, 2u> >(OT::IntType<unsigned short, 2u> const&, hb_priority<0u>)
Unexecuted instantiation: decltype (&(((hb_declval<OT::IntType<unsigned int, 4u> >)())={parm#1})) hb_serialize_context_t::_copy<OT::IntType<unsigned int, 4u> >(OT::IntType<unsigned int, 4u> const&, hb_priority<0u>)
Unexecuted instantiation: decltype (&(((hb_declval<OT::UnicodeValueRange>)())={parm#1})) hb_serialize_context_t::_copy<OT::UnicodeValueRange>(OT::UnicodeValueRange const&, hb_priority<0u>)
Unexecuted instantiation: decltype (&(((hb_declval<OT::UVSMapping>)())={parm#1})) hb_serialize_context_t::_copy<OT::UVSMapping>(OT::UVSMapping const&, hb_priority<0u>)
Unexecuted instantiation: decltype (&(((hb_declval<OT::CmapSubtableLongGroup>)())={parm#1})) hb_serialize_context_t::_copy<OT::CmapSubtableLongGroup>(OT::CmapSubtableLongGroup const&, hb_priority<0u>)
Unexecuted instantiation: decltype (&(((hb_declval<OT::IntType<unsigned char, 1u> >)())={parm#1})) hb_serialize_context_t::_copy<OT::IntType<unsigned char, 1u> >(OT::IntType<unsigned char, 1u> const&, hb_priority<0u>)
Unexecuted instantiation: decltype (&(((hb_declval<OT::VertOriginMetric>)())={parm#1})) hb_serialize_context_t::_copy<OT::VertOriginMetric>(OT::VertOriginMetric const&, hb_priority<0u>)
645
646
  /* Like embed, but active: calls obj.operator=() or obj.copy() to transfer data
647
   * instead of hb_memcpy(). */
648
  template <typename Type, typename ...Ts>
649
  Type *copy (const Type &src, Ts&&... ds)
650
0
  { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); }
Unexecuted instantiation: OT::Index* hb_serialize_context_t::copy<OT::Index>(OT::Index const&)
Unexecuted instantiation: OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::copy<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes>>(OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes> const&)
Unexecuted instantiation: OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::copy<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes>>(OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes> const&)
Unexecuted instantiation: OT::Device* hb_serialize_context_t::copy<OT::Device, hb_hashmap_t<unsigned int, hb_pair_t<unsigned int, int>, false>*>(OT::Device const&, hb_hashmap_t<unsigned int, hb_pair_t<unsigned int, int>, false>*&&)
Unexecuted instantiation: OT::IntType<unsigned short, 2u>* hb_serialize_context_t::copy<OT::IntType<unsigned short, 2u>>(OT::IntType<unsigned short, 2u> const&)
Unexecuted instantiation: OT::IntType<unsigned int, 4u>* hb_serialize_context_t::copy<OT::IntType<unsigned int, 4u>>(OT::IntType<unsigned int, 4u> const&)
Unexecuted instantiation: OT::UnicodeValueRange* hb_serialize_context_t::copy<OT::UnicodeValueRange>(OT::UnicodeValueRange const&)
Unexecuted instantiation: OT::UVSMapping* hb_serialize_context_t::copy<OT::UVSMapping>(OT::UVSMapping const&)
Unexecuted instantiation: OT::NonDefaultUVS* hb_serialize_context_t::copy<OT::NonDefaultUVS, hb_set_t const*&, hb_set_t const*&, hb_map_t const*&>(OT::NonDefaultUVS const&, hb_set_t const*&, hb_set_t const*&, hb_map_t const*&)
Unexecuted instantiation: OT::DefaultUVS* hb_serialize_context_t::copy<OT::DefaultUVS, hb_set_t const*&>(OT::DefaultUVS const&, hb_set_t const*&)
Unexecuted instantiation: hb-common.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_10 const&, (void*)0>, hb_set_t const&, $_5 const&, ($_10 const&)0>, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_10 const&, (void*)0>, hb_set_t const&, $_5 const&, ($_10 const&)0>&&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)
Unexecuted instantiation: OT::CmapSubtableLongGroup* hb_serialize_context_t::copy<OT::CmapSubtableLongGroup>(OT::CmapSubtableLongGroup const&)
Unexecuted instantiation: hb-common.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_10 const&, (void*)0>&, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_10 const&, (void*)0>&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)
Unexecuted instantiation: OT::NoVariable<OT::Affine2x3>* hb_serialize_context_t::copy<OT::NoVariable<OT::Affine2x3>>(OT::NoVariable<OT::Affine2x3> const&)
Unexecuted instantiation: OT::Variable<OT::Affine2x3>* hb_serialize_context_t::copy<OT::Variable<OT::Affine2x3>>(OT::Variable<OT::Affine2x3> const&)
Unexecuted instantiation: OT::ClipBox* hb_serialize_context_t::copy<OT::ClipBox>(OT::ClipBox const&)
Unexecuted instantiation: OT::ClipRecord* hb_serialize_context_t::copy<OT::ClipRecord, OT::ClipList const*>(OT::ClipRecord const&, OT::ClipList const*&&)
Unexecuted instantiation: OT::DeltaSetIndexMap* hb_serialize_context_t::copy<OT::DeltaSetIndexMap>(OT::DeltaSetIndexMap const&)
Unexecuted instantiation: OT::VariationStore* hb_serialize_context_t::copy<OT::VariationStore>(OT::VariationStore const&)
Unexecuted instantiation: OT::IntType<unsigned char, 1u>* hb_serialize_context_t::copy<OT::IntType<unsigned char, 1u>>(OT::IntType<unsigned char, 1u> const&)
Unexecuted instantiation: hb-face.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_10 const&, (void*)0>, hb_set_t const&, $_5 const&, ($_10 const&)0>, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_10 const&, (void*)0>, hb_set_t const&, $_5 const&, ($_10 const&)0>&&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)
Unexecuted instantiation: hb-face.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_10 const&, (void*)0>&, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_10 const&, (void*)0>&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)
Unexecuted instantiation: OT::UnsizedArrayOf<OT::IntType<unsigned int, 4u> >* hb_serialize_context_t::copy<OT::UnsizedArrayOf<OT::IntType<unsigned int, 4u> >, unsigned int&>(OT::UnsizedArrayOf<OT::IntType<unsigned int, 4u> > const&, unsigned int&)
Unexecuted instantiation: OT::UnsizedArrayOf<OT::Index>* hb_serialize_context_t::copy<OT::UnsizedArrayOf<OT::Index>, unsigned int&>(OT::UnsizedArrayOf<OT::Index> const&, unsigned int&)
Unexecuted instantiation: hb-ot-face.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_11 const&, (void*)0>, hb_set_t const&, $_5 const&, ($_11 const&)0>, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_11 const&, (void*)0>, hb_set_t const&, $_5 const&, ($_11 const&)0>&&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)
Unexecuted instantiation: hb-ot-face.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_11 const&, (void*)0>&, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_11 const&, (void*)0>&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)
Unexecuted instantiation: OT::UnsizedArrayOf<OT::IntType<unsigned char, 1u> >* hb_serialize_context_t::copy<OT::UnsizedArrayOf<OT::IntType<unsigned char, 1u> >, OT::IntType<unsigned short, 2u> const&>(OT::UnsizedArrayOf<OT::IntType<unsigned char, 1u> > const&, OT::IntType<unsigned short, 2u> const&)
Unexecuted instantiation: OT::NameRecord* hb_serialize_context_t::copy<OT::NameRecord, void const*&, hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> const*&>(OT::NameRecord const&, void const*&, hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> const*&)
Unexecuted instantiation: hb-ot-font.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_10 const&, (void*)0>, hb_set_t const&, $_5 const&, ($_10 const&)0>, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_10 const&, (void*)0>, hb_set_t const&, $_5 const&, ($_10 const&)0>&&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)
Unexecuted instantiation: hb-ot-font.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_10 const&, (void*)0>&, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_10 const&, (void*)0>&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)
Unexecuted instantiation: OT::VertOriginMetric* hb_serialize_context_t::copy<OT::VertOriginMetric>(OT::VertOriginMetric const&)
Unexecuted instantiation: OT::Device* hb_serialize_context_t::copy<OT::Device>(OT::Device const&)
Unexecuted instantiation: OT::MathValueRecord* hb_serialize_context_t::copy<OT::MathValueRecord, OT::MathConstants const*>(OT::MathValueRecord const&, OT::MathConstants const*&&)
Unexecuted instantiation: OT::MathValueRecord* hb_serialize_context_t::copy<OT::MathValueRecord, void const*&>(OT::MathValueRecord const&, void const*&)
Unexecuted instantiation: OT::MathValueRecord* hb_serialize_context_t::copy<OT::MathValueRecord, OT::MathKern const*>(OT::MathValueRecord const&, OT::MathKern const*&&)
Unexecuted instantiation: OT::MathKern* hb_serialize_context_t::copy<OT::MathKern>(OT::MathKern const&)
Unexecuted instantiation: OT::MathKernInfoRecord* hb_serialize_context_t::copy<OT::MathKernInfoRecord, void const*&>(OT::MathKernInfoRecord const&, void const*&)
Unexecuted instantiation: OT::MathValueRecord* hb_serialize_context_t::copy<OT::MathValueRecord, OT::MathGlyphAssembly const*>(OT::MathValueRecord const&, OT::MathGlyphAssembly const*&&)
Unexecuted instantiation: OT::MathConstants* hb_serialize_context_t::copy<OT::MathConstants>(OT::MathConstants const&)
651
  template <typename Type, typename ...Ts>
652
  Type *copy (const Type *src, Ts&&... ds)
653
  { return copy (*src, std::forward<Ts> (ds)...); }
654
655
  template<typename Iterator,
656
     hb_requires (hb_is_iterator (Iterator)),
657
     typename ...Ts>
658
  void copy_all (Iterator it, Ts&&... ds)
659
0
  { for (decltype (*it) _ : it) copy (_, std::forward<Ts> (ds)...); }
Unexecuted instantiation: void hb_serialize_context_t::copy_all<hb_array_t<OT::NameRecord>, (void*)0, void const*&, hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> const*&>(hb_array_t<OT::NameRecord>, void const*&, hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> const*&)
Unexecuted instantiation: void hb_serialize_context_t::copy_all<hb_map_iter_t<hb_filter_iter_t<hb_sorted_array_t<OT::VertOriginMetric const>, hb_set_t const*, OT::HBGlyphID16 OT::VertOriginMetric::*, (void*)0>, OT::VORG::subset(hb_subset_context_t*) const::{lambda(OT::VertOriginMetric const&)#1}, (hb_function_sortedness_t)0, (void*)0>, (void*)0>(hb_map_iter_t<hb_filter_iter_t<hb_sorted_array_t<OT::VertOriginMetric const>, hb_set_t const*, OT::HBGlyphID16 OT::VertOriginMetric::*, (void*)0>, OT::VORG::subset(hb_subset_context_t*) const::{lambda(OT::VertOriginMetric const&)#1}, (hb_function_sortedness_t)0, (void*)0>)
660
661
  template <typename Type>
662
  hb_serialize_context_t& operator << (const Type &obj) & { embed (obj); return *this; }
663
664
  template <typename Type>
665
  Type *extend_size (Type *obj, size_t size, bool clear = true)
666
1.57M
  {
667
1.57M
    if (unlikely (in_error ())) return nullptr;
668
669
1.57M
    assert (this->start <= (char *) obj);
670
0
    assert ((char *) obj <= this->head);
671
0
    assert ((size_t) (this->head - (char *) obj) <= size);
672
1.57M
    if (unlikely (((char *) obj + size < (char *) obj) ||
673
1.57M
      !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr;
674
1.57M
    return reinterpret_cast<Type *> (obj);
675
1.57M
  }
OT::Layout::Common::Coverage* hb_serialize_context_t::extend_size<OT::Layout::Common::Coverage>(OT::Layout::Common::Coverage*, unsigned long, bool)
Line
Count
Source
666
31.4k
  {
667
31.4k
    if (unlikely (in_error ())) return nullptr;
668
669
31.1k
    assert (this->start <= (char *) obj);
670
0
    assert ((char *) obj <= this->head);
671
0
    assert ((size_t) (this->head - (char *) obj) <= size);
672
31.1k
    if (unlikely (((char *) obj + size < (char *) obj) ||
673
31.1k
      !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr;
674
31.1k
    return reinterpret_cast<Type *> (obj);
675
31.1k
  }
OT::ArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Line
Count
Source
666
77.8k
  {
667
77.8k
    if (unlikely (in_error ())) return nullptr;
668
669
77.8k
    assert (this->start <= (char *) obj);
670
0
    assert ((char *) obj <= this->head);
671
0
    assert ((size_t) (this->head - (char *) obj) <= size);
672
77.8k
    if (unlikely (((char *) obj + size < (char *) obj) ||
673
77.8k
      !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr;
674
77.8k
    return reinterpret_cast<Type *> (obj);
675
77.8k
  }
OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>*, unsigned long, bool)
Line
Count
Source
666
3.32k
  {
667
3.32k
    if (unlikely (in_error ())) return nullptr;
668
669
3.32k
    assert (this->start <= (char *) obj);
670
0
    assert ((char *) obj <= this->head);
671
0
    assert ((size_t) (this->head - (char *) obj) <= size);
672
3.32k
    if (unlikely (((char *) obj + size < (char *) obj) ||
673
3.32k
      !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr;
674
3.32k
    return reinterpret_cast<Type *> (obj);
675
3.32k
  }
OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Line
Count
Source
666
6.65k
  {
667
6.65k
    if (unlikely (in_error ())) return nullptr;
668
669
6.65k
    assert (this->start <= (char *) obj);
670
0
    assert ((char *) obj <= this->head);
671
0
    assert ((size_t) (this->head - (char *) obj) <= size);
672
6.65k
    if (unlikely (((char *) obj + size < (char *) obj) ||
673
6.65k
      !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr;
674
6.65k
    return reinterpret_cast<Type *> (obj);
675
6.65k
  }
Unexecuted instantiation: OT::ArrayOf<OT::HBGlyphID24, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::HBGlyphID24, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::HBGlyphID24, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::Common::CoverageFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::Common::CoverageFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::Common::CoverageFormat2_4<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::Feature* hb_serialize_context_t::extend_size<OT::Feature>(OT::Feature*, unsigned long, bool)
Unexecuted instantiation: OT::IndexArray* hb_serialize_context_t::extend_size<OT::IndexArray>(OT::IndexArray*, unsigned long, bool)
Unexecuted instantiation: OT::RecordListOfFeature* hb_serialize_context_t::extend_size<OT::RecordListOfFeature>(OT::RecordListOfFeature*, unsigned long, bool)
Unexecuted instantiation: OT::LangSys* hb_serialize_context_t::extend_size<OT::LangSys>(OT::LangSys*, unsigned long, bool)
Unexecuted instantiation: OT::Script* hb_serialize_context_t::extend_size<OT::Script>(OT::Script*, unsigned long, bool)
Unexecuted instantiation: OT::RecordListOfScript* hb_serialize_context_t::extend_size<OT::RecordListOfScript>(OT::RecordListOfScript*, unsigned long, bool)
OT::Lookup* hb_serialize_context_t::extend_size<OT::Lookup>(OT::Lookup*, unsigned long, bool)
Line
Count
Source
666
34.6k
  {
667
34.6k
    if (unlikely (in_error ())) return nullptr;
668
669
33.1k
    assert (this->start <= (char *) obj);
670
0
    assert ((char *) obj <= this->head);
671
0
    assert ((size_t) (this->head - (char *) obj) <= size);
672
33.1k
    if (unlikely (((char *) obj + size < (char *) obj) ||
673
33.1k
      !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr;
674
33.1k
    return reinterpret_cast<Type *> (obj);
675
33.1k
  }
OT::ArrayOf<OT::Offset<OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::Offset<OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::Offset<OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Line
Count
Source
666
66.3k
  {
667
66.3k
    if (unlikely (in_error ())) return nullptr;
668
669
66.3k
    assert (this->start <= (char *) obj);
670
0
    assert ((char *) obj <= this->head);
671
0
    assert ((size_t) (this->head - (char *) obj) <= size);
672
66.3k
    if (unlikely (((char *) obj + size < (char *) obj) ||
673
66.3k
      !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr;
674
66.3k
    return reinterpret_cast<Type *> (obj);
675
66.3k
  }
Unexecuted instantiation: OT::ClassDef* hb_serialize_context_t::extend_size<OT::ClassDef>(OT::ClassDef*, unsigned long, bool)
Unexecuted instantiation: OT::ClassDefFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::ClassDefFormat1_3<OT::Layout::SmallTypes> >(OT::ClassDefFormat1_3<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::IntType<unsigned short, 2u>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::IntType<unsigned short, 2u>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::IntType<unsigned short, 2u>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::ClassDefFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::ClassDefFormat2_4<OT::Layout::SmallTypes> >(OT::ClassDefFormat2_4<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ClassDefFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ClassDefFormat1_3<OT::Layout::MediumTypes> >(OT::ClassDefFormat1_3<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::IntType<unsigned short, 2u>, OT::IntType<unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::IntType<unsigned short, 2u>, OT::IntType<unsigned int, 3u> > >(OT::ArrayOf<OT::IntType<unsigned short, 2u>, OT::IntType<unsigned int, 3u> >*, unsigned long, bool)
Unexecuted instantiation: OT::ClassDefFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ClassDefFormat2_4<OT::Layout::MediumTypes> >(OT::ClassDefFormat2_4<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::VarRegionList* hb_serialize_context_t::extend_size<OT::VarRegionList>(OT::VarRegionList*, unsigned long, bool)
Unexecuted instantiation: OT::VarData* hb_serialize_context_t::extend_size<OT::VarData>(OT::VarData*, unsigned long, bool)
Unexecuted instantiation: OT::VariationStore* hb_serialize_context_t::extend_size<OT::VariationStore>(OT::VariationStore*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::ConditionSet* hb_serialize_context_t::extend_size<OT::ConditionSet>(OT::ConditionSet*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::FeatureTableSubstitution* hb_serialize_context_t::extend_size<OT::FeatureTableSubstitution>(OT::FeatureTableSubstitution*, unsigned long, bool)
Unexecuted instantiation: OT::FeatureVariations* hb_serialize_context_t::extend_size<OT::FeatureVariations>(OT::FeatureVariations*, unsigned long, bool)
Unexecuted instantiation: OT::AttachList* hb_serialize_context_t::extend_size<OT::AttachList>(OT::AttachList*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::LigGlyph* hb_serialize_context_t::extend_size<OT::LigGlyph>(OT::LigGlyph*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::LigCaretList* hb_serialize_context_t::extend_size<OT::LigCaretList>(OT::LigCaretList*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::MarkGlyphSetsFormat1* hb_serialize_context_t::extend_size<OT::MarkGlyphSetsFormat1>(OT::MarkGlyphSetsFormat1*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::ContextFormat3* hb_serialize_context_t::extend_size<OT::ContextFormat3>(OT::ContextFormat3*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
OT::IntType<unsigned short, 2u>* hb_serialize_context_t::extend_size<OT::IntType<unsigned short, 2u> >(OT::IntType<unsigned short, 2u>*, unsigned long, bool)
Line
Count
Source
666
33.1k
  {
667
33.1k
    if (unlikely (in_error ())) return nullptr;
668
669
33.1k
    assert (this->start <= (char *) obj);
670
0
    assert ((char *) obj <= this->head);
671
0
    assert ((size_t) (this->head - (char *) obj) <= size);
672
33.1k
    if (unlikely (((char *) obj + size < (char *) obj) ||
673
33.1k
      !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr;
674
33.1k
    return reinterpret_cast<Type *> (obj);
675
33.1k
  }
Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat1* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::SinglePosFormat1>(OT::Layout::GPOS_impl::SinglePosFormat1*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat2* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::SinglePosFormat2>(OT::Layout::GPOS_impl::SinglePosFormat2*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::CursivePosFormat1* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::CursivePosFormat1>(OT::Layout::GPOS_impl::CursivePosFormat1*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkArray* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkArray>(OT::Layout::GPOS_impl::MarkArray*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorMatrix* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::AnchorMatrix>(OT::Layout::GPOS_impl::AnchorMatrix*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::LigatureArray* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::LigatureArray>(OT::Layout::GPOS_impl::LigatureArray*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::ContextFormat1_4<OT::Layout::SmallTypes> >(OT::ContextFormat1_4<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::RuleSet<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::RuleSet<OT::Layout::SmallTypes> >(OT::RuleSet<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::Rule<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Rule<OT::Layout::SmallTypes> >(OT::Rule<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::ContextFormat2_5<OT::Layout::SmallTypes> >(OT::ContextFormat2_5<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ContextFormat1_4<OT::Layout::MediumTypes> >(OT::ContextFormat1_4<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::RuleSet<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::RuleSet<OT::Layout::MediumTypes> >(OT::RuleSet<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::Rule<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Rule<OT::Layout::MediumTypes> >(OT::Rule<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ContextFormat2_5<OT::Layout::MediumTypes> >(OT::ContextFormat2_5<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::ChainContextFormat1_4<OT::Layout::SmallTypes> >(OT::ChainContextFormat1_4<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::ChainRuleSet<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::ChainRuleSet<OT::Layout::SmallTypes> >(OT::ChainRuleSet<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::ChainContextFormat2_5<OT::Layout::SmallTypes> >(OT::ChainContextFormat2_5<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ChainContextFormat1_4<OT::Layout::MediumTypes> >(OT::ChainContextFormat1_4<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::ChainRuleSet<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ChainRuleSet<OT::Layout::MediumTypes> >(OT::ChainRuleSet<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ChainContextFormat2_5<OT::Layout::MediumTypes> >(OT::ChainContextFormat2_5<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos>* hb_serialize_context_t::extend_size<OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos> >(OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos>*, unsigned long, bool)
Unexecuted instantiation: OT::GSUBGPOSVersion1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::GSUBGPOSVersion1_2<OT::Layout::SmallTypes> >(OT::GSUBGPOSVersion1_2<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u> > >(OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::OffsetTo<OT::FeatureVariations, OT::IntType<unsigned int, 4u>, true>* hb_serialize_context_t::extend_size<OT::OffsetTo<OT::FeatureVariations, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::FeatureVariations, OT::IntType<unsigned int, 4u>, true>*, unsigned long, bool)
Unexecuted instantiation: OT::GSUBGPOSVersion1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::GSUBGPOSVersion1_2<OT::Layout::MediumTypes> >(OT::GSUBGPOSVersion1_2<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u> > >(OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u> >*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::CmapSubtableFormat14* hb_serialize_context_t::extend_size<OT::CmapSubtableFormat14>(OT::CmapSubtableFormat14*, unsigned long, bool)
Unexecuted instantiation: OT::cmap* hb_serialize_context_t::extend_size<OT::cmap>(OT::cmap*, unsigned long, bool)
Unexecuted instantiation: OT::CmapSubtableFormat4* hb_serialize_context_t::extend_size<OT::CmapSubtableFormat4>(OT::CmapSubtableFormat4*, unsigned long, bool)
Unexecuted instantiation: OT::CmapSubtableFormat12* hb_serialize_context_t::extend_size<OT::CmapSubtableFormat12>(OT::CmapSubtableFormat12*, unsigned long, bool)
Unexecuted instantiation: OT::ColorLine<OT::NoVariable>* hb_serialize_context_t::extend_size<OT::ColorLine<OT::NoVariable> >(OT::ColorLine<OT::NoVariable>*, unsigned long, bool)
Unexecuted instantiation: OT::ColorLine<OT::Variable>* hb_serialize_context_t::extend_size<OT::ColorLine<OT::Variable> >(OT::ColorLine<OT::Variable>*, unsigned long, bool)
Unexecuted instantiation: OT::ClipList* hb_serialize_context_t::extend_size<OT::ClipList>(OT::ClipList*, unsigned long, bool)
Unexecuted instantiation: OT::BaseGlyphList* hb_serialize_context_t::extend_size<OT::BaseGlyphList>(OT::BaseGlyphList*, unsigned long, bool)
Unexecuted instantiation: OT::LayerList* hb_serialize_context_t::extend_size<OT::LayerList>(OT::LayerList*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> > >(OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> >*, unsigned long, bool)
Unexecuted instantiation: OT::COLR* hb_serialize_context_t::extend_size<OT::COLR>(OT::COLR*, unsigned long, bool)
Unexecuted instantiation: OT::LayerRecord* hb_serialize_context_t::extend_size<OT::LayerRecord>(OT::LayerRecord*, unsigned long, bool)
Unexecuted instantiation: OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned short, 2u> > >(OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned int, 4u> >* hb_serialize_context_t::extend_size<OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned int, 4u> > >(OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned int, 4u> >*, unsigned long, bool)
Unexecuted instantiation: char* hb_serialize_context_t::extend_size<char>(char*, unsigned long, bool)
Unexecuted instantiation: OT::IndexSubtable* hb_serialize_context_t::extend_size<OT::IndexSubtable>(OT::IndexSubtable*, unsigned long, bool)
Unexecuted instantiation: OT::CBLC* hb_serialize_context_t::extend_size<OT::CBLC>(OT::CBLC*, unsigned long, bool)
Unexecuted instantiation: OT::IntType<unsigned int, 4u>* hb_serialize_context_t::extend_size<OT::IntType<unsigned int, 4u> >(OT::IntType<unsigned int, 4u>*, unsigned long, bool)
Unexecuted instantiation: OT::Index* hb_serialize_context_t::extend_size<OT::Index>(OT::Index*, unsigned long, bool)
Unexecuted instantiation: OT::CPAL* hb_serialize_context_t::extend_size<OT::CPAL>(OT::CPAL*, unsigned long, bool)
Unexecuted instantiation: OT::SBIXGlyph* hb_serialize_context_t::extend_size<OT::SBIXGlyph>(OT::SBIXGlyph*, unsigned long, bool)
Unexecuted instantiation: OT::IntType<unsigned char, 1u>* hb_serialize_context_t::extend_size<OT::IntType<unsigned char, 1u> >(OT::IntType<unsigned char, 1u>*, unsigned long, bool)
Unexecuted instantiation: OT::SBIXStrike* hb_serialize_context_t::extend_size<OT::SBIXStrike>(OT::SBIXStrike*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> > >(OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> >*, unsigned long, bool)
Unexecuted instantiation: CFF::Encoding* hb_serialize_context_t::extend_size<CFF::Encoding>(CFF::Encoding*, unsigned long, bool)
Unexecuted instantiation: CFF::Charset* hb_serialize_context_t::extend_size<CFF::Charset>(CFF::Charset*, unsigned long, bool)
Unexecuted instantiation: CFF::CFFIndex<OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<CFF::CFFIndex<OT::IntType<unsigned short, 2u> > >(CFF::CFFIndex<OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: unsigned char* hb_serialize_context_t::extend_size<unsigned char>(unsigned char*, unsigned long, bool)
Unexecuted instantiation: OT::name* hb_serialize_context_t::extend_size<OT::name>(OT::name*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes>*, unsigned long, bool)
Line
Count
Source
666
17.7k
  {
667
17.7k
    if (unlikely (in_error ())) return nullptr;
668
669
17.7k
    assert (this->start <= (char *) obj);
670
0
    assert ((char *) obj <= this->head);
671
0
    assert ((size_t) (this->head - (char *) obj) <= size);
672
17.7k
    if (unlikely (((char *) obj + size < (char *) obj) ||
673
17.7k
      !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr;
674
17.7k
    return reinterpret_cast<Type *> (obj);
675
17.7k
  }
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Line
Count
Source
666
35.5k
  {
667
35.5k
    if (unlikely (in_error ())) return nullptr;
668
669
35.5k
    assert (this->start <= (char *) obj);
670
0
    assert ((char *) obj <= this->head);
671
0
    assert ((size_t) (this->head - (char *) obj) <= size);
672
35.5k
    if (unlikely (((char *) obj + size < (char *) obj) ||
673
35.5k
      !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr;
674
35.5k
    return reinterpret_cast<Type *> (obj);
675
35.5k
  }
OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>*, unsigned long, bool)
Line
Count
Source
666
108k
  {
667
108k
    if (unlikely (in_error ())) return nullptr;
668
669
108k
    assert (this->start <= (char *) obj);
670
0
    assert ((char *) obj <= this->head);
671
0
    assert ((size_t) (this->head - (char *) obj) <= size);
672
108k
    if (unlikely (((char *) obj + size < (char *) obj) ||
673
108k
      !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr;
674
108k
    return reinterpret_cast<Type *> (obj);
675
108k
  }
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Line
Count
Source
666
216k
  {
667
216k
    if (unlikely (in_error ())) return nullptr;
668
669
216k
    assert (this->start <= (char *) obj);
670
0
    assert ((char *) obj <= this->head);
671
0
    assert ((size_t) (this->head - (char *) obj) <= size);
672
216k
    if (unlikely (((char *) obj + size < (char *) obj) ||
673
216k
      !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr;
674
216k
    return reinterpret_cast<Type *> (obj);
675
216k
  }
OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>*, unsigned long, bool)
Line
Count
Source
666
310k
  {
667
310k
    if (unlikely (in_error ())) return nullptr;
668
669
309k
    assert (this->start <= (char *) obj);
670
0
    assert ((char *) obj <= this->head);
671
0
    assert ((size_t) (this->head - (char *) obj) <= size);
672
309k
    if (unlikely (((char *) obj + size < (char *) obj) ||
673
309k
      !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr;
674
309k
    return reinterpret_cast<Type *> (obj);
675
309k
  }
OT::HeadlessArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::HeadlessArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> > >(OT::HeadlessArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Line
Count
Source
666
619k
  {
667
619k
    if (unlikely (in_error ())) return nullptr;
668
669
619k
    assert (this->start <= (char *) obj);
670
0
    assert ((char *) obj <= this->head);
671
0
    assert ((size_t) (this->head - (char *) obj) <= size);
672
619k
    if (unlikely (((char *) obj + size < (char *) obj) ||
673
619k
      !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr;
674
619k
    return reinterpret_cast<Type *> (obj);
675
619k
  }
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::SmallTypes>*, unsigned long, bool)
Line
Count
Source
666
4.33k
  {
667
4.33k
    if (unlikely (in_error ())) return nullptr;
668
669
4.33k
    assert (this->start <= (char *) obj);
670
0
    assert ((char *) obj <= this->head);
671
0
    assert ((size_t) (this->head - (char *) obj) <= size);
672
4.33k
    if (unlikely (((char *) obj + size < (char *) obj) ||
673
4.33k
      !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr;
674
4.33k
    return reinterpret_cast<Type *> (obj);
675
4.33k
  }
OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::SmallTypes>*, unsigned long, bool)
Line
Count
Source
666
11.0k
  {
667
11.0k
    if (unlikely (in_error ())) return nullptr;
668
669
11.0k
    assert (this->start <= (char *) obj);
670
0
    assert ((char *) obj <= this->head);
671
0
    assert ((size_t) (this->head - (char *) obj) <= size);
672
11.0k
    if (unlikely (((char *) obj + size < (char *) obj) ||
673
11.0k
      !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr;
674
11.0k
    return reinterpret_cast<Type *> (obj);
675
11.0k
  }
Unexecuted instantiation: OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>*, unsigned long, bool)
Unexecuted instantiation: OT::HeadlessArrayOf<OT::HBGlyphID24, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::HeadlessArrayOf<OT::HBGlyphID24, OT::IntType<unsigned short, 2u> > >(OT::HeadlessArrayOf<OT::HBGlyphID24, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst>* hb_serialize_context_t::extend_size<OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst> >(OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst>*, unsigned long, bool)
Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u> > >(OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u> > >(OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u> >*, unsigned long, bool)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*, unsigned long, bool)
Unexecuted instantiation: OT::VORG* hb_serialize_context_t::extend_size<OT::VORG>(OT::VORG*, unsigned long, bool)
Unexecuted instantiation: OT::MathItalicsCorrectionInfo* hb_serialize_context_t::extend_size<OT::MathItalicsCorrectionInfo>(OT::MathItalicsCorrectionInfo*, unsigned long, bool)
Unexecuted instantiation: OT::MathTopAccentAttachment* hb_serialize_context_t::extend_size<OT::MathTopAccentAttachment>(OT::MathTopAccentAttachment*, unsigned long, bool)
Unexecuted instantiation: OT::MathKernInfo* hb_serialize_context_t::extend_size<OT::MathKernInfo>(OT::MathKernInfo*, unsigned long, bool)
Unexecuted instantiation: OT::MathGlyphConstruction* hb_serialize_context_t::extend_size<OT::MathGlyphConstruction>(OT::MathGlyphConstruction*, unsigned long, bool)
Unexecuted instantiation: OT::MathVariants* hb_serialize_context_t::extend_size<OT::MathVariants>(OT::MathVariants*, unsigned long, bool)
676
  template <typename Type>
677
  Type *extend_size (Type &obj, size_t size, bool clear = true)
678
  { return extend_size (std::addressof (obj), size, clear); }
679
680
  template <typename Type>
681
1.06M
  Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); }
OT::Layout::Common::Coverage* hb_serialize_context_t::extend_min<OT::Layout::Common::Coverage>(OT::Layout::Common::Coverage*)
Line
Count
Source
681
31.4k
  Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); }
OT::ArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> >*)
Line
Count
Source
681
38.9k
  Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); }
OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>*)
Line
Count
Source
681
3.32k
  Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); }
OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u> >*)
Line
Count
Source
681
3.32k
  Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); }
Unexecuted instantiation: OT::ArrayOf<OT::HBGlyphID24, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::HBGlyphID24, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::HBGlyphID24, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::Layout::Common::CoverageFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::Common::CoverageFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::Common::CoverageFormat2_4<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::Feature* hb_serialize_context_t::extend_min<OT::Feature>(OT::Feature*)
Unexecuted instantiation: OT::IndexArray* hb_serialize_context_t::extend_min<OT::IndexArray>(OT::IndexArray*)
Unexecuted instantiation: OT::RecordListOfFeature* hb_serialize_context_t::extend_min<OT::RecordListOfFeature>(OT::RecordListOfFeature*)
Unexecuted instantiation: OT::LangSys* hb_serialize_context_t::extend_min<OT::LangSys>(OT::LangSys*)
Unexecuted instantiation: OT::Script* hb_serialize_context_t::extend_min<OT::Script>(OT::Script*)
Unexecuted instantiation: OT::RecordListOfScript* hb_serialize_context_t::extend_min<OT::RecordListOfScript>(OT::RecordListOfScript*)
OT::Lookup* hb_serialize_context_t::extend_min<OT::Lookup>(OT::Lookup*)
Line
Count
Source
681
34.6k
  Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); }
OT::ArrayOf<OT::Offset<OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::Offset<OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::Offset<OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Line
Count
Source
681
33.1k
  Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); }
Unexecuted instantiation: OT::ClassDef* hb_serialize_context_t::extend_min<OT::ClassDef>(OT::ClassDef*)
Unexecuted instantiation: OT::ClassDefFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::ClassDefFormat1_3<OT::Layout::SmallTypes> >(OT::ClassDefFormat1_3<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::ArrayOf<OT::IntType<unsigned short, 2u>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::IntType<unsigned short, 2u>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::IntType<unsigned short, 2u>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ClassDefFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::ClassDefFormat2_4<OT::Layout::SmallTypes> >(OT::ClassDefFormat2_4<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::ClassDefFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::ClassDefFormat1_3<OT::Layout::MediumTypes> >(OT::ClassDefFormat1_3<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::ArrayOf<OT::IntType<unsigned short, 2u>, OT::IntType<unsigned int, 3u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::IntType<unsigned short, 2u>, OT::IntType<unsigned int, 3u> > >(OT::ArrayOf<OT::IntType<unsigned short, 2u>, OT::IntType<unsigned int, 3u> >*)
Unexecuted instantiation: OT::ClassDefFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::ClassDefFormat2_4<OT::Layout::MediumTypes> >(OT::ClassDefFormat2_4<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::VarRegionList* hb_serialize_context_t::extend_min<OT::VarRegionList>(OT::VarRegionList*)
Unexecuted instantiation: OT::VarData* hb_serialize_context_t::extend_min<OT::VarData>(OT::VarData*)
Unexecuted instantiation: OT::VariationStore* hb_serialize_context_t::extend_min<OT::VariationStore>(OT::VariationStore*)
Unexecuted instantiation: OT::ConditionSet* hb_serialize_context_t::extend_min<OT::ConditionSet>(OT::ConditionSet*)
Unexecuted instantiation: OT::FeatureTableSubstitution* hb_serialize_context_t::extend_min<OT::FeatureTableSubstitution>(OT::FeatureTableSubstitution*)
Unexecuted instantiation: OT::FeatureVariations* hb_serialize_context_t::extend_min<OT::FeatureVariations>(OT::FeatureVariations*)
Unexecuted instantiation: OT::AttachList* hb_serialize_context_t::extend_min<OT::AttachList>(OT::AttachList*)
Unexecuted instantiation: OT::LigGlyph* hb_serialize_context_t::extend_min<OT::LigGlyph>(OT::LigGlyph*)
Unexecuted instantiation: OT::LigCaretList* hb_serialize_context_t::extend_min<OT::LigCaretList>(OT::LigCaretList*)
Unexecuted instantiation: OT::MarkGlyphSetsFormat1* hb_serialize_context_t::extend_min<OT::MarkGlyphSetsFormat1>(OT::MarkGlyphSetsFormat1*)
Unexecuted instantiation: OT::ContextFormat3* hb_serialize_context_t::extend_min<OT::ContextFormat3>(OT::ContextFormat3*)
OT::IntType<unsigned short, 2u>* hb_serialize_context_t::extend_min<OT::IntType<unsigned short, 2u> >(OT::IntType<unsigned short, 2u>*)
Line
Count
Source
681
33.1k
  Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); }
Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat1* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::SinglePosFormat1>(OT::Layout::GPOS_impl::SinglePosFormat1*)
Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat2* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::SinglePosFormat2>(OT::Layout::GPOS_impl::SinglePosFormat2*)
Unexecuted instantiation: OT::Layout::GPOS_impl::CursivePosFormat1* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::CursivePosFormat1>(OT::Layout::GPOS_impl::CursivePosFormat1*)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkArray* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::MarkArray>(OT::Layout::GPOS_impl::MarkArray*)
Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorMatrix* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::AnchorMatrix>(OT::Layout::GPOS_impl::AnchorMatrix*)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::Layout::GPOS_impl::LigatureArray* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::LigatureArray>(OT::Layout::GPOS_impl::LigatureArray*)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::ContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::ContextFormat1_4<OT::Layout::SmallTypes> >(OT::ContextFormat1_4<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::RuleSet<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::RuleSet<OT::Layout::SmallTypes> >(OT::RuleSet<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::Rule<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Rule<OT::Layout::SmallTypes> >(OT::Rule<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::ContextFormat2_5<OT::Layout::SmallTypes> >(OT::ContextFormat2_5<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::ContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::ContextFormat1_4<OT::Layout::MediumTypes> >(OT::ContextFormat1_4<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::RuleSet<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::RuleSet<OT::Layout::MediumTypes> >(OT::RuleSet<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::Rule<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Rule<OT::Layout::MediumTypes> >(OT::Rule<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::ContextFormat2_5<OT::Layout::MediumTypes> >(OT::ContextFormat2_5<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::ChainContextFormat1_4<OT::Layout::SmallTypes> >(OT::ChainContextFormat1_4<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::ChainRuleSet<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::ChainRuleSet<OT::Layout::SmallTypes> >(OT::ChainRuleSet<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::ChainContextFormat2_5<OT::Layout::SmallTypes> >(OT::ChainContextFormat2_5<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::ChainContextFormat1_4<OT::Layout::MediumTypes> >(OT::ChainContextFormat1_4<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::ChainRuleSet<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::ChainRuleSet<OT::Layout::MediumTypes> >(OT::ChainRuleSet<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::ChainContextFormat2_5<OT::Layout::MediumTypes> >(OT::ChainContextFormat2_5<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos>* hb_serialize_context_t::extend_min<OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos> >(OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos>*)
Unexecuted instantiation: OT::GSUBGPOSVersion1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::GSUBGPOSVersion1_2<OT::Layout::SmallTypes> >(OT::GSUBGPOSVersion1_2<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u> > >(OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::OffsetTo<OT::FeatureVariations, OT::IntType<unsigned int, 4u>, true>* hb_serialize_context_t::extend_min<OT::OffsetTo<OT::FeatureVariations, OT::IntType<unsigned int, 4u>, true> >(OT::OffsetTo<OT::FeatureVariations, OT::IntType<unsigned int, 4u>, true>*)
Unexecuted instantiation: OT::GSUBGPOSVersion1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::GSUBGPOSVersion1_2<OT::Layout::MediumTypes> >(OT::GSUBGPOSVersion1_2<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u> >* hb_serialize_context_t::extend_min<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u> > >(OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u> >*)
Unexecuted instantiation: OT::CmapSubtableFormat14* hb_serialize_context_t::extend_min<OT::CmapSubtableFormat14>(OT::CmapSubtableFormat14*)
Unexecuted instantiation: OT::cmap* hb_serialize_context_t::extend_min<OT::cmap>(OT::cmap*)
Unexecuted instantiation: OT::CmapSubtableFormat4* hb_serialize_context_t::extend_min<OT::CmapSubtableFormat4>(OT::CmapSubtableFormat4*)
Unexecuted instantiation: OT::CmapSubtableFormat12* hb_serialize_context_t::extend_min<OT::CmapSubtableFormat12>(OT::CmapSubtableFormat12*)
Unexecuted instantiation: OT::ColorLine<OT::NoVariable>* hb_serialize_context_t::extend_min<OT::ColorLine<OT::NoVariable> >(OT::ColorLine<OT::NoVariable>*)
Unexecuted instantiation: OT::ColorLine<OT::Variable>* hb_serialize_context_t::extend_min<OT::ColorLine<OT::Variable> >(OT::ColorLine<OT::Variable>*)
Unexecuted instantiation: OT::ClipList* hb_serialize_context_t::extend_min<OT::ClipList>(OT::ClipList*)
Unexecuted instantiation: OT::BaseGlyphList* hb_serialize_context_t::extend_min<OT::BaseGlyphList>(OT::BaseGlyphList*)
Unexecuted instantiation: OT::LayerList* hb_serialize_context_t::extend_min<OT::LayerList>(OT::LayerList*)
Unexecuted instantiation: OT::COLR* hb_serialize_context_t::extend_min<OT::COLR>(OT::COLR*)
Unexecuted instantiation: OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned short, 2u> > >(OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned int, 4u> >* hb_serialize_context_t::extend_min<OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned int, 4u> > >(OT::DeltaSetIndexMapFormat01<OT::IntType<unsigned int, 4u> >*)
Unexecuted instantiation: OT::IndexSubtable* hb_serialize_context_t::extend_min<OT::IndexSubtable>(OT::IndexSubtable*)
Unexecuted instantiation: OT::CBLC* hb_serialize_context_t::extend_min<OT::CBLC>(OT::CBLC*)
Unexecuted instantiation: OT::CPAL* hb_serialize_context_t::extend_min<OT::CPAL>(OT::CPAL*)
Unexecuted instantiation: OT::SBIXGlyph* hb_serialize_context_t::extend_min<OT::SBIXGlyph>(OT::SBIXGlyph*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> > >(OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> >*)
Unexecuted instantiation: CFF::Encoding* hb_serialize_context_t::extend_min<CFF::Encoding>(CFF::Encoding*)
Unexecuted instantiation: CFF::Charset* hb_serialize_context_t::extend_min<CFF::Charset>(CFF::Charset*)
Unexecuted instantiation: CFF::CFFIndex<OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_min<CFF::CFFIndex<OT::IntType<unsigned short, 2u> > >(CFF::CFFIndex<OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::name* hb_serialize_context_t::extend_min<OT::name>(OT::name*)
Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes>*)
Line
Count
Source
681
17.7k
  Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); }
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Line
Count
Source
681
17.7k
  Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); }
OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>*)
Line
Count
Source
681
108k
  Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); }
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Line
Count
Source
681
108k
  Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); }
OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>*)
Line
Count
Source
681
310k
  Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); }
OT::HeadlessArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::HeadlessArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> > >(OT::HeadlessArrayOf<OT::HBGlyphID16, OT::IntType<unsigned short, 2u> >*)
Line
Count
Source
681
309k
  Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); }
OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::SmallTypes>*)
Line
Count
Source
681
4.33k
  Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); }
OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::SmallTypes>*)
Line
Count
Source
681
11.0k
  Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); }
Unexecuted instantiation: OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes>*)
Unexecuted instantiation: OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>*)
Unexecuted instantiation: OT::HeadlessArrayOf<OT::HBGlyphID24, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::HeadlessArrayOf<OT::HBGlyphID24, OT::IntType<unsigned short, 2u> > >(OT::HeadlessArrayOf<OT::HBGlyphID24, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst>* hb_serialize_context_t::extend_min<OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst> >(OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst>*)
Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u> > >(OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u> >* hb_serialize_context_t::extend_min<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u> > >(OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u> >*)
Unexecuted instantiation: OT::VORG* hb_serialize_context_t::extend_min<OT::VORG>(OT::VORG*)
Unexecuted instantiation: OT::MathItalicsCorrectionInfo* hb_serialize_context_t::extend_min<OT::MathItalicsCorrectionInfo>(OT::MathItalicsCorrectionInfo*)
Unexecuted instantiation: OT::MathTopAccentAttachment* hb_serialize_context_t::extend_min<OT::MathTopAccentAttachment>(OT::MathTopAccentAttachment*)
Unexecuted instantiation: OT::MathKernInfo* hb_serialize_context_t::extend_min<OT::MathKernInfo>(OT::MathKernInfo*)
Unexecuted instantiation: OT::MathGlyphConstruction* hb_serialize_context_t::extend_min<OT::MathGlyphConstruction>(OT::MathGlyphConstruction*)
Unexecuted instantiation: OT::MathVariants* hb_serialize_context_t::extend_min<OT::MathVariants>(OT::MathVariants*)
682
  template <typename Type>
683
33.1k
  Type *extend_min (Type &obj) { return extend_min (std::addressof (obj)); }
Unexecuted instantiation: OT::IndexArray* hb_serialize_context_t::extend_min<OT::IndexArray>(OT::IndexArray&)
OT::IntType<unsigned short, 2u>* hb_serialize_context_t::extend_min<OT::IntType<unsigned short, 2u> >(OT::IntType<unsigned short, 2u>&)
Line
Count
Source
683
33.1k
  Type *extend_min (Type &obj) { return extend_min (std::addressof (obj)); }
Unexecuted instantiation: OT::Layout::GPOS_impl::CursivePosFormat1* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::CursivePosFormat1>(OT::Layout::GPOS_impl::CursivePosFormat1&)
Unexecuted instantiation: OT::cmap* hb_serialize_context_t::extend_min<OT::cmap>(OT::cmap&)
Unexecuted instantiation: OT::name* hb_serialize_context_t::extend_min<OT::name>(OT::name&)
Unexecuted instantiation: OT::VORG* hb_serialize_context_t::extend_min<OT::VORG>(OT::VORG&)
684
685
  template <typename Type, typename ...Ts>
686
  Type *extend (Type *obj, Ts&&... ds)
687
0
  { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); }
Unexecuted instantiation: OT::Lookup* hb_serialize_context_t::extend<OT::Lookup>(OT::Lookup*)
Unexecuted instantiation: OT::VarRegionList* hb_serialize_context_t::extend<OT::VarRegionList>(OT::VarRegionList*)
Unexecuted instantiation: OT::VarData* hb_serialize_context_t::extend<OT::VarData>(OT::VarData*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> >>(OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> >*)
Unexecuted instantiation: OT::SBIXStrike* hb_serialize_context_t::extend<OT::SBIXStrike, unsigned int>(OT::SBIXStrike*, unsigned int&&)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> >>(OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned int, 4u> >*)
Unexecuted instantiation: OT::IntType<unsigned char, 1u>* hb_serialize_context_t::extend<OT::IntType<unsigned char, 1u>>(OT::IntType<unsigned char, 1u>*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned short, 2u>, true>, OT::IntType<unsigned short, 2u> >*)
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::IntType<unsigned int, 3u>, true>, OT::IntType<unsigned short, 2u> >*)
688
  template <typename Type, typename ...Ts>
689
  Type *extend (Type &obj, Ts&&... ds)
690
0
  { return extend (std::addressof (obj), std::forward<Ts> (ds)...); }
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::IntType<unsigned int, 4u>, true>, OT::IntType<unsigned short, 2u> >&)
Unexecuted instantiation: OT::IntType<unsigned char, 1u>* hb_serialize_context_t::extend<OT::IntType<unsigned char, 1u>>(OT::IntType<unsigned char, 1u>&)
691
692
  /* Output routines. */
693
  hb_bytes_t copy_bytes () const
694
29.6k
  {
695
29.6k
    assert (successful ());
696
    /* Copy both items from head side and tail side... */
697
0
    unsigned int len = (this->head - this->start)
698
29.6k
         + (this->end  - this->tail);
699
700
    // If len is zero don't hb_malloc as the memory won't get properly
701
    // cleaned up later.
702
29.6k
    if (!len) return hb_bytes_t ();
703
704
29.6k
    char *p = (char *) hb_malloc (len);
705
29.6k
    if (unlikely (!p)) return hb_bytes_t ();
706
707
29.3k
    hb_memcpy (p, this->start, this->head - this->start);
708
29.3k
    hb_memcpy (p + (this->head - this->start), this->tail, this->end - this->tail);
709
29.3k
    return hb_bytes_t (p, len);
710
29.6k
  }
711
  template <typename Type>
712
  Type *copy () const
713
29.6k
  { return reinterpret_cast<Type *> ((char *) copy_bytes ().arrayZ); }
714
  hb_blob_t *copy_blob () const
715
0
  {
716
0
    hb_bytes_t b = copy_bytes ();
717
0
    return hb_blob_create (b.arrayZ, b.length,
718
0
         HB_MEMORY_MODE_WRITABLE,
719
0
         (char *) b.arrayZ, hb_free);
720
0
  }
721
722
  const hb_vector_t<object_t *>& object_graph() const
723
0
  { return packed; }
724
725
  private:
726
  template <typename T, unsigned Size = sizeof (T)>
727
  void assign_offset (const object_t* parent, const object_t::link_t &link, unsigned offset)
728
387k
  {
729
387k
    auto &off = * ((BEInt<T, Size> *) (parent->head + link.position));
730
387k
    assert (0 == off);
731
0
    check_assign (off, offset, HB_SERIALIZE_ERROR_OFFSET_OVERFLOW);
732
387k
  }
Unexecuted instantiation: void hb_serialize_context_t::assign_offset<int, 4u>(hb_serialize_context_t::object_t const*, hb_serialize_context_t::object_t::link_t const&, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::assign_offset<short, 2u>(hb_serialize_context_t::object_t const*, hb_serialize_context_t::object_t::link_t const&, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::assign_offset<unsigned int, 4u>(hb_serialize_context_t::object_t const*, hb_serialize_context_t::object_t::link_t const&, unsigned int)
Unexecuted instantiation: void hb_serialize_context_t::assign_offset<unsigned int, 3u>(hb_serialize_context_t::object_t const*, hb_serialize_context_t::object_t::link_t const&, unsigned int)
void hb_serialize_context_t::assign_offset<unsigned short, 2u>(hb_serialize_context_t::object_t const*, hb_serialize_context_t::object_t::link_t const&, unsigned int)
Line
Count
Source
728
387k
  {
729
387k
    auto &off = * ((BEInt<T, Size> *) (parent->head + link.position));
730
387k
    assert (0 == off);
731
0
    check_assign (off, offset, HB_SERIALIZE_ERROR_OFFSET_OVERFLOW);
732
387k
  }
733
734
  public:
735
  char *start, *head, *tail, *end, *zerocopy;
736
  unsigned int debug_depth;
737
  hb_serialize_error_t errors;
738
739
  private:
740
741
183k
  void merge_virtual_links (const object_t* from, objidx_t to_idx) {
742
183k
    object_t* to = packed[to_idx];
743
183k
    for (const auto& l : from->virtual_links) {
744
0
      to->virtual_links.push (l);
745
0
    }
746
183k
  }
747
748
  /* Object memory pool. */
749
  hb_pool_t<object_t> object_pool;
750
751
  /* Stack of currently under construction objects. */
752
  object_t *current;
753
754
  /* Stack of packed objects.  Object 0 is always nil object. */
755
  hb_vector_t<object_t *> packed;
756
757
  /* Map view of packed objects. */
758
  hb_hashmap_t<const object_t *, objidx_t> packed_map;
759
};
760
761
#endif /* HB_SERIALIZE_HH */