• Home
  • Raw
  • Download

Lines Matching defs:page_t

54   struct page_t  struct
56 void init0 () { v.clear (); } in init0()
57 void init1 () { v.clear (0xFF); } in init1()
59 unsigned int len () const in len()
62 bool is_empty () const in is_empty()
70 void add (hb_codepoint_t g) { elt (g) |= mask (g); } in add()
71 void del (hb_codepoint_t g) { elt (g) &= ~mask (g); } in del()
72 bool has (hb_codepoint_t g) const { return !!(elt (g) & mask (g)); } in has()
74 void add_range (hb_codepoint_t a, hb_codepoint_t b) in add_range()
91 bool is_equal (const page_t *other) const in is_equal()
96 unsigned int get_population () const in get_population()
104 bool next (hb_codepoint_t *codepoint) const in next()
126 bool previous (hb_codepoint_t *codepoint) const in previous()
148 hb_codepoint_t get_min () const in get_min()
155 hb_codepoint_t get_max () const in get_max()
163 typedef unsigned long long elt_t;
164 enum { PAGE_BITS = 512 };
167 static unsigned int elt_get_min (const elt_t &elt) { return hb_ctz (elt); } in elt_get_min()
168 static unsigned int elt_get_max (const elt_t &elt) { return hb_bit_storage (elt) - 1; } in elt_get_max()
170 typedef hb_vector_size_t<elt_t, PAGE_BITS / 8> vector_t;
172 enum { ELT_BITS = sizeof (elt_t) * 8 };
173 enum { ELT_MASK = ELT_BITS - 1 };
174 enum { BITS = sizeof (vector_t) * 8 };
175 enum { MASK = BITS - 1 };
178 elt_t &elt (hb_codepoint_t g) { return v[(g & MASK) / ELT_BITS]; } in elt()
179 elt_t const &elt (hb_codepoint_t g) const { return v[(g & MASK) / ELT_BITS]; } in elt()
180 elt_t mask (hb_codepoint_t g) const { return elt_t (1) << (g & ELT_MASK); } in mask()
182 vector_t v;