QtBase
v6.3.1
src
3rdparty
harfbuzz-ng
src
hb-subset.hh
Go to the documentation of this file.
1
/*
2
* Copyright © 2018 Google, Inc.
3
*
4
* This is part of HarfBuzz, a text shaping library.
5
*
6
* Permission is hereby granted, without written agreement and without
7
* license or royalty fees, to use, copy, modify, and distribute this
8
* software and its documentation for any purpose, provided that the
9
* above copyright notice and the following two paragraphs appear in
10
* all copies of this software.
11
*
12
* IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
13
* DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
14
* ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
15
* IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
16
* DAMAGE.
17
*
18
* THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
19
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20
* FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
21
* ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
22
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
23
*
24
* Google Author(s): Garret Rieger, Roderick Sheeter
25
*/
26
27
#ifndef HB_SUBSET_HH
28
#define HB_SUBSET_HH
29
30
31
#include "
hb.hh
"
32
33
#include "
hb-subset.h
"
34
35
#include "
hb-machinery.hh
"
36
#include "
hb-subset-input.hh
"
37
#include "
hb-subset-plan.hh
"
38
39
struct
hb_subset_context_t
:
40
hb_dispatch_context_t
<hb_subset_context_t, bool, HB_DEBUG_SUBSET>
41
{
42
const
char
*
get_name
() {
return
"SUBSET"
; }
43
static
return_t
default_return_value
() {
return
true
; }
44
45
private
:
46
template
<
typename
T
,
typename
...Ts>
auto
47
_dispatch (
const
T
&
obj
,
hb_priority<1>
, Ts&&... ds)
HB_AUTO_RETURN
48
(
obj
.subset (
this
, std::forward<Ts> (ds)...) )
49
template
<
typename
T
,
typename
...Ts>
auto
50
_dispatch (
const
T
&
obj
,
hb_priority<0>
, Ts&&... ds)
HB_AUTO_RETURN
51
(
obj
.dispatch (
this
, std::forward<Ts> (ds)...) )
52
public
:
53
template
<
typename
T
,
typename
...Ts>
auto
54
dispatch
(
const
T
&
obj
, Ts&&... ds)
HB_AUTO_RETURN
55
( _dispatch (
obj
,
hb_prioritize
, std::forward<Ts> (ds)...) )
56
57
hb_blob_t
*source_blob;
58
hb_subset_plan_t
*plan;
59
hb_serialize_context_t
*serializer;
60
hb_tag_t
table_tag;
61
62
hb_subset_context_t
(
hb_blob_t
*source_blob_,
63
hb_subset_plan_t
*plan_,
64
hb_serialize_context_t
*serializer_,
65
hb_tag_t
table_tag_) :
66
source_blob (source_blob_),
67
plan (plan_),
68
serializer (serializer_),
69
table_tag
(table_tag_) {}
70
};
71
72
73
#endif
/* HB_SUBSET_HH */
T
#define T(x)
Definition:
main.cpp:42
hb-machinery.hh
hb_prioritize
#define hb_prioritize
Definition:
hb-meta.hh:81
HB_AUTO_RETURN
#define HB_AUTO_RETURN(E)
Definition:
hb-meta.hh:76
table_tag
HB_EXTERN hb_tag_t table_tag
Definition:
hb-ot-deprecated.h:72
hb-subset-input.hh
hb-subset-plan.hh
hb-subset.h
hb.hh
obj
GLhandleARB obj
[2]
Definition:
qopenglext.h:4164
hb_tag_t
uint32_t hb_tag_t
Definition:
hb-common.h:157
T
Definition:
main.cpp:38
hb_blob_t
Definition:
hb-blob.hh:40
hb_dispatch_context_t
Definition:
hb-dispatch.hh:40
hb_dispatch_context_t< hb_subset_context_t, bool, HB_DEBUG_SUBSET >::return_t
bool return_t
Definition:
hb-dispatch.hh:48
hb_dispatch_context_t< hb_subset_context_t, bool, HB_DEBUG_SUBSET >::dispatch
return_t dispatch(const T &obj, Ts &&... ds)
Definition:
hb-dispatch.hh:52
hb_priority< 0 >
Definition:
hb-meta.hh:80
hb_priority
Definition:
hb-meta.hh:79
hb_serialize_context_t
Definition:
hb-serialize.hh:58
hb_subset_context_t
Definition:
hb-subset.hh:41
hb_subset_context_t::default_return_value
static return_t default_return_value()
Definition:
hb-subset.hh:43
hb_subset_context_t::get_name
const char * get_name()
Definition:
hb-subset.hh:42
hb_subset_plan_t
Definition:
hb-subset-plan.hh:39
Generated by
1.9.1