#include #include #include void f(std::string_view sv) { for (auto c : sv) std::cout << c; } auto trim(std::string_view sv, std::string_view delimiters = " \t\r\n") { sv.remove_prefix(std::min(sv.find_first_not_of(delimiters), sv.size())); auto pos = sv.find_last_not_of(delimiters); if (pos != sv.npos) sv.remove_suffix(sv.size() - (pos + 1)); return sv; } int main() { using namespace std::literals; const char arr[] = "Hello"; auto s = "World!\n"s; auto sv = "This is a string_view: "sv; f(sv); f(arr); f({", ignored", 2}); f(s); std::cout << trim(" This character sequence will be trimmed. ") << "\n"; }