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(); }