vkd3d-shader/ir: Introduce an abstraction to iterate through VSIR instructions.
That's an evolution and alternative proposal to !1587 (closed). I really can't remember from what I got this idea. It must have been some really bad thing, and my brain erased that name in a denial attempt. Maybe I didn't even get it from anywhere, I just dreamed of it tonight. Who knows. Now I wonder whether in that dream there were also lambd... OH, HERESY! I DIDN'T WRITE THIS, I SWEAR YOUR HONOR!
Anyway: the idea is that instead of dealing with indices in an array we deal with these mysterious "iterators", and if at some point we want to swap the data structure storing the instruction array we only have to replace the implementation of iterators instead of fixing stuff throughout the code. It's true that the code becomes a little bit more verbose (the dream might had something about that as well, but maybe it's not a good idea to peek too deeply into my subconscious), but it doesn't seem to be terrible either.