3 This file is part of libmspstrings
4 Copyright © 2006-2007 Mikko Rasa
5 Distributed under the LGPL
8 #ifndef MSP_STRINGS_ISO2022JP_H_
9 #define MSP_STRINGS_ISO2022JP_H_
16 class Iso2022Jp: public Codec
26 class Encoder: public Codec::Encoder
29 Encoder(ErrorMode em=THROW_ON_ERROR): Codec::Encoder(em), mode(ASCII) { }
30 virtual void encode_char(UnicodeChar, std::string &);
31 virtual void sync(std::string &);
36 void switch_mode(Mode, std::string &);
37 virtual void transliterate(UnicodeChar, std::string &);
40 class Decoder: public Codec::Decoder
43 Decoder(ErrorMode =THROW_ON_ERROR);
44 virtual UnicodeChar decode_char(const std::string &, std::string::const_iterator &);
50 virtual void switch_mode(Mode);
53 Encoder *create_encoder(ErrorMode em=THROW_ON_ERROR) const { return new Encoder(em); }
54 Decoder *create_decoder(ErrorMode em=THROW_ON_ERROR) const { return new Decoder(em); }