X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fstringcodec%2Futf8.h;h=f170916f1d6c6d39ee1c1eb3d46f77df7068951e;hp=b976291b23cc1d0c3990e5de05e25e56abaeced3;hb=HEAD;hpb=056dc68dfc606a2c14126a70321045d6d9f12e0e diff --git a/source/stringcodec/utf8.h b/source/stringcodec/utf8.h index b976291..c3f4a59 100644 --- a/source/stringcodec/utf8.h +++ b/source/stringcodec/utf8.h @@ -1,36 +1,36 @@ #ifndef MSP_STRINGCODEC_UTF8_H_ #define MSP_STRINGCODEC_UTF8_H_ +#include #include "codec.h" namespace Msp { namespace StringCodec { -class Utf8: public Codec +class MSPCORE_API Utf8: public StandardCodec { public: - class Encoder: public Codec::Encoder + class MSPCORE_API Encoder: public Codec::Encoder { public: - Encoder(ErrorMode em = THROW_ON_ERROR): Codec::Encoder(em) { } + Encoder(ErrorMode em = DEFAULT): Codec::Encoder(em) { } - virtual void encode_char(UnicodeChar, std::string &); + void encode_char(unichar, std::string &) override; private: - virtual void transliterate(UnicodeChar, std::string &); + void transliterate(unichar, std::string &) override; }; - class Decoder: public Codec::Decoder + class MSPCORE_API Decoder: public Codec::Decoder { public: - Decoder(ErrorMode em = THROW_ON_ERROR): Codec::Decoder(em) { } + Decoder(ErrorMode em = DEFAULT): Codec::Decoder(em) { } - virtual UnicodeChar decode_char(const std::string &, std::string::const_iterator &); + unichar decode_char(const std::string &, std::string::const_iterator &) override; }; - virtual const char *get_name() const { return "UTF-8"; } + Utf8(ErrorMode em = DEFAULT): StandardCodec(em) { } - virtual Encoder *create_encoder(ErrorMode em = THROW_ON_ERROR) const { return new Encoder(em); } - virtual Decoder *create_decoder(ErrorMode em = THROW_ON_ERROR) const { return new Decoder(em); } + const char *get_name() const override { return "UTF-8"; } }; } // namespace StringCodec