I don't object to the fact that you have a class. But operator[] does not 'implicitly document it is data driven approach' to me (and anyway, whether it is data-driven or not is an implementation detail that has no business being publicised to the users of the class).