cpp/locale/wstring convert

Class template std performs conversions between byte string std and wide string, using an individual code conversion facet. std assumes ownership of the conversion facet, and cannot use a facet managed by a locale. The standard facets suitable for use with std are std for UTF-8/UCS-2 and UTF-8/UCS-4 conversions and std for UTF-8/UTF-16 conversions.