В двух словах ... в моем приложении мы используем boost::filesystem::path
в целом.В основном это работает очень хорошо, ЗА ИСКЛЮЧЕНИЕМ, если кто-то решит быть милым и сослаться на имя файла, не являющееся юникодом в Windows (скажем, по какой-то причине я не могу понять, у кого-то есть имя файла Shift-JIS).
Какскажем, невежество - это блаженство, и я думал, что смогу обойти это, если сделаю что-то вроде (Кстати, имеет ли это смысл?):
namespace fs = boost::filesystem;
class utf8Path : public fs::path {
public:
utf8Path () : fs::path () {};
utf8Path (std::string path) : fs::path(UnicodeUtil::convertToUTF8(path)) {};
}
Конечно, я былПринимая во внимание все различные присваивания и такие операторы.
Предположим, что я написал выше, имеет смысл и не является неработающим кодом ... возможно ли распространить этот подход на другие версии конструктора, операторы присваиванияа такие?