Indexing is the part I do have solidly worked out. The basic conundrum was: Do I use the easier to maintain (and highly bloated) one class for each type, or go the more obscure, yet highly compact, function pointer route. I'm equally comfortable with either but if this project gets to a decent state, I'm thinking of open sourcing it and want to make it friendly enough that other programmers won't be completely confused.
Ken,