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