"MapReduce-MPI WWW Site"_mws - "MapReduce-MPI Documentation"_md :c

:link(mws,http://www.cs.sandia.gov/~sjplimp/mapreduce.html)
:link(md,Manual.html)

:line

KeyValue add() method :h3

void KeyValue::add(char *key, int keybytes, char *value, int valuebytes)
void KeyValue::add(int n, char *keys, int keybytes, char *values, int valuebytes)
void KeyValue::add(int n, char *keys, int *keybytes, char *values, int *valuebytes) :pre

The methods are called by the mymap(), mycompress(), and myreduce()
functions in your program to register key/value pairs with the
KeyValue object stored by the MapReduce object whose map(),
compress(), or reduce() method was invoked.  The first version
registers a single key/value pair.  The second version registers N
key/value pairs, where the keys are all the same length and the values
are all the same length.  The third version registers a set of N
key/value pairs where the length of each key and of each value is
specified.

As explained "here"_program.html, from the perspective of the MR-MPI
library, keys and values are variable-length byte strings.  To
register such strings, you must specify their length in bytes.  This
is done via the keybytes and valuebytes arguments, either as a single
length or as a vectors of lengths.  Note that if your key or value is
a text string, it should typically include a trailing "0" to terminate
the string.

See the "Settings"_settings.html and "Technical
Details"_technical.html sections for details on the byte-alignment of
keys and values you register with these add methods.
