Add a UTF-16 codec
[libs/core.git] / source / stringcodec / codec.h
index d0871ff119ab563ea2ff000ece006c55577ddf48..1b893470c6e9462993d10953e36952b4fc08b6d1 100644 (file)
@@ -167,12 +167,15 @@ private:
 protected:
        StandardCodec(ErrorMode em): err_mode(em==DEFAULT ? THROW_ON_ERROR : em) { }
 
+       ErrorMode get_error_mode(ErrorMode em = DEFAULT) const
+       { return (em==DEFAULT ? err_mode : em); }
+
 public:
        virtual Encoder *create_encoder(ErrorMode em = DEFAULT) const
-       { return new typename C::Encoder(em==DEFAULT ? err_mode : em); }
+       { return new typename C::Encoder(get_error_mode(em)); }
 
        virtual Decoder *create_decoder(ErrorMode em = DEFAULT) const
-       { return new typename C::Decoder(em==DEFAULT ? err_mode : em); }
+       { return new typename C::Decoder(get_error_mode(em)); }
 };