18 size_t Strnlen(
const char *s,
size_t size);
28 u32
Next(std::string::const_iterator& iter, std::string::const_iterator iterEnd);
38 u32
Next(
const char*& iter,
const char* iterEnd);
47 inline u32
PeekNext(std::string::const_iterator iter, std::string::const_iterator iterEnd)
49 return Next(iter, iterEnd);
59 inline u32
PeekNext(
const char* iter,
const char* iterEnd)
61 return Next(iter, iterEnd);
68 size_t GetCodepointCount(std::string::const_iterator iter, std::string::const_iterator iterEnd);
91 template <
typename TUtf32Iterator>
92 inline TUtf32Iterator
ToUtf32(std::string::const_iterator inputIter, std::string::const_iterator inputIterEnd, TUtf32Iterator outputIter)
94 while (inputIter < inputIterEnd)
96 (*outputIter++) =
Next(inputIter, inputIterEnd);
117 template <
typename TUtf32Iterator>
118 inline TUtf32Iterator
ToUtf32(
const char* inputIter,
const char* inputIterEnd, TUtf32Iterator outputIter)
120 while (inputIter < inputIterEnd)
122 (*outputIter++) =
Next(inputIter, inputIterEnd);