Здравствуйте, kan, Вы писали:
kan>JakeS wrote:
>> мне кажется что с точки зрения правильного проектирования вариант 3
>> оптимален.
kan>По-моему:
kan>kan>Converter converter("from-encoding", "to-encoding");
kan>string str2 = converter.convert(str1);
kan>string str3 = converter.convert(str1.begin(), str1.end());
kan>string str4 = converter.convert(istream1.begin(), istream1.end());
kan>converter.convert(istream1.begin(), istream1.end(), outputIterator);
kan>
kan>Ибо кодировки вещь такая... может прийти из входного потока как строка, может быть "CP1251", "cp1251", "windows-1251". И
kan>шаблоны тут вообще непонятно зачем.
Речь идет о проектировании. Т.е. для обеспечения расширяемости без вмешательства в код введены либо шаблоны либо наследование. ваш пример это уже wrapper который легко реализуется на любой из моих структур.