
Hmmm - one could also use BOOST_STRONG_TYPEDEF to define types so that one would write: mpi::communicator c; std::string str("Hello, World!"); c.send(tag(0), rank(1), str); ... or tag t(0); rank r(1); c.send(t, r, str); Just and idea. Robert Ramey David Abrahams wrote:
"Dean Michael Berris" <mikhailberis@gmail.com> writes:
The above line doesn't say anything about what the first int is, and what the second int is -- and it's fairly easy to confuse which one is the rank and which one is the tag. A suggestion I would make is either to utilize Boost.Parameter to come up with something like:
mpi::communicator c; std::string str("Hello, World!"); c.send(tag=0, rank=1, value=str); c.send(rank=1, tag=0, value=str); c.send(value=str, rank=1, tag=0);
Great idea!
Or if that introduces too many issues regarding performance (I'm not sure)
I think our tests have demonstrated that Boost.Parameter has no measurable runtime performance impact, [or maybe even a positive one ;-)]