if (outcount - *position < incount*static_cast<int>(size_))
return MPI_ERR_OTHER;
Datatype::copy(inbuf, incount, this, static_cast<char*>(outbuf) + *position, outcount, MPI_CHAR);
if (outcount - *position < incount*static_cast<int>(size_))
return MPI_ERR_OTHER;
Datatype::copy(inbuf, incount, this, static_cast<char*>(outbuf) + *position, outcount, MPI_CHAR);