std::vector<__VA_ARGS__> MPIDataCommunicator::Scatter( \
const std::vector<__VA_ARGS__>& rSendValues, const int SourceRank) const { \
return ScatterDetail(rSendValues, SourceRank); \
} \
void MPIDataCommunicator::Scatter( \
const std::vector<__VA_ARGS__>& rSendValues, std::vector<__VA_ARGS__>& rRecvValues, \
const int SourceRank) const { \
ScatterDetail(rSendValues,rRecvValues,SourceRank); \
} \
std::vector<__VA_ARGS__> MPIDataCommunicator::Scatterv( \
const std::vector<std::vector<__VA_ARGS__>>& rSendValues, const int SourceRank) const { \
return ScattervDetail(rSendValues, SourceRank); \
} \
void MPIDataCommunicator::Scatterv( \
const std::vector<__VA_ARGS__>& rSendValues, const std::vector<int>& rSendCounts, \
const std::vector<int>& rSendOffsets, std::vector<__VA_ARGS__>& rRecvValues, \
const int SourceRank) const { \
ScattervDetail(rSendValues,rSendCounts,rSendOffsets,rRecvValues,SourceRank); \
} \