36 template <
typename Type>
47 template <
typename Type>
61 template <
unsigned int length_>
113 template <
typename T>
operator T * ()
const {
return arrayZ; }
118 uint32_t current = 0;
119 for (
unsigned int i = 0;
i < this->
length;
i++) {
120 current = current * 31 + hb_hash (this->
arrayZ[
i]);
133 return (
int)
a.length - (int)
length;
143 template <
typename T>
149 template <
typename T>
155 template <
typename T>
158 unsigned int to_store = (
unsigned int) -1)
const
242 count = *seg_count = hb_min (
count, *seg_count);
250 template <
typename T,
251 unsigned P =
sizeof (
Type),
256 template <
typename T,
257 unsigned P =
sizeof (
Type),
261 return arrayZ <= ((
const char *)
p)
270 template <
typename hb_serialize_context_t>
281 template <
typename hb_sanitize_context_t>
297 template <
typename T,
unsigned int length_>
inline hb_array_t<T>
301 template <
typename Type>
303 hb_iter_t<hb_sorted_array_t<Type>, Type&>,
319 template <
unsigned int length_>
322 template <
typename U,
327 template <
typename U,
343 template <
typename T>
349 template <
typename T>
355 template <
typename T>
358 unsigned int to_store = (
unsigned int) -1)
const
387 template <
typename T>
390 return hb_bsearch_impl (
pos,
395 _hb_cmp_method<T, Type>);
405 template <
typename T>
408 if (
o.length !=
this->length)
return false;
409 for (
unsigned int i = 0;
i < this->
length;
i++) {
419 uint32_t current = 0;
420 for (
unsigned int i = 0;
i < this->
length;
i++)
421 current = current * 31 + (uint32_t) (this->
arrayZ[
i] * 2654435761u);
427 uint32_t current = 0;
428 for (
unsigned int i = 0;
i < this->
length;
i++)
429 current = current * 31 + (uint32_t) (this->arrayZ[
i] * 2654435761u);
small capitals from c petite p scientific i
[1]
@ HB_NOT_FOUND_STORE_CLOSEST
@ HB_NOT_FOUND_DONT_STORE
hb_array_t< const unsigned char > hb_ubytes_t
hb_array_t< T > hb_array(T *array, unsigned int length)
hb_sorted_array_t< T > hb_sorted_array(T *array, unsigned int length)
hb_array_t< const char > hb_bytes_t
#define TRACE_SERIALIZE(this)
#define return_trace(RET)
HB_EXTERN unsigned int start_offset
GLenum GLuint GLenum GLsizei length
GLboolean GLboolean GLboolean b
GLint GLint GLint GLint GLint x
[0]
GLboolean GLboolean GLboolean GLboolean a
[7]
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLenum GLenum GLsizei count
QTextStream out(stdout)
[7]
bool check_range(const T *p, unsigned int size=T::static_size) const
hb_sorted_array_t< Type > qsort()
void qsort(unsigned int start, unsigned int end)
int cmp(const hb_array_t &a) const
void reverse(unsigned start=0, unsigned end=-1)
constexpr hb_array_t(Type(&array_)[length_])
static HB_INTERNAL int cmp(const void *pa, const void *pb)
bool operator!=(const hb_array_t &o) const
const Type * lsearch(const T &x, const Type *not_found=nullptr) const
void __rewind__(unsigned n)
void __forward__(unsigned n)
bool sanitize(hb_sanitize_context_t *c) const
constexpr hb_array_t(std::nullptr_t)
hb_array_t & operator=(const hb_array_t &)=default
constexpr hb_array_t(Type *array_, unsigned int length_)
hb_array_t truncate(unsigned length) const
Type & __item_at__(unsigned i) const
static constexpr bool is_random_access_iterator
unsigned int backwards_length
hb_sorted_array_t< Type > qsort(int(*cmp_)(const void *, const void *))
hb_array_t copy(hb_serialize_context_t *c) const
constexpr hb_array_t(const hb_array_t< U > &o)
hb_array_t(const hb_array_t &)=default
HB_INTERNAL bool operator==(const hb_array_t &o) const
bool lfind(const T &x, unsigned *pos=nullptr, hb_not_found_t not_found=HB_NOT_FOUND_DONT_STORE, unsigned int to_store=(unsigned int) -1) const
Type * lsearch(const T &x, Type *not_found=nullptr)
hb_array_t sub_array(unsigned int start_offset=0, unsigned int *seg_count=nullptr) const
hb_array_t sub_array(unsigned int start_offset, unsigned int seg_count) const
unsigned int get_size() const
constexpr unsigned get_item_size() const
Type * bsearch(const T &x, Type *not_found=nullptr)
hb_sorted_array_t truncate(unsigned length) const
constexpr hb_sorted_array_t(Type *array_, unsigned int length_)
hb_sorted_array_t sub_array(unsigned int start_offset, unsigned int seg_count) const
bool operator!=(const hb_sorted_array_t &o) const
static constexpr bool is_random_access_iterator
constexpr hb_sorted_array_t(std::nullptr_t)
HB_ITER_USING(iter_base_t)
bool bfind(const T &x, unsigned int *i=nullptr, hb_not_found_t not_found=HB_NOT_FOUND_DONT_STORE, unsigned int to_store=(unsigned int) -1) const
bool bsearch_impl(const T &x, unsigned *pos) const
hb_iter_t< hb_sorted_array_t, Type & > iter_base_t
constexpr hb_sorted_array_t(const hb_array_t< U > &o)
hb_sorted_array_t()=default
~hb_sorted_array_t()=default
const Type * bsearch(const T &x, const Type *not_found=nullptr) const
constexpr hb_sorted_array_t(Type(&array_)[length_])
static constexpr bool is_sorted_iterator
hb_sorted_array_t(const hb_sorted_array_t &)=default
hb_sorted_array_t & operator=(const hb_sorted_array_t &)=default
hb_sorted_array_t sub_array(unsigned int start_offset, unsigned int *seg_count) const