| 131 | |
| 132 | template<size_t N> |
| 133 | std::string_view nullTerminatedView(const char (&src)[N]) |
| 134 | { |
| 135 | for (size_t i = 0; i < N; i++) |
| 136 | { |
| 137 | if (src[i] == '\0') |
| 138 | { |
| 139 | return std::string_view(src, N); |
| 140 | } |
| 141 | } |
| 142 | return std::string_view(src, N); |
| 143 | } |
| 144 | |
| 145 | constexpr std::string_view trim(std::string_view str) |
| 146 | { |