rapidjson A fast JSON parser/generator for C++ with both SAX/DOM style API

- Main Page
- Related Pages
- Classes
- Files

- File List

All Classes Functions Variables Typedefs Pages
strfunc.h
1 #ifndef RAPIDJSON_INTERNAL_STRFUNC_H_
2 #define RAPIDJSON_INTERNAL_STRFUNC_H_
3
4 namespace rapidjson {
5 namespace internal {
6
7 //! Custom strlen() which works on different character types.
8 /*! \tparam Ch Character type (e.g. char, wchar_t, short)
9 \param s Null-terminated input string.
10 \return Number of characters in the string.
11 \note This has the same semantics as strlen(), the return value is not number of Unicode codepoints.
12 */
13 template <typename Ch>
14 inline SizeType StrLen(const Ch* s) {
15 const Ch* p = s;
16 while (*p != '\0')
17 ++p;
18 return SizeType(p - s);
19 }
20
21 } // namespace internal
22 } // namespace rapidjson
23
24 #endif // RAPIDJSON_INTERNAL_STRFUNC_H_