std::locale path::imbue(const std::locale & loc) { std::locale temp(path_locale()); path_locale() = loc; wchar_t_codecvt_facet() = &std::use_facet <std::codecvt<wchar_t, char, std::mbstate_t> >(path_locale()); return temp; }
static const codecvt_type& codecvt() { return *wchar_t_codecvt_facet(); }