In a way analogous to iostreams, manipulators are actions that can be pushed onto the buffer. In the case of MPIbuf, four manipulators are defined, send, isend and bcast, and mark that allows a message to be composed and sent on one line, eg:
MPIbuf() << i << j << send(p,tag); MPIbuf() << i << j << isend(p,tag); MPIbuf() << i << j << bcast(0);
mark is used for separating the data items to be scattered.