Leif, > But if the goal is to always iterate over all headers, I’m guessing (but not > sure?) that it could be done more efficiently with an API that assumes so ? > But alas, I don’t know what the use case here is, I’ve yet to see one where > iterating over all headers is required (you usually want > TSMimeHdrFieldNextDup()).
Unless you are going to expose the type to the API (which is generally avoided) you'll need to allocate the iterator. So I don't see any way to do better than re-purposing the handle as an iterator. Fewer types, just as efficient.