In the course of making BoundaryInfo::sync() compatible with ParallelMesh, I found myself wishing that Parallel::set_union() worked on std::map<std::pair<T1,T2>,T3>.
So I made that happen. This involved replacing the Parallel::data_type<T>() template function with a Parallel::StandardType<T> template class, but mostly data_type() got used behind the scenes anyway, and it's an easy change to make in user code if you are using it. More flexible templated autogenerated MPI types also make nearly all the Parallel::stuff_with(std::complex<T>) specializations redundant, so I got rid of those. The libMesh examples still work with --enable-complex, but scream at me if I've broken anything more... complex. Finally, I tested out manual generation of MPI types with the libHilbert interface. Restarts still work on all the tests I ran, but be paranoid with your own code. TL;DR: big low-level changes in r4506, so test your apps after you upgrade. --- Roy ------------------------------------------------------------------------------ What Every C/C++ and Fortran developer Should Know! Read this article and learn how Intel has extended the reach of its next-generation tools to help Windows* and Linux* C/C++ and Fortran developers boost performance applications - including clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel