Coverage Report

Created: 2024-09-14 07:19

/src/skia/third_party/externals/harfbuzz/src/hb-blob.hh
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright © 2009  Red Hat, Inc.
3
 * Copyright © 2018  Google, Inc.
4
 *
5
 *  This is part of HarfBuzz, a text shaping library.
6
 *
7
 * Permission is hereby granted, without written agreement and without
8
 * license or royalty fees, to use, copy, modify, and distribute this
9
 * software and its documentation for any purpose, provided that the
10
 * above copyright notice and the following two paragraphs appear in
11
 * all copies of this software.
12
 *
13
 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
14
 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
15
 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
16
 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
17
 * DAMAGE.
18
 *
19
 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
20
 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
21
 * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
22
 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
23
 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
24
 *
25
 * Red Hat Author(s): Behdad Esfahbod
26
 * Google Author(s): Behdad Esfahbod
27
 */
28
29
#ifndef HB_BLOB_HH
30
#define HB_BLOB_HH
31
32
#include "hb.hh"
33
34
35
/*
36
 * hb_blob_t
37
 */
38
39
struct hb_blob_t
40
{
41
0
  ~hb_blob_t () { destroy_user_data (); }
42
43
  void destroy_user_data ()
44
0
  {
45
0
    if (destroy)
46
0
    {
47
0
      destroy (user_data);
48
0
      user_data = nullptr;
49
0
      destroy = nullptr;
50
0
    }
51
0
  }
52
53
  HB_INTERNAL bool try_make_writable ();
54
  HB_INTERNAL bool try_make_writable_inplace ();
55
  HB_INTERNAL bool try_make_writable_inplace_unix ();
56
57
0
  hb_bytes_t as_bytes () const { return hb_bytes_t (data, length); }
58
  template <typename Type>
59
0
  const Type* as () const { return as_bytes ().as<Type> (); }
Unexecuted instantiation: OT::OpenTypeFontFile const* hb_blob_t::as<OT::OpenTypeFontFile>() const
Unexecuted instantiation: OT::cmap const* hb_blob_t::as<OT::cmap>() const
Unexecuted instantiation: OT::OS2 const* hb_blob_t::as<OT::OS2>() const
Unexecuted instantiation: OT::MVAR const* hb_blob_t::as<OT::MVAR>() const
Unexecuted instantiation: OT::hhea const* hb_blob_t::as<OT::hhea>() const
Unexecuted instantiation: OT::vhea const* hb_blob_t::as<OT::vhea>() const
Unexecuted instantiation: OT::maxp const* hb_blob_t::as<OT::maxp>() const
Unexecuted instantiation: OT::gvar const* hb_blob_t::as<OT::gvar>() const
Unexecuted instantiation: OT::hmtxvmtx<OT::hmtx, OT::hhea, OT::HVAR> const* hb_blob_t::as<OT::hmtxvmtx<OT::hmtx, OT::hhea, OT::HVAR> >() const
Unexecuted instantiation: OT::hmtxvmtx<OT::vmtx, OT::vhea, OT::VVAR> const* hb_blob_t::as<OT::hmtxvmtx<OT::vmtx, OT::vhea, OT::VVAR> >() const
Unexecuted instantiation: OT::head const* hb_blob_t::as<OT::head>() const
Unexecuted instantiation: OT::loca const* hb_blob_t::as<OT::loca>() const
Unexecuted instantiation: OT::glyf const* hb_blob_t::as<OT::glyf>() const
Unexecuted instantiation: OT::cff1 const* hb_blob_t::as<OT::cff1>() const
Unexecuted instantiation: OT::cff2 const* hb_blob_t::as<OT::cff2>() const
Unexecuted instantiation: OT::GDEF const* hb_blob_t::as<OT::GDEF>() const
Unexecuted instantiation: OT::Layout::GPOS const* hb_blob_t::as<OT::Layout::GPOS>() const
Unexecuted instantiation: AAT::kerx const* hb_blob_t::as<AAT::kerx>() const
Unexecuted instantiation: OT::kern const* hb_blob_t::as<OT::kern>() const
Unexecuted instantiation: OT::meta const* hb_blob_t::as<OT::meta>() const
Unexecuted instantiation: AAT::ltag const* hb_blob_t::as<AAT::ltag>() const
Unexecuted instantiation: OT::name const* hb_blob_t::as<OT::name>() const
Unexecuted instantiation: OT::post const* hb_blob_t::as<OT::post>() const
Unexecuted instantiation: OT::CBLC const* hb_blob_t::as<OT::CBLC>() const
Unexecuted instantiation: OT::CBDT const* hb_blob_t::as<OT::CBDT>() const
Unexecuted instantiation: OT::sbix const* hb_blob_t::as<OT::sbix>() const
Unexecuted instantiation: OT::sbix::accelerator_t::PNGHeader const* hb_blob_t::as<OT::sbix::accelerator_t::PNGHeader>() const
Unexecuted instantiation: OT::SVG const* hb_blob_t::as<OT::SVG>() const
Unexecuted instantiation: OT::Layout::GSUB const* hb_blob_t::as<OT::Layout::GSUB>() const
Unexecuted instantiation: AAT::morx const* hb_blob_t::as<AAT::morx>() const
Unexecuted instantiation: AAT::mort const* hb_blob_t::as<AAT::mort>() const
Unexecuted instantiation: OT::COLR const* hb_blob_t::as<OT::COLR>() const
Unexecuted instantiation: OT::glyf const* hb_blob_t::as<OT::glyf const>() const
Unexecuted instantiation: OT::hdmx const* hb_blob_t::as<OT::hdmx const>() const
Unexecuted instantiation: OT::name const* hb_blob_t::as<OT::name const>() const
Unexecuted instantiation: OT::head const* hb_blob_t::as<OT::head const>() const
Unexecuted instantiation: OT::hmtx const* hb_blob_t::as<OT::hmtx const>() const
Unexecuted instantiation: OT::vmtx const* hb_blob_t::as<OT::vmtx const>() const
Unexecuted instantiation: OT::maxp const* hb_blob_t::as<OT::maxp const>() const
Unexecuted instantiation: OT::sbix const* hb_blob_t::as<OT::sbix const>() const
Unexecuted instantiation: OT::cmap const* hb_blob_t::as<OT::cmap const>() const
Unexecuted instantiation: OT::OS2 const* hb_blob_t::as<OT::OS2 const>() const
Unexecuted instantiation: OT::post const* hb_blob_t::as<OT::post const>() const
Unexecuted instantiation: OT::COLR const* hb_blob_t::as<OT::COLR const>() const
Unexecuted instantiation: OT::CPAL const* hb_blob_t::as<OT::CPAL const>() const
Unexecuted instantiation: OT::CBLC const* hb_blob_t::as<OT::CBLC const>() const
Unexecuted instantiation: OT::MATH const* hb_blob_t::as<OT::MATH const>() const
Unexecuted instantiation: OT::BASE const* hb_blob_t::as<OT::BASE const>() const
Unexecuted instantiation: OT::VORG const* hb_blob_t::as<OT::VORG const>() const
Unexecuted instantiation: OT::GDEF const* hb_blob_t::as<OT::GDEF const>() const
Unexecuted instantiation: OT::Layout::GSUB const* hb_blob_t::as<OT::Layout::GSUB const>() const
Unexecuted instantiation: OT::Layout::GPOS const* hb_blob_t::as<OT::Layout::GPOS const>() const
Unexecuted instantiation: OT::gvar const* hb_blob_t::as<OT::gvar const>() const
Unexecuted instantiation: OT::HVAR const* hb_blob_t::as<OT::HVAR const>() const
Unexecuted instantiation: OT::VVAR const* hb_blob_t::as<OT::VVAR const>() const
Unexecuted instantiation: OT::fvar const* hb_blob_t::as<OT::fvar const>() const
Unexecuted instantiation: OT::avar const* hb_blob_t::as<OT::avar const>() const
Unexecuted instantiation: OT::cvar const* hb_blob_t::as<OT::cvar const>() const
Unexecuted instantiation: OT::MVAR const* hb_blob_t::as<OT::MVAR const>() const
Unexecuted instantiation: OT::STAT const* hb_blob_t::as<OT::STAT const>() const
Unexecuted instantiation: OT::cvar const* hb_blob_t::as<OT::cvar>() const
Unexecuted instantiation: AAT::ankr const* hb_blob_t::as<AAT::ankr>() const
Unexecuted instantiation: AAT::trak const* hb_blob_t::as<AAT::trak>() const
Unexecuted instantiation: AAT::feat const* hb_blob_t::as<AAT::feat>() const
Unexecuted instantiation: OT::fvar const* hb_blob_t::as<OT::fvar>() const
Unexecuted instantiation: OT::avar const* hb_blob_t::as<OT::avar>() const
Unexecuted instantiation: OT::HVAR const* hb_blob_t::as<OT::HVAR>() const
Unexecuted instantiation: OT::VVAR const* hb_blob_t::as<OT::VVAR>() const
Unexecuted instantiation: OT::VORG const* hb_blob_t::as<OT::VORG>() const
Unexecuted instantiation: OT::BASE const* hb_blob_t::as<OT::BASE>() const
Unexecuted instantiation: OT::MATH const* hb_blob_t::as<OT::MATH>() const
Unexecuted instantiation: OT::STAT const* hb_blob_t::as<OT::STAT>() const
Unexecuted instantiation: OT::CPAL const* hb_blob_t::as<OT::CPAL>() const
60
61
  public:
62
  hb_object_header_t header;
63
64
  const char *data = nullptr;
65
  unsigned int length = 0;
66
  hb_memory_mode_t mode = (hb_memory_mode_t) 0;
67
68
  void *user_data = nullptr;
69
  hb_destroy_func_t destroy = nullptr;
70
};
71
72
73
/*
74
 * hb_blob_ptr_t
75
 */
76
77
template <typename P>
78
struct hb_blob_ptr_t
79
{
80
  typedef hb_remove_pointer<P> T;
81
82
0
  hb_blob_ptr_t (hb_blob_t *b_ = nullptr) : b (b_) {}
Unexecuted instantiation: hb_blob_ptr_t<OT::cmap>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::GDEF>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::loca>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::glyf>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::gvar>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::hmtxvmtx<OT::hmtx, OT::hhea, OT::HVAR> >::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::HVAR>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::hmtxvmtx<OT::vmtx, OT::vhea, OT::VVAR> >::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::VVAR>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::post>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::glyf const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::hdmx const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::name const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::head const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::hmtx const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::vmtx const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::maxp const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::sbix const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::cmap const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::OS2 const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::post const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::COLR const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::CPAL const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::CBLC const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::MATH const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::BASE const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::VORG const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::GDEF const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GSUB const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GPOS const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::gvar const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::HVAR const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::VVAR const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::fvar const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::avar const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::cvar const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::MVAR const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::STAT const>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<AAT::morx>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<AAT::mort>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<AAT::kerx>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::SVG>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::CBLC>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::CBDT>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::sbix>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GSUB>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GPOS>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::kern>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::MATH>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::COLR>::hb_blob_ptr_t(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::BASE>::hb_blob_ptr_t(hb_blob_t*)
83
0
  hb_blob_t * operator = (hb_blob_t *b_) { return b = b_; }
Unexecuted instantiation: hb_blob_ptr_t<OT::cmap>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::hmtxvmtx<OT::hmtx, OT::hhea, OT::HVAR> >::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::HVAR>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::hmtxvmtx<OT::vmtx, OT::vhea, OT::VVAR> >::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::VVAR>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::gvar>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::loca>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::glyf>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::GDEF>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GPOS>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<AAT::kerx>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::kern>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::meta>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::name>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::post>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::CBLC>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::CBDT>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::sbix>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::SVG>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GSUB>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<AAT::morx>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<AAT::mort>::operator=(hb_blob_t*)
Unexecuted instantiation: hb_blob_ptr_t<OT::COLR>::operator=(hb_blob_t*)
84
0
  const T * operator -> () const { return get (); }
Unexecuted instantiation: hb_blob_ptr_t<OT::cmap>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::gvar>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::hmtxvmtx<OT::hmtx, OT::hhea, OT::HVAR> >::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::hmtxvmtx<OT::vmtx, OT::vhea, OT::VVAR> >::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::loca>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::GDEF>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GPOS>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<AAT::kerx>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::kern>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::meta>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::name>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::post>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::CBLC>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::sbix>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::SVG>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GSUB>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<AAT::morx>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<AAT::mort>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::COLR>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::HVAR>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::VVAR>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::MATH>::operator->() const
Unexecuted instantiation: hb_blob_ptr_t<OT::BASE>::operator->() const
85
0
  const T & operator * () const  { return *get (); }
Unexecuted instantiation: hb_blob_ptr_t<OT::GDEF>::operator*() const
Unexecuted instantiation: hb_blob_ptr_t<AAT::morx>::operator*() const
Unexecuted instantiation: hb_blob_ptr_t<AAT::mort>::operator*() const
Unexecuted instantiation: hb_blob_ptr_t<OT::HVAR>::operator*() const
Unexecuted instantiation: hb_blob_ptr_t<OT::VVAR>::operator*() const
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GSUB>::operator*() const
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GPOS>::operator*() const
86
0
  template <typename C> operator const C * () const { return get (); }
Unexecuted instantiation: hb_blob_ptr_t<OT::gvar>::operator void const*<void>() const
Unexecuted instantiation: hb_blob_ptr_t<OT::name>::operator void const*<void>() const
Unexecuted instantiation: hb_blob_ptr_t<OT::post>::operator void const*<void>() const
Unexecuted instantiation: hb_blob_ptr_t<OT::CBLC>::operator void const*<void>() const
Unexecuted instantiation: hb_blob_ptr_t<OT::CBDT>::operator void const*<void>() const
Unexecuted instantiation: hb_blob_ptr_t<OT::GDEF>::operator OT::GDEF const*<OT::GDEF>() const
87
0
  operator const char * () const { return (const char *) get (); }
88
0
  const T * get () const { return b->as<T> (); }
Unexecuted instantiation: hb_blob_ptr_t<OT::cmap>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::gvar>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::hmtxvmtx<OT::hmtx, OT::hhea, OT::HVAR> >::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::hmtxvmtx<OT::vmtx, OT::vhea, OT::VVAR> >::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::loca>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::glyf>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::GDEF>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GPOS>::get() const
Unexecuted instantiation: hb_blob_ptr_t<AAT::kerx>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::kern>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::meta>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::name>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::post>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::CBLC>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::CBDT>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::sbix>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::SVG>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GSUB>::get() const
Unexecuted instantiation: hb_blob_ptr_t<AAT::morx>::get() const
Unexecuted instantiation: hb_blob_ptr_t<AAT::mort>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::COLR>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::glyf const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::hdmx const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::name const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::head const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::hmtx const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::vmtx const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::maxp const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::sbix const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::cmap const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::OS2 const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::post const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::COLR const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::CPAL const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::CBLC const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::MATH const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::BASE const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::VORG const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::GDEF const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GSUB const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GPOS const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::gvar const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::HVAR const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::VVAR const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::fvar const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::avar const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::cvar const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::MVAR const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::STAT const>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::HVAR>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::VVAR>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::MATH>::get() const
Unexecuted instantiation: hb_blob_ptr_t<OT::BASE>::get() const
89
0
  hb_blob_t * get_blob () const { return b.get_raw (); }
Unexecuted instantiation: hb_blob_ptr_t<OT::gvar>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::GDEF>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GPOS>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::kern>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::meta>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::CBDT>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::sbix>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::SVG>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GSUB>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::COLR>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::glyf const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::hdmx const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::name const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::head const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::hmtx const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::vmtx const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::maxp const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::sbix const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::cmap const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::OS2 const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::post const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::COLR const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::CPAL const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::CBLC const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::MATH const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::BASE const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::VORG const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::GDEF const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GSUB const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GPOS const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::gvar const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::HVAR const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::VVAR const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::fvar const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::avar const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::cvar const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::MVAR const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<OT::STAT const>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<AAT::morx>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<AAT::mort>::get_blob() const
Unexecuted instantiation: hb_blob_ptr_t<AAT::kerx>::get_blob() const
90
0
  unsigned int get_length () const { return b.get ()->length; }
Unexecuted instantiation: hb_blob_ptr_t<OT::hmtxvmtx<OT::hmtx, OT::hhea, OT::HVAR> >::get_length() const
Unexecuted instantiation: hb_blob_ptr_t<OT::hmtxvmtx<OT::vmtx, OT::vhea, OT::VVAR> >::get_length() const
Unexecuted instantiation: hb_blob_ptr_t<OT::loca>::get_length() const
Unexecuted instantiation: hb_blob_ptr_t<OT::glyf>::get_length() const
Unexecuted instantiation: hb_blob_ptr_t<OT::name>::get_length() const
Unexecuted instantiation: hb_blob_ptr_t<OT::post>::get_length() const
Unexecuted instantiation: hb_blob_ptr_t<OT::CBDT>::get_length() const
Unexecuted instantiation: hb_blob_ptr_t<OT::HVAR>::get_length() const
Unexecuted instantiation: hb_blob_ptr_t<OT::VVAR>::get_length() const
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GSUB>::get_length() const
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GPOS>::get_length() const
91
0
  void destroy () { hb_blob_destroy (b.get_raw ()); b = nullptr; }
Unexecuted instantiation: hb_blob_ptr_t<OT::cmap>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::hmtxvmtx<OT::hmtx, OT::hhea, OT::HVAR> >::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::HVAR>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::post>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::name>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::meta>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::hmtxvmtx<OT::vmtx, OT::vhea, OT::VVAR> >::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::VVAR>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::glyf>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::gvar>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::kern>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::GDEF>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GSUB>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GPOS>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<AAT::morx>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<AAT::mort>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<AAT::kerx>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::CBLC>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::CBDT>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::sbix>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::SVG>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::COLR>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::glyf const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::hdmx const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::name const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::head const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::hmtx const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::vmtx const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::maxp const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::sbix const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::cmap const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::OS2 const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::post const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::COLR const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::CPAL const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::CBLC const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::MATH const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::BASE const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::VORG const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::GDEF const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GSUB const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::Layout::GPOS const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::gvar const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::HVAR const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::VVAR const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::fvar const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::avar const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::cvar const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::MVAR const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::STAT const>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::MATH>::destroy()
Unexecuted instantiation: hb_blob_ptr_t<OT::BASE>::destroy()
92
93
  private:
94
  hb_nonnull_ptr_t<hb_blob_t> b;
95
};
96
97
98
#endif /* HB_BLOB_HH */