]> git.tdb.fi Git - libs/core.git/blobdiff - source/iso646fi.h
More sophisticated error handling
[libs/core.git] / source / iso646fi.h
index 885015a1abd3169cbf28872b986cb7e9406aa0f2..1f0df917af6ea0d8d46478f84744cd29716c3799 100644 (file)
@@ -11,17 +11,21 @@ public:
        class Encoder: public StringCodec::Encoder
        {
        public:
+               Encoder(ErrorMode em=THROW_ON_ERROR): StringCodec::Encoder(em) { }
                void encode_char(wchar_t);
+       private:
+               void append_replacement() { append(032); }
        };
 
        class Decoder: public StringCodec::Decoder
        {
        public:
+               Decoder(ErrorMode em=THROW_ON_ERROR): StringCodec::Decoder(em) { }
                void decode_char(const std::string &, std::string::const_iterator &);
        };
 
-       Encoder *create_encoder() const { return new Encoder; }
-       Decoder *create_decoder() const { return new Decoder; }
+       Encoder *create_encoder(ErrorMode em=THROW_ON_ERROR) const { return new Encoder(em); }
+       Decoder *create_decoder(ErrorMode em=THROW_ON_ERROR) const { return new Decoder(em); }
 };
 
 } // namespace Msp