pointer data() {
     return m_mapping.begin();
 }
 const T* data() const {
     return m_mapping.begin();
 }
 const_pointer data() const {
     return m_mapping.begin();
 }
 T* data() {
     return m_mapping.begin();
 }