
Hi all, I am trying to separate structure from content and send a vector of strings. Without the separation it works fine, I do receive the data on workers. When I try to separate structure and data it fails to compile. My simple code and the error message are below. Any idea, what am I doing wrong? Compilation mpicxx test.cpp -o test -I /boost/include/boost-1_37/ /boost/lib/libboost_mpi-gcc41-mt-1_37.a /boost/lib/libboost_serialization-gcc41-mt-1_37.a /boost/lib/libboost_date_time-gcc41-mt-1_37.a Code 1 #include "mpi_ver_headers.h" 2 3 using namespace std; 4 namespace mpi = boost::mpi; 5 mpi::communicator world; 6 7 8 int main(int argc, char* argv[]){ 9 vector<std::string> a; 10 int sz; 11 mpi::environment env(argc, argv); 12 if (world.rank() == 0){ 13 broadcast(world, mpi::skeleton(a), 0); 14 mpi::content c = mpi::get_content(a); 15 for(int i =1; i < world.size(); i++){ 16 for(int l = 1; l < 3; l++) 17 a.push_back("A"); 18 sz = a.size(); 19 world.send(i, 3, sz); 20 world.send(i, 1, &a[0], sz); 21 world.recv(i, 2); 22 } 23 } 24 if(world.rank() > 0){ 25 broadcast(world, mpi::skeleton(a), 0); 26 mpi::content c = mpi::get_content(a); 27 world.recv(0, 3 , sz); 28 a.resize(sz); 29 world.recv(0, 1, &a[0], sz); 30 for(int l=0; l < sz; l++) 31 cout << a[l] << "\t"; 32 cout << endl; 33 world.send(0, 2); 34 } 35 } "mpi_ver_headers.h" is ........ 29 #include <boost/mpi.hpp> 30 #include <boost/config.hpp> 31 #include <boost/tokenizer.hpp> 32 #include <boost/mpi/datatype.hpp> 33 #include <boost/mpi/allocator.hpp> 34 #include <boost/archive/tmpdir.hpp> 35 #include <boost/archive/tmpdir.hpp> 36 #include <boost/mpi/environment.hpp> 37 #include <boost/mpi/collectives.hpp> 38 #include <boost/mpi/communicator.hpp> 39 #include <boost/serialization/map.hpp> 40 #include <boost/serialization/export.hpp> 41 #include <boost/serialization/vector.hpp> 42 #include <boost/serialization/access.hpp> 43 #include <boost/serialization/string.hpp> 44 #include <boost/serialization/utility.hpp> 45 #include <boost/archive/text_oarchive.hpp> 46 #include <boost/archive/text_iarchive.hpp> 47 #include <boost/serialization/utility.hpp> 48 #include <boost/serialization/hash_map.hpp> 49 #include <boost/archive/binary_oarchive.hpp> 50 #include <boost/archive/binary_iarchive.hpp> 51 #include <boost/mpi/skeleton_and_content.hpp> 52 #include <boost/serialization/base_object.hpp> 53 #include <boost/serialization/base_object.hpp> 54 #include <boost/progress.hpp> 55 #include <boost/date_time/iso_format.hpp> 56 #include "boost/date_time/gregorian/gregorian.hpp" 57 #include <boost/date_time/posix_time/posix_time.hpp> 58 #include <boost/date_time/posix_time/posix_time_types.hpp> 59 #include <boost/date_time/gregorian/greg_serialize.hpp> 60 #include <boost/date_time/posix_time/time_serialize.hpp> Error /boost/include/boost-1_37/boost/mpi/datatype.hpp: In function âompi_datatype_t* boost::mpi::get_mpi_datatype(const T&) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â: /boost/include/boost-1_37/boost/mpi/detail/mpi_datatype_primitive.hpp:96: instantiated from âvoid boost::mpi::detail::mpi_datatype_primitive::save(const T&) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:95: instantiated from âstatic void boost::archive::save_access::save_primitive(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:212: instantiated from âstatic void boost::archive::detail::save_non_pointer_type<Archive, T>::save_primitive::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:294: instantiated from âstatic void boost::archive::detail::save_non_pointer_type<Archive, T>::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:506: instantiated from âvoid boost::archive::save(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/mpi/detail/ignore_skeleton_oarchive.hpp:46: instantiated from âvoid boost::mpi::detail::ignore_skeleton_oarchive<Archive>::save_override(const T&, int) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Archive = boost::mpi::detail::content_oarchive]â /boost/include/boost-1_37/boost/archive/detail/interface_oarchive.hpp:64: instantiated from âArchive& boost::archive::detail::interface_oarchive<Archive>::operator<<(T&) [with T = const std::basic_string<char, std::char_traits<char>, std::allocator<char>
, Archive = boost::mpi::detail::content_oarchive]â /boost/include/boost-1_37/boost/serialization/nvp.hpp:78: instantiated from âvoid boost::serialization::nvp<T>::save(Archivex&, unsigned int) const [with Archivex = boost::mpi::detail::content_oarchive, T = const std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/serialization/access.hpp:93: instantiated from âstatic void boost::serialization::access::member_save(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = const boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/split_member.hpp:43: instantiated from âstatic void boost::serialization::detail::member_saver<Archive, T>::invoke(Archive&, const T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/split_member.hpp:69: instantiated from âvoid boost::serialization::split_member(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/nvp.hpp:88: instantiated from âvoid boost::serialization::nvp<T>::serialize(Archive&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = const std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/serialization/access.hpp:109: instantiated from âstatic void boost::serialization::access::serialize(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/serialization.hpp:74: instantiated from âvoid boost::serialization::serialize(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/serialization.hpp:133: instantiated from âvoid boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:220: instantiated from âstatic void boost::archive::detail::save_non_pointer_type<Archive, T>::save_only::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:294: instantiated from âstatic void boost::archive::detail::save_non_pointer_type<Archive, T>::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:506: instantiated from âvoid boost::archive::save(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/mpi/detail/ignore_skeleton_oarchive.hpp:46: instantiated from âvoid boost::mpi::detail::ignore_skeleton_oarchive<Archive>::save_override(const T&, int) [with T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, Archive = boost::mpi::detail::content_oarchive]â /boost/include/boost-1_37/boost/archive/detail/interface_oarchive.hpp:64: instantiated from âArchive& boost::archive::detail::interface_oarchive<Archive>::operator<<(T&) [with T = const boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, Archive = boost::mpi::detail::content_oarchive]â /boost/include/boost-1_37/boost/serialization/collections_save_imp.hpp:60: instantiated from âvoid boost::serialization::stl::save_collection(Archive&, const Container&) [with Archive = boost::mpi::detail::content_oarchive, Container = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]â /boost/include/boost-1_37/boost/serialization/vector.hpp:53: instantiated from âvoid boost::serialization::save(Archive&, const std::vector<U, Allocator>&, unsigned int, mpl_::false_) [with Archive = boost::mpi::detail::content_oarchive, U = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Allocator = std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/vector.hpp:119: instantiated from âvoid boost::serialization::save(Archive&, const std::vector<U, Allocator>&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, U = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Allocator = std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/split_free.hpp:45: instantiated from âstatic void boost::serialization::free_saver<Archive, T>::invoke(Archive&, const T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]â /boost/include/boost-1_37/boost/serialization/split_free.hpp:74: instantiated from âvoid boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]â /boost/include/boost-1_37/boost/serialization/vector.hpp:139: instantiated from âvoid boost::serialization::serialize(Archive&, std::vector<U, Allocator>&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, U = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Allocator = std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/serialization.hpp:133: instantiated from âvoid boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:144: instantiated from âvoid boost::archive::detail::oserializer<Archive, T>::save_object_data(boost::archive::detail::basic_oarchive&, const void*) const [with Archive = boost::mpi::detail::content_oarchive, T = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]â deneme.cpp:34: instantiated from here /boost/include/boost-1_37/boost/mpi/datatype.hpp:184: error: no matching function for call to âassertion_failed(mpl_::failed************ boost::mpi::is_mpi_datatype<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::************)â /boost/include/boost-1_37/boost/mpi/detail/mpi_datatype_cache.hpp: In member function âompi_datatype_t* boost::mpi::detail::mpi_datatype_map::datatype(const T&, typename boost::disable_if<boost::mpi::is_mpi_builtin_datatype<T>, void>::type*) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â: /boost/include/boost-1_37/boost/mpi/datatype.hpp:185: instantiated from âompi_datatype_t* boost::mpi::get_mpi_datatype(const T&) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/mpi/detail/mpi_datatype_primitive.hpp:96: instantiated from âvoid boost::mpi::detail::mpi_datatype_primitive::save(const T&) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:95: instantiated from âstatic void boost::archive::save_access::save_primitive(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:212: instantiated from âstatic void boost::archive::detail::save_non_pointer_type<Archive, T>::save_primitive::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:294: instantiated from âstatic void boost::archive::detail::save_non_pointer_type<Archive, T>::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:506: instantiated from âvoid boost::archive::save(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/mpi/detail/ignore_skeleton_oarchive.hpp:46: instantiated from âvoid boost::mpi::detail::ignore_skeleton_oarchive<Archive>::save_override(const T&, int) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Archive = boost::mpi::detail::content_oarchive]â /boost/include/boost-1_37/boost/archive/detail/interface_oarchive.hpp:64: instantiated from âArchive& boost::archive::detail::interface_oarchive<Archive>::operator<<(T&) [with T = const std::basic_string<char, std::char_traits<char>, std::allocator<char> , Archive = boost::mpi::detail::content_oarchive]â /boost/include/boost-1_37/boost/serialization/nvp.hpp:78: instantiated from âvoid boost::serialization::nvp<T>::save(Archivex&, unsigned int) const [with Archivex = boost::mpi::detail::content_oarchive, T = const std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/serialization/access.hpp:93: instantiated from âstatic void boost::serialization::access::member_save(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = const boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/split_member.hpp:43: instantiated from âstatic void boost::serialization::detail::member_saver<Archive, T>::invoke(Archive&, const T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/split_member.hpp:69: instantiated from âvoid boost::serialization::split_member(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/nvp.hpp:88: instantiated from âvoid boost::serialization::nvp<T>::serialize(Archive&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = const std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/serialization/access.hpp:109: instantiated from âstatic void boost::serialization::access::serialize(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/serialization.hpp:74: instantiated from âvoid boost::serialization::serialize(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/serialization.hpp:133: instantiated from âvoid boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:220: instantiated from âstatic void boost::archive::detail::save_non_pointer_type<Archive, T>::save_only::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:294: instantiated from âstatic void boost::archive::detail::save_non_pointer_type<Archive, T>::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:506: instantiated from âvoid boost::archive::save(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/mpi/detail/ignore_skeleton_oarchive.hpp:46: instantiated from âvoid boost::mpi::detail::ignore_skeleton_oarchive<Archive>::save_override(const T&, int) [with T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, Archive = boost::mpi::detail::content_oarchive]â /boost/include/boost-1_37/boost/archive/detail/interface_oarchive.hpp:64: instantiated from âArchive& boost::archive::detail::interface_oarchive<Archive>::operator<<(T&) [with T = const boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, Archive = boost::mpi::detail::content_oarchive]â /boost/include/boost-1_37/boost/serialization/collections_save_imp.hpp:60: instantiated from âvoid boost::serialization::stl::save_collection(Archive&, const Container&) [with Archive = boost::mpi::detail::content_oarchive, Container = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]â /boost/include/boost-1_37/boost/serialization/vector.hpp:53: instantiated from âvoid boost::serialization::save(Archive&, const std::vector<U, Allocator>&, unsigned int, mpl_::false_) [with Archive = boost::mpi::detail::content_oarchive, U = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Allocator = std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/vector.hpp:119: instantiated from âvoid boost::serialization::save(Archive&, const std::vector<U, Allocator>&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, U = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Allocator = std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/split_free.hpp:45: instantiated from âstatic void boost::serialization::free_saver<Archive, T>::invoke(Archive&, const T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]â /boost/include/boost-1_37/boost/serialization/split_free.hpp:74: instantiated from âvoid boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]â /boost/include/boost-1_37/boost/serialization/vector.hpp:139: instantiated from âvoid boost::serialization::serialize(Archive&, std::vector<U, Allocator>&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, U = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Allocator = std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/serialization.hpp:133: instantiated from âvoid boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:144: instantiated from âvoid boost::archive::detail::oserializer<Archive, T>::save_object_data(boost::archive::detail::basic_oarchive&, const void*) const [with Archive = boost::mpi::detail::content_oarchive, T = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]â deneme.cpp:34: instantiated from here /boost/include/boost-1_37/boost/mpi/detail/mpi_datatype_cache.hpp:68: error: no matching function for call to âassertion_failed(mpl_::failed************ boost::mpi::is_mpi_datatype<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::************)â /boost/include/boost-1_37/boost/mpi/detail/mpi_datatype_oarchive.hpp: In constructor âboost::mpi::detail::mpi_datatype_oarchive::mpi_datatype_oarchive(const T&) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â: /boost/include/boost-1_37/boost/mpi/detail/mpi_datatype_cache.hpp:75: instantiated from âompi_datatype_t* boost::mpi::detail::mpi_datatype_map::datatype(const T&, typename boost::disable_if<boost::mpi::is_mpi_builtin_datatype<T>, void>::type*) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/mpi/datatype.hpp:185: instantiated from âompi_datatype_t* boost::mpi::get_mpi_datatype(const T&) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/mpi/detail/mpi_datatype_primitive.hpp:96: instantiated from âvoid boost::mpi::detail::mpi_datatype_primitive::save(const T&) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:95: instantiated from âstatic void boost::archive::save_access::save_primitive(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:212: instantiated from âstatic void boost::archive::detail::save_non_pointer_type<Archive, T>::save_primitive::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:294: instantiated from âstatic void boost::archive::detail::save_non_pointer_type<Archive, T>::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:506: instantiated from âvoid boost::archive::save(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/mpi/detail/ignore_skeleton_oarchive.hpp:46: instantiated from âvoid boost::mpi::detail::ignore_skeleton_oarchive<Archive>::save_override(const T&, int) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Archive = boost::mpi::detail::content_oarchive]â /boost/include/boost-1_37/boost/archive/detail/interface_oarchive.hpp:64: instantiated from âArchive& boost::archive::detail::interface_oarchive<Archive>::operator<<(T&) [with T = const std::basic_string<char, std::char_traits<char>, std::allocator<char> , Archive = boost::mpi::detail::content_oarchive]â /boost/include/boost-1_37/boost/serialization/nvp.hpp:78: instantiated from âvoid boost::serialization::nvp<T>::save(Archivex&, unsigned int) const [with Archivex = boost::mpi::detail::content_oarchive, T = const std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/serialization/access.hpp:93: instantiated from âstatic void boost::serialization::access::member_save(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = const boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/split_member.hpp:43: instantiated from âstatic void boost::serialization::detail::member_saver<Archive, T>::invoke(Archive&, const T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/split_member.hpp:69: instantiated from âvoid boost::serialization::split_member(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/nvp.hpp:88: instantiated from âvoid boost::serialization::nvp<T>::serialize(Archive&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = const std::basic_string<char, std::char_traits<char>, std::allocator<char> >]â /boost/include/boost-1_37/boost/serialization/access.hpp:109: instantiated from âstatic void boost::serialization::access::serialize(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/serialization.hpp:74: instantiated from âvoid boost::serialization::serialize(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/serialization.hpp:133: instantiated from âvoid boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:220: instantiated from âstatic void boost::archive::detail::save_non_pointer_type<Archive, T>::save_only::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:294: instantiated from âstatic void boost::archive::detail::save_non_pointer_type<Archive, T>::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:506: instantiated from âvoid boost::archive::save(Archive&, const T&) [with Archive = boost::mpi::detail::content_oarchive, T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/mpi/detail/ignore_skeleton_oarchive.hpp:46: instantiated from âvoid boost::mpi::detail::ignore_skeleton_oarchive<Archive>::save_override(const T&, int) [with T = boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, Archive = boost::mpi::detail::content_oarchive]â /boost/include/boost-1_37/boost/archive/detail/interface_oarchive.hpp:64: instantiated from âArchive& boost::archive::detail::interface_oarchive<Archive>::operator<<(T&) [with T = const boost::serialization::nvp<const std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, Archive = boost::mpi::detail::content_oarchive]â /boost/include/boost-1_37/boost/serialization/collections_save_imp.hpp:60: instantiated from âvoid boost::serialization::stl::save_collection(Archive&, const Container&) [with Archive = boost::mpi::detail::content_oarchive, Container = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]â /boost/include/boost-1_37/boost/serialization/vector.hpp:53: instantiated from âvoid boost::serialization::save(Archive&, const std::vector<U, Allocator>&, unsigned int, mpl_::false_) [with Archive = boost::mpi::detail::content_oarchive, U = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Allocator = std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/vector.hpp:119: instantiated from âvoid boost::serialization::save(Archive&, const std::vector<U, Allocator>&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, U = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Allocator = std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/split_free.hpp:45: instantiated from âstatic void boost::serialization::free_saver<Archive, T>::invoke(Archive&, const T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]â /boost/include/boost-1_37/boost/serialization/split_free.hpp:74: instantiated from âvoid boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]â /boost/include/boost-1_37/boost/serialization/vector.hpp:139: instantiated from âvoid boost::serialization::serialize(Archive&, std::vector<U, Allocator>&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, U = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Allocator = std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]â /boost/include/boost-1_37/boost/serialization/serialization.hpp:133: instantiated from âvoid boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::content_oarchive, T = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]â /boost/include/boost-1_37/boost/archive/detail/oserializer.hpp:144: instantiated from âvoid boost::archive::detail::oserializer<Archive, T>::save_object_data(boost::archive::detail::basic_oarchive&, const void*) const [with Archive = boost::mpi::detail::content_oarchive, T = std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]â deneme.cpp:34: instantiated from here /boost/include/boost-1_37/boost/mpi/detail/mpi_datatype_oarchive.hpp:36: error: no matching function for call to âassertion_failed(mpl_::failed************ boost::mpi::is_mpi_datatype<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::************)â
Separating structure from content