Не проверено, но вы бы хотели специализировать boost :: serialization :: archive для вашего типа данных:
namespace boost {
namespace serialization {
template<class Archive>
void serialize(Archive & ar, std::wstring& s, const unsigned int version)
{
for (std::wstring::iterator it = s.begin(); it != s.end(); ++it)
ar >> *it
}
} // namespace serialization
} // namespace boost
Этот код должен в основном работать как есть, вам просто нужно изменить содержимое функции сериализации (но не сигнатуру).
Почему вы хотите сериализовать wstring любым другим способом, кроме печати (т.е. просто с использованием обычных iostreams), я не знаю.