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

Reply via email to