diff options
Diffstat (limited to 'src/rapidjson/internal/strfunc.h')
-rwxr-xr-x | src/rapidjson/internal/strfunc.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/rapidjson/internal/strfunc.h b/src/rapidjson/internal/strfunc.h new file mode 100755 index 0000000000..bbf444fe6d --- /dev/null +++ b/src/rapidjson/internal/strfunc.h @@ -0,0 +1,24 @@ +#ifndef RAPIDJSON_INTERNAL_STRFUNC_H_ +#define RAPIDJSON_INTERNAL_STRFUNC_H_ + +namespace rapidjson { +namespace internal { + +//! Custom strlen() which works on different character types. +/*! \tparam Ch Character type (e.g. char, wchar_t, short) + \param s Null-terminated input string. + \return Number of characters in the string. + \note This has the same semantics as strlen(), the return value is not number of Unicode codepoints. +*/ +template <typename Ch> +inline SizeType StrLen(const Ch* s) { + const Ch* p = s; + while (*p != '\0') + ++p; + return SizeType(p - s); +} + +} // namespace internal +} // namespace rapidjson + +#endif // RAPIDJSON_INTERNAL_STRFUNC_H_ |