9 minutes
Highlights aus der Boost Graph Library
Template Programming to the Extreme… Manchmal macht es echt eine Freude den Quellcode der BGL (Boost Graph Library) zu lesen. Hier ein paar Highlights:
typename T::ThereReallyIsNoMemberByThisNameInT vertices(T const&);
// The graph is passed by *const* reference so that graph adaptors
// (temporaries) can be passed into this function. However, the
// graph is not really const since we may write to property maps
// of the graph.
Spaßig sind aber auch die Compiler-Fehlermeldungen:
make all Scanning dependencies of target imnbase [ 7%] Building CXX object src/CMakeFiles/imnbase.dir/algorithms/DefaultAlgorithmFactory.cpp.o [ 14%] Building CXX object src/CMakeFiles/imnbase.dir/algorithms/parallelScan/ParallelScan.cpp.o /usr/local/include/boost/mpi/datatype.hpp: In function »ompi_datatype_t\* boost::mpi::get_mpi_datatype(const T&) [with T = std::basic_string, std::allocator >]«: /usr/local/include/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, std::allocator >]« /usr/local/include/boost/archive/detail/oserializer.hpp:95: instantiated from »static void boost::archive::save_access::save_primitive(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::basic_string, std::allocator >]« /usr/local/include/boost/archive/detail/oserializer.hpp:212: instantiated from »static void boost::archive::detail::save_non_pointer_type::save_primitive::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::basic_string, std::allocator >]« /usr/local/include/boost/archive/detail/oserializer.hpp:294: instantiated from »static void boost::archive::detail::save_non_pointer_type::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::basic_string, std::allocator >]« /usr/local/include/boost/archive/detail/oserializer.hpp:506: instantiated from »void boost::archive::save(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::basic_string, std::allocator >]« /usr/local/include/boost/mpi/detail/ignore_skeleton_oarchive.hpp:46: instantiated from »void boost::mpi::detail::ignore_skeleton_oarchive::save_override(const T&, int) [with T = std::basic_string, std::allocator >, Archive = boost::mpi::detail::mpi_datatype_oarchive]« /usr/local/include/boost/archive/detail/interface_oarchive.hpp:64: instantiated from »Archive& boost::archive::detail::interface_oarchive::operator<<(T&) [with T = const std::basic_string, std::allocator >, Archive = boost::mpi::detail::mpi_datatype_oarchive]« /usr/local/include/boost/serialization/nvp.hpp:78: instantiated from »void boost::serialization::nvp::save(Archivex&, unsigned int) const [with Archivex = boost::mpi::detail::mpi_datatype_oarchive, T = const std::basic_string, std::allocator >]« /usr/local/include/boost/serialization/access.hpp:93: instantiated from »static void boost::serialization::access::member_save(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = const boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/serialization/split_member.hpp:43: instantiated from »static void boost::serialization::detail::member_saver::invoke(Archive&, const T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/serialization/split_member.hpp:69: instantiated from »void boost::serialization::split_member(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/serialization/nvp.hpp:88: instantiated from »void boost::serialization::nvp::serialize(Archive&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = const std::basic_string, std::allocator >]« /usr/local/include/boost/serialization/access.hpp:109: instantiated from »static void boost::serialization::access::serialize(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/serialization/serialization.hpp:74: instantiated from »void boost::serialization::serialize(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/serialization/serialization.hpp:133: instantiated from »void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/archive/detail/oserializer.hpp:220: instantiated from »static void boost::archive::detail::save_non_pointer_type::save_only::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/archive/detail/oserializer.hpp:294: instantiated from »static void boost::archive::detail::save_non_pointer_type::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/archive/detail/oserializer.hpp:506: instantiated from »void boost::archive::save(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/mpi/detail/ignore_skeleton_oarchive.hpp:46: instantiated from »void boost::mpi::detail::ignore_skeleton_oarchive::save_override(const T&, int) [with T = boost::serialization::nvp, std::allocator > >, Archive = boost::mpi::detail::mpi_datatype_oarchive]« /usr/local/include/boost/archive/detail/interface_oarchive.hpp:64: instantiated from »Archive& boost::archive::detail::interface_oarchive::operator<<(T&) [with T = const boost::serialization::nvp, std::allocator > >, Archive = boost::mpi::detail::mpi_datatype_oarchive]« /usr/local/include/boost/serialization/collections_save_imp.hpp:60: instantiated from »void boost::serialization::stl::save_collection(Archive&, const Container&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, Container = std::vector, std::allocator >, std::allocator, std::allocator > > >]« /usr/local/include/boost/serialization/vector.hpp:53: instantiated from »void boost::serialization::save(Archive&, const std::vector&, unsigned int, mpl_::false_) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, U = std::basic_string, std::allocator >, Allocator = std::allocator, std::allocator > >]« /usr/local/include/boost/serialization/vector.hpp:123: instantiated from »void boost::serialization::save(Archive&, const std::vector&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, U = std::basic_string, std::allocator >, Allocator = std::allocator, std::allocator > >]« /usr/local/include/boost/serialization/split_free.hpp:45: instantiated from »static void boost::serialization::free_saver::invoke(Archive&, const T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::vector, std::allocator >, std::allocator, std::allocator > > >]« /usr/local/include/boost/serialization/split_free.hpp:74: instantiated from »void boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::vector, std::allocator >, std::allocator, std::allocator > > >]« /usr/local/include/boost/serialization/vector.hpp:147: instantiated from »void boost::serialization::serialize(Archive&, std::vector&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, U = std::basic_string, std::allocator >, Allocator = std::allocator, std::allocator > >]« /usr/local/include/boost/serialization/serialization.hpp:133: instantiated from »void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::vector, std::allocator >, std::allocator, std::allocator > > >]« /usr/local/include/boost/archive/detail/oserializer.hpp:144: instantiated from »void boost::archive::detail::oserializer::save_object_data(boost::archive::detail::basic_oarchive&, const void*) const [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::vector, std::allocator >, std::allocator, std::allocator > > >]« /home/languitar/workspace/iMN/src/algorithms/parallelScan/ParallelScan.cpp:128: instantiated from here /usr/local/include/boost/mpi/datatype.hpp:184: Fehler: keine passende Funktion für Aufruf von »assertion_failed(mpl_::failed*\*\*\*\*\*\*\*\*\*\*\* boost::mpi::is_mpi_datatype, std::allocator > >::\*\*\*\*\*\*\*\*\*\*\*\*)« /usr/local/include/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, void>::type*) [with T = std::basic_string, std::allocator >]«: /usr/local/include/boost/mpi/datatype.hpp:185: instantiated from »ompi_datatype_t* boost::mpi::get_mpi_datatype(const T&) [with T = std::basic_string, std::allocator >]« /usr/local/include/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, std::allocator >]« /usr/local/include/boost/archive/detail/oserializer.hpp:95: instantiated from »static void boost::archive::save_access::save_primitive(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::basic_string, std::allocator >]« /usr/local/include/boost/archive/detail/oserializer.hpp:212: instantiated from »static void boost::archive::detail::save_non_pointer_type::save_primitive::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::basic_string, std::allocator >]« /usr/local/include/boost/archive/detail/oserializer.hpp:294: instantiated from »static void boost::archive::detail::save_non_pointer_type::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::basic_string, std::allocator >]« /usr/local/include/boost/archive/detail/oserializer.hpp:506: instantiated from »void boost::archive::save(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::basic_string, std::allocator >]« /usr/local/include/boost/mpi/detail/ignore_skeleton_oarchive.hpp:46: instantiated from »void boost::mpi::detail::ignore_skeleton_oarchive::save_override(const T&, int) [with T = std::basic_string, std::allocator >, Archive = boost::mpi::detail::mpi_datatype_oarchive]« /usr/local/include/boost/archive/detail/interface_oarchive.hpp:64: instantiated from »Archive& boost::archive::detail::interface_oarchive::operator<<(T&) [with T = const std::basic_string, std::allocator >, Archive = boost::mpi::detail::mpi_datatype_oarchive]« /usr/local/include/boost/serialization/nvp.hpp:78: instantiated from »void boost::serialization::nvp::save(Archivex&, unsigned int) const [with Archivex = boost::mpi::detail::mpi_datatype_oarchive, T = const std::basic_string, std::allocator >]« /usr/local/include/boost/serialization/access.hpp:93: instantiated from »static void boost::serialization::access::member_save(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = const boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/serialization/split_member.hpp:43: instantiated from »static void boost::serialization::detail::member_saver::invoke(Archive&, const T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/serialization/split_member.hpp:69: instantiated from »void boost::serialization::split_member(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/serialization/nvp.hpp:88: instantiated from »void boost::serialization::nvp::serialize(Archive&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = const std::basic_string, std::allocator >]« /usr/local/include/boost/serialization/access.hpp:109: instantiated from »static void boost::serialization::access::serialize(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/serialization/serialization.hpp:74: instantiated from »void boost::serialization::serialize(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/serialization/serialization.hpp:133: instantiated from »void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/archive/detail/oserializer.hpp:220: instantiated from »static void boost::archive::detail::save_non_pointer_type::save_only::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/archive/detail/oserializer.hpp:294: instantiated from »static void boost::archive::detail::save_non_pointer_type::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/archive/detail/oserializer.hpp:506: instantiated from »void boost::archive::save(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/mpi/detail/ignore_skeleton_oarchive.hpp:46: instantiated from »void boost::mpi::detail::ignore_skeleton_oarchive::save_override(const T&, int) [with T = boost::serialization::nvp, std::allocator > >, Archive = boost::mpi::detail::mpi_datatype_oarchive]« /usr/local/include/boost/archive/detail/interface_oarchive.hpp:64: instantiated from »Archive& boost::archive::detail::interface_oarchive::operator<<(T&) [with T = const boost::serialization::nvp, std::allocator > >, Archive = boost::mpi::detail::mpi_datatype_oarchive]« /usr/local/include/boost/serialization/collections_save_imp.hpp:60: instantiated from »void boost::serialization::stl::save_collection(Archive&, const Container&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, Container = std::vector, std::allocator >, std::allocator, std::allocator > > >]« /usr/local/include/boost/serialization/vector.hpp:53: instantiated from »void boost::serialization::save(Archive&, const std::vector&, unsigned int, mpl_::false_) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, U = std::basic_string, std::allocator >, Allocator = std::allocator, std::allocator > >]« /usr/local/include/boost/serialization/vector.hpp:123: instantiated from »void boost::serialization::save(Archive&, const std::vector&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, U = std::basic_string, std::allocator >, Allocator = std::allocator, std::allocator > >]« /usr/local/include/boost/serialization/split_free.hpp:45: instantiated from »static void boost::serialization::free_saver::invoke(Archive&, const T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::vector, std::allocator >, std::allocator, std::allocator > > >]« /usr/local/include/boost/serialization/split_free.hpp:74: instantiated from »void boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::vector, std::allocator >, std::allocator, std::allocator > > >]« /usr/local/include/boost/serialization/vector.hpp:147: instantiated from »void boost::serialization::serialize(Archive&, std::vector&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, U = std::basic_string, std::allocator >, Allocator = std::allocator, std::allocator > >]« /usr/local/include/boost/serialization/serialization.hpp:133: instantiated from »void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::vector, std::allocator >, std::allocator, std::allocator > > >]« /usr/local/include/boost/archive/detail/oserializer.hpp:144: instantiated from »void boost::archive::detail::oserializer::save_object_data(boost::archive::detail::basic_oarchive&, const void*) const [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::vector, std::allocator >, std::allocator, std::allocator > > >]« /home/languitar/workspace/iMN/src/algorithms/parallelScan/ParallelScan.cpp:128: instantiated from here /usr/local/include/boost/mpi/detail/mpi_datatype_cache.hpp:68: Fehler: keine passende Funktion für Aufruf von »assertion_failed(mpl_::failed*\*\*\*\*\*\*\*\*\*\*\* boost::mpi::is_mpi_datatype, std::allocator > >::\*\*\*\*\*\*\*\*\*\*\*\*)« /usr/local/include/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, std::allocator >]«: /usr/local/include/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, void>::type*) [with T = std::basic_string, std::allocator >]« /usr/local/include/boost/mpi/datatype.hpp:185: instantiated from »ompi_datatype_t* boost::mpi::get_mpi_datatype(const T&) [with T = std::basic_string, std::allocator >]« /usr/local/include/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, std::allocator >]« /usr/local/include/boost/archive/detail/oserializer.hpp:95: instantiated from »static void boost::archive::save_access::save_primitive(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::basic_string, std::allocator >]« /usr/local/include/boost/archive/detail/oserializer.hpp:212: instantiated from »static void boost::archive::detail::save_non_pointer_type::save_primitive::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::basic_string, std::allocator >]« /usr/local/include/boost/archive/detail/oserializer.hpp:294: instantiated from »static void boost::archive::detail::save_non_pointer_type::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::basic_string, std::allocator >]« /usr/local/include/boost/archive/detail/oserializer.hpp:506: instantiated from »void boost::archive::save(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::basic_string, std::allocator >]« /usr/local/include/boost/mpi/detail/ignore_skeleton_oarchive.hpp:46: instantiated from »void boost::mpi::detail::ignore_skeleton_oarchive::save_override(const T&, int) [with T = std::basic_string, std::allocator >, Archive = boost::mpi::detail::mpi_datatype_oarchive]« /usr/local/include/boost/archive/detail/interface_oarchive.hpp:64: instantiated from »Archive& boost::archive::detail::interface_oarchive::operator<<(T&) [with T = const std::basic_string, std::allocator >, Archive = boost::mpi::detail::mpi_datatype_oarchive]« /usr/local/include/boost/serialization/nvp.hpp:78: instantiated from »void boost::serialization::nvp::save(Archivex&, unsigned int) const [with Archivex = boost::mpi::detail::mpi_datatype_oarchive, T = const std::basic_string, std::allocator >]« /usr/local/include/boost/serialization/access.hpp:93: instantiated from »static void boost::serialization::access::member_save(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = const boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/serialization/split_member.hpp:43: instantiated from »static void boost::serialization::detail::member_saver::invoke(Archive&, const T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/serialization/split_member.hpp:69: instantiated from »void boost::serialization::split_member(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/serialization/nvp.hpp:88: instantiated from »void boost::serialization::nvp::serialize(Archive&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = const std::basic_string, std::allocator >]« /usr/local/include/boost/serialization/access.hpp:109: instantiated from »static void boost::serialization::access::serialize(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/serialization/serialization.hpp:74: instantiated from »void boost::serialization::serialize(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/serialization/serialization.hpp:133: instantiated from »void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/archive/detail/oserializer.hpp:220: instantiated from »static void boost::archive::detail::save_non_pointer_type::save_only::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/archive/detail/oserializer.hpp:294: instantiated from »static void boost::archive::detail::save_non_pointer_type::invoke(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/archive/detail/oserializer.hpp:506: instantiated from »void boost::archive::save(Archive&, const T&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = boost::serialization::nvp, std::allocator > >]« /usr/local/include/boost/mpi/detail/ignore_skeleton_oarchive.hpp:46: instantiated from »void boost::mpi::detail::ignore_skeleton_oarchive::save_override(const T&, int) [with T = boost::serialization::nvp, std::allocator > >, Archive = boost::mpi::detail::mpi_datatype_oarchive]« /usr/local/include/boost/archive/detail/interface_oarchive.hpp:64: instantiated from »Archive& boost::archive::detail::interface_oarchive::operator<<(T&) [with T = const boost::serialization::nvp, std::allocator > >, Archive = boost::mpi::detail::mpi_datatype_oarchive]« /usr/local/include/boost/serialization/collections_save_imp.hpp:60: instantiated from »void boost::serialization::stl::save_collection(Archive&, const Container&) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, Container = std::vector, std::allocator >, std::allocator, std::allocator > > >]« /usr/local/include/boost/serialization/vector.hpp:53: instantiated from »void boost::serialization::save(Archive&, const std::vector&, unsigned int, mpl_::false_) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, U = std::basic_string, std::allocator >, Allocator = std::allocator, std::allocator > >]« /usr/local/include/boost/serialization/vector.hpp:123: instantiated from »void boost::serialization::save(Archive&, const std::vector&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, U = std::basic_string, std::allocator >, Allocator = std::allocator, std::allocator > >]« /usr/local/include/boost/serialization/split_free.hpp:45: instantiated from »static void boost::serialization::free_saver::invoke(Archive&, const T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::vector, std::allocator >, std::allocator, std::allocator > > >]« /usr/local/include/boost/serialization/split_free.hpp:74: instantiated from »void boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::vector, std::allocator >, std::allocator, std::allocator > > >]« /usr/local/include/boost/serialization/vector.hpp:147: instantiated from »void boost::serialization::serialize(Archive&, std::vector&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, U = std::basic_string, std::allocator >, Allocator = std::allocator, std::allocator > >]« /usr/local/include/boost/serialization/serialization.hpp:133: instantiated from »void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::vector, std::allocator >, std::allocator, std::allocator > > >]« /usr/local/include/boost/archive/detail/oserializer.hpp:144: instantiated from »void boost::archive::detail::oserializer::save_object_data(boost::archive::detail::basic_oarchive&, const void*) const [with Archive = boost::mpi::detail::mpi_datatype_oarchive, T = std::vector, std::allocator >, std::allocator, std::allocator > > >]« /home/languitar/workspace/iMN/src/algorithms/parallelScan/ParallelScan.cpp:128: instantiated from here /usr/local/include/boost/mpi/detail/mpi_datatype_oarchive.hpp:36: Fehler: keine passende Funktion für Aufruf von »assertion_failed(mpl_::failed*\*\*\*\*\*\*\*\*\*\*\* boost::mpi::is_mpi_datatype, std::allocator > >::\*\*\*\*\*\*\*\*\*\*\*\*)« make[2]: \*\*\* [src/CMakeFiles/imnbase.dir/algorithms/parallelScan/ParallelScan.cpp.o] Fehler 1 make[1]: \*\*\* [src/CMakeFiles/imnbase.dir/all] Fehler 2 make: \*\*\* [all] Fehler 2
Übersichtlich…