Generalised iterators for template containers