Using std::advance instead of operator[]
Added support for vertex and cell container tag