48 template <
class T,
class CombineOp>
64 label belowID = myComm.
below()[belowI];
73 reinterpret_cast<char*>(&value),
79 Pout<<
" received from "
80 << belowID <<
" data:" << value <<
endl;
92 Pout<<
" received from "
93 << belowID <<
" data:" << value <<
endl;
101 if (myComm.
above() != -1)
106 <<
" data:" << Value <<
endl;
115 reinterpret_cast<const char*
>(&Value),
129 template <
class T,
class CombineOp>
152 if (myComm.
above() != -1)
160 reinterpret_cast<char*
>(&Value),
167 Value =
T(fromAbove);
172 Pout<<
" received from "
173 << myComm.
above() <<
" data:" << Value <<
endl;
180 label belowID = myComm.
below()[belowI];
184 Pout<<
" sending to " << belowID <<
" data:" << Value <<
endl;
193 reinterpret_cast<const char*>(&Value),
225 template <
class T,
class CombineOp>
241 label belowID = myComm.
below()[belowI];
251 reinterpret_cast<char*>(receivedValues.begin()),
252 receivedValues.byteSize()
257 Pout<<
" received from "
258 << belowID <<
" data:" << receivedValues <<
endl;
263 cop(Values[i], receivedValues[i]);
269 List<T> receivedValues(fromBelow);
273 Pout<<
" received from "
274 << belowID <<
" data:" << receivedValues <<
endl;
279 cop(Values[i], receivedValues[i]);
285 if (myComm.
above() != -1)
290 <<
" data:" << Values <<
endl;
299 reinterpret_cast<const char*
>(Values.
begin()),
313 template <
class T,
class CombineOp>
340 if (myComm.
above() != -1)
348 reinterpret_cast<char*
>(Values.
begin()),
360 Pout<<
" received from "
361 << myComm.
above() <<
" data:" << Values <<
endl;
368 label belowID = myComm.
below()[belowI];
372 Pout<<
" sending to " << belowID <<
" data:" << Values <<
endl;
381 reinterpret_cast<const char*>(Values.
begin()),
415 template <
class Container,
class CombineOp>
431 label belowID = myComm.
below()[belowI];
434 Container receivedValues(fromBelow);
438 Pout<<
" received from "
439 << belowID <<
" data:" << receivedValues <<
endl;
444 typename Container::const_iterator slaveIter =
445 receivedValues.begin();
446 slaveIter != receivedValues.end();
450 typename Container::iterator
451 masterIter = Values.find(slaveIter.key());
453 if (masterIter != Values.end())
455 cop(masterIter(), slaveIter());
459 Values.insert(slaveIter.key(), slaveIter());
465 if (myComm.
above() != -1)
470 <<
" data:" << Values <<
endl;
480 template <
class Container,
class CombineOp>
494 template <
class Container>
507 if (myComm.
above() != -1)
514 Pout<<
" received from "
515 << myComm.
above() <<
" data:" << Values <<
endl;
522 label belowID = myComm.
below()[belowI];
526 Pout<<
" sending to " << belowID <<
" data:" << Values <<
endl;
536 template <
class Container>