git repos / blockattack-game

blame: source/code/Libs/include/cereal/external/rapidjson/internal/strfunc.h

normal view · raw

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