15 #ifndef RAPIDJSON_INTERNAL_STRFUNC_H_
16 #define RAPIDJSON_INTERNAL_STRFUNC_H_
18 #include "../stream.h"
21 RAPIDJSON_NAMESPACE_BEGIN
30 template <
typename Ch>
31 inline SizeType StrLen(
const Ch* s) {
39 inline SizeType StrLen(
const char* s) {
44 inline SizeType StrLen(
const wchar_t* s) {
49 template<
typename Encoding>
50 bool CountStringCodePoint(
const typename Encoding::Ch* s,
SizeType length,
SizeType* outCount) {
53 GenericStringStream<Encoding> is(s);
54 const typename Encoding::Ch* end = s + length;
56 while (is.src_ < end) {
58 if (!Encoding::Decode(is, &codepoint))
67 RAPIDJSON_NAMESPACE_END
#define RAPIDJSON_ASSERT(x)
Assertion.
Definition: rapidjson.h:406
unsigned SizeType
Size type (for string lengths, array sizes, etc.)
Definition: rapidjson.h:384