No idea how to avoid dupicating code. Was hoping hb_deref_pointer()
would do it, but looks like a pointer can't bind to a universal
reference T&&. Humm.
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);