namespace Msp {
namespace StringCodec {
-typedef int UnicodeChar;
+typedef int unichar;
-typedef std::basic_string<UnicodeChar> ustring;
+typedef std::basic_string<unichar> ustring;
enum ErrorMode
{
/** Encodes a single unicode character. If the character can't be
represented in this encoding, error() should be called. */
- virtual void encode_char(UnicodeChar ch, std::string &buf) = 0;
+ virtual void encode_char(unichar ch, std::string &buf) = 0;
/** Encodes a unicode string. This is equivalent to calling encode_char
for each character in the string with the same buffer. */
THROW_ON_ERROR: throws CodecError(msg)
IGNORE_ERRORS: does nothing
TRANSLITERATE: calls transliterate(ch, buf) */
- void error(UnicodeChar ch, std::string &buf, const std::string &msg);
+ void error(unichar ch, std::string &buf, const std::string &msg);
/** Attempts to produce an alternative encoding for a unicode character.
Typically this includes dropping accent marks or romanizing letters. */
- virtual void transliterate(UnicodeChar ch, std::string &buf) = 0;
+ virtual void transliterate(unichar ch, std::string &buf) = 0;
};
/**
state change sequence was decoded but no character followed it. If
invalid input is encountered, the error() function should be called and
the iterator advanced only if it doesn't throw. */
- virtual UnicodeChar decode_char(const std::string &str, std::string::const_iterator &i) = 0;
+ virtual unichar decode_char(const std::string &str, std::string::const_iterator &i) = 0;
/** Decodes a string. */
virtual void decode(const std::string &str, ustring &buf);
THROW_ON_ERROR: throws CodecError(msg)
IGNORE_ERRORS: returns -1
TRANSLITERATE: return 0xFFFE */
- UnicodeChar error(const std::string &msg);
+ unichar error(const std::string &msg);
};
protected: