Added index_gen struct (similar to boost::multi_array::index_gen)