class Encoder: public Codec::Encoder
{
+ private:
+ Mode mode;
+
public:
- Encoder(ErrorMode em=THROW_ON_ERROR): Codec::Encoder(em), mode(ASCII) { }
+ Encoder(ErrorMode em = THROW_ON_ERROR): Codec::Encoder(em), mode(ASCII) { }
+
virtual void encode_char(UnicodeChar, std::string &);
virtual void sync(std::string &);
virtual void reset();
private:
- Mode mode;
-
void switch_mode(Mode, std::string &);
virtual void transliterate(UnicodeChar, std::string &);
};
class Decoder: public Codec::Decoder
{
+ private:
+ Mode mode;
+ Codec::Decoder *dec;
+
public:
Decoder(ErrorMode =THROW_ON_ERROR);
+
virtual UnicodeChar decode_char(const std::string &, std::string::const_iterator &);
virtual void reset();
private:
- Mode mode;
- Codec::Decoder *dec;
-
- virtual void switch_mode(Mode);
+ void switch_mode(Mode);
};
virtual const char *get_name() const { return "ISO-2022-JP"; }
- 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); }
+ 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); }
};
} // namespace Codecs