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…