Hello,
I'm looking on possibility to use std::wstring in serialization.
Here is a simple example which I try to compile:
#define UNICODE
#include
#include
#include
#include <string>
#include <map>
#include <iostream>
#include <fstream>
#include
#include
#include
#include
#include
int main()
{
std::map t;
std::ofstream ofs ("test.dat", std::ios::trunc | std::ios::binary );
boost::archive::binary_oarchive oa(ofs);
assert (ofs.good());
t[L"asd"]=L"test";
oa << t;
ofs.close();
};
I use latest downloaded boost and mingw 3.4.5.
I got such error:
c:/boost/boost/serialization/access.hpp: In static member function `static voidboost::serialization::access::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::binary_oarchive, T = std::basic_string, std::allocator >]':
c:/boost/boost/serialization/serialization.hpp:81: instantiated from `void boost::serialization::serialize(Archive&, T&, unsigned int) [with Archive = boost::archive::binary_oarchive, T = std::basic_string, std::allocator >]'
c:/boost/boost/serialization/serialization.hpp:140: instantiated from `void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::archive::binary_oarchive, T = std::basic_string >]'
c:/boost/boost/archive/detail/oserializer.hpp:151: instantiated from `void boost::archive::detail::oserializer::save_object_data(boost::archive::detail::basic_oarchive&, const void*) const [with Archive = boost::archive::binar
y_oarchive, T = std::basic_string, std::allocator >]'
test.cpp:96: instantiated from here
c:/boost/boost/serialization/access.hpp:109: error: 'struct std::basic_string, std::allocator >' has no member named 'serialize'
So, what the right way to use wstring here?
--
My PGP public key: http://yurichev.com/dennis.yurichev.asc