X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fstringcodec%2Fiso2022jp.h;h=a9bc1c2d513d37bb20486009bb6964764836d5e4;hp=a3f425a95d9c9dd1ddf4a215cdd7454aa3d838a9;hb=HEAD;hpb=c7afef88380ebebc8c2b04e48664d73281ec8848 diff --git a/source/stringcodec/iso2022jp.h b/source/stringcodec/iso2022jp.h index a3f425a..0bb1ad3 100644 --- a/source/stringcodec/iso2022jp.h +++ b/source/stringcodec/iso2022jp.h @@ -1,12 +1,13 @@ #ifndef MSP_STRINGCODEC_ISO2022JP_H_ #define MSP_STRINGCODEC_ISO2022JP_H_ +#include #include "codec.h" namespace Msp { namespace StringCodec { -class Iso2022Jp: public StandardCodec +class MSPCORE_API Iso2022Jp: public StandardCodec { public: enum Mode @@ -16,40 +17,40 @@ public: JISX0208 }; - class Encoder: public Codec::Encoder + class MSPCORE_API Encoder: public Codec::Encoder { private: - Mode mode; + Mode mode = ASCII; public: - Encoder(ErrorMode em = THROW_ON_ERROR): Codec::Encoder(em), mode(ASCII) { } + Encoder(ErrorMode em = DEFAULT): Codec::Encoder(em) { } - virtual void encode_char(unichar, std::string &); - virtual void sync(std::string &); - virtual void reset(); + void encode_char(unichar, std::string &) override; + void sync(std::string &) override; + void reset() override; private: void switch_mode(Mode, std::string &); - virtual void transliterate(unichar, std::string &); + void transliterate(unichar, std::string &) override; }; - class Decoder: public Codec::Decoder + class MSPCORE_API Decoder: public Codec::Decoder { private: - Mode mode; - Codec::Decoder *dec; + Mode mode = ASCII; + Codec::Decoder *dec = nullptr; public: - Decoder(ErrorMode =THROW_ON_ERROR); + Decoder(ErrorMode = DEFAULT); - virtual unichar decode_char(const std::string &, std::string::const_iterator &); - virtual void reset(); + unichar decode_char(const std::string &, std::string::const_iterator &) override; + void reset() override; private: void switch_mode(Mode); }; - Iso2022Jp(ErrorMode em = THROW_ON_ERROR): StandardCodec(em) { } + Iso2022Jp(ErrorMode em = DEFAULT): StandardCodec(em) { } - virtual const char *get_name() const { return "ISO-2022-JP"; } + const char *get_name() const override { return "ISO-2022-JP"; } }; } // namespace StringCodec