#ifndef DYNSJIS_H #define DYNSJIS_H // dynsjis.h // 6/11/2015 jichi namespace dynsjis { inline bool isleadbyte(unsigned char ch) { return ch > 127 && (ch < 0xa1 || ch > 0xdf); } inline bool isleadchar(unsigned int ch) { return isleadbyte((ch >> 8) & 0xff); } const char *nextchar(const char *s); inline char *nextchar(char *s) { return const_cast(nextchar(static_cast(s))); } inline bool isleadstr(const char *s) // return true if the first character of the string is widechar { return nextchar(s) - s == 2; } const char *prevchar(const char *s, const char *begin = nullptr); inline char *prevchar(char *s, const char *begin = nullptr) { return const_cast(prevchar(static_cast(s), begin)); } } // namespace dynsjis #endif // DYNSJIS_H