While doable with hb_deref_pointer() as well, we also would then
need to do it in a ton of places. Not worth it / messy.
uint32_t hb_array_t<T>::hash () const
{
return
- + hb_iter (this)
+ + hb_iter (*this)
| hb_map (hb_hash)
| hb_reduce ([] (uint32_t a, uint32_t b) -> uint32_t { return a * 31 + b; }, 0)
;
operator () (T&& c) const
{ return c.iter (); }
- template <typename T>
- hb_iter_t (T)
- operator () (T* c) const
- { return c->iter (); }
-
/* Specialization for C arrays. */
template <typename Type> inline hb_array_t<Type>
int dst[20];
hb_vector_t<int> v;
- hb_iter (v);
- hb_iter (&v);
-
array_iter_t<const int> s (src); /* Implicit conversion from static array. */
array_iter_t<const int> s2 (v); /* Implicit conversion from vector. */
array_iter_t<int> t (dst);