I just saw that c++17 overloads a non-const data() method i.e. CharT* data() noexcept; and want to be sure that the behavior of calling it as follows is well define
CharT* data() noexcept;