required
| 72 | constexpr const char* data() const { return str.data(); } // required |
| 73 | constexpr const char& operator[](std::size_t i) const { return str[i]; } // required |
| 74 | constexpr auto begin() const { return str.begin(); } // required |
| 75 | constexpr auto end() const { return str.end(); } // required |
| 76 | constexpr std::size_t find(char c) const { return str.find(c); } // required |
| 77 | constexpr MyStringView substr(std::size_t p, std::size_t n) { return str.substr(p, n); } // required |