>>7
I considered doing that but it just seems sloppy. It looks like it'd work, but somewhere you'll have to write a winding, thick forest of if or switch/case statements. And excessive branching can really suck balls on some processors (lol Pentium 4 lol).
Although that's probably about as "neat" as you can get in C++, I guess... :/