1 #ifndef MSP_STRINGCODEC_UTF8_H_
2 #define MSP_STRINGCODEC_UTF8_H_
4 #include <msp/core/mspcore_api.h>
8 namespace StringCodec {
10 class MSPCORE_API Utf8: public StandardCodec<Utf8>
13 class MSPCORE_API Encoder: public Codec::Encoder
16 Encoder(ErrorMode em = DEFAULT): Codec::Encoder(em) { }
18 void encode_char(unichar, std::string &) override;
20 void transliterate(unichar, std::string &) override;
23 class MSPCORE_API Decoder: public Codec::Decoder
26 Decoder(ErrorMode em = DEFAULT): Codec::Decoder(em) { }
28 unichar decode_char(const std::string &, std::string::const_iterator &) override;
31 Utf8(ErrorMode em = DEFAULT): StandardCodec<Utf8>(em) { }
33 const char *get_name() const override { return "UTF-8"; }
36 } // namespace StringCodec