8 for (
size_t pos =0; pos < s.size();)
15 s.replace(pos, n, ucstr);
27 return end && end == s.size();
32 const size_t n = s.size();
37 c =
static_cast<unsigned char>(s[i++]);
38 if (c ==
'\\' && i < n)
40 const unsigned char cc =
static_cast<unsigned char>(s[i++]);
71 if (cc <
'0' ||
'7' < cc)
76 if (
const auto start = s.data() + i;
auto off = std::from_chars(start, s.data()+s.size(), c, radix).ptr - start)
90 for (
bool first =
true; pos < s.size(); ++pos, first =
false)
93 if (!isascii(c) || c !=
'_' && !(first? isalpha(c): isalnum(c)))
#define RUNTIME_ERROR(fmtStr,...)
Wrap FILE(DATE)#__LINE__ FUNCTION: msg into std::runtime_error.
THE common namespace of bux library.
std::string_view to_utf8(T_Utf32 uc)
bool isIdentifier(std::string_view s) noexcept
std::string escseq2str(std::string s)
size_t parseEscapeChar(std::string_view s, uint32_t &c, size_t pos)
size_t skipIdentifier(std::string_view s, size_t pos) noexcept