[arrays] Move Supplier<> to hb-array.hh
diff --git a/src/hb-array.hh b/src/hb-array.hh index 0e99b07..83211aa 100644 --- a/src/hb-array.hh +++ b/src/hb-array.hh
@@ -222,4 +222,37 @@ typedef hb_array_t<const char> hb_bytes_t; +/* + * Supplier + */ + +template <typename Type> +struct Supplier : hb_array_t<const Type> +{ + Supplier (const Type *array, unsigned int len_) + { + this->arrayZ = array; + this->len = len_; + } + Supplier (hb_array_t<const Type> v) + { + this->arrayZ = v.arrayZ; + this->len = v.len; + } + + Supplier<Type> & operator += (unsigned int count) + { + if (unlikely (count > this->len)) + count = this->len; + this->len -= count; + this->arrayZ += count; + return *this; + } + + private: + Supplier (const Supplier<Type> &); /* Disallow copy */ + Supplier<Type>& operator= (const Supplier<Type> &); /* Disallow copy */ +}; + + #endif /* HB_ARRAY_HH */
diff --git a/src/hb-machinery.hh b/src/hb-machinery.hh index 94eabeb..82144db 100644 --- a/src/hb-machinery.hh +++ b/src/hb-machinery.hh
@@ -637,38 +637,6 @@ }; -/* - * Supplier - */ - -template <typename Type> -struct Supplier : hb_array_t<const Type> -{ - Supplier (const Type *array, unsigned int len_) - { - this->arrayZ = array; - this->len = len_; - } - Supplier (hb_array_t<const Type> v) - { - this->arrayZ = v.arrayZ; - this->len = v.len; - } - - Supplier<Type> & operator += (unsigned int count) - { - if (unlikely (count > this->len)) - count = this->len; - this->len -= count; - this->arrayZ += count; - return *this; - } - - private: - Supplier (const Supplier<Type> &); /* Disallow copy */ - Supplier<Type>& operator= (const Supplier<Type> &); /* Disallow copy */ -}; - /* * Big-endian integers.