211/5: should be "when used in communication and I/O"
211/7-8: This sentence is not clear. It even appears to contradict the
previous one which says "this affects the behavior of the datatype
when used in the construction of new derived datatypes."
I find all of lines 7-12 confusing.
I understand that MPI_Type_resize sets a new lb and a new ub.
I don't understand what sticky or nonsticky means.
In MPI-1.1, when datatypes (with their own lbs and ubs) are passed to
datatype constructor functions, the result is well defined.
For example, MPI-1.1 pg 71, ln. 19-21, says "An entry of type ub can
be deleted if there is another entry of type ub with higher
displacement; and entry of type lb can be deleted if there is another
entry of type lb with a lower displacement."
Doesn't this rule automatically apply when a "resized" datatype is
passed to datatype constructor functions? Or is it different for
resized dataypes?
An example, in terms of typemaps, which shows exactly what
MPI_Type_resize does and doesn't do, would be very helpful here.
Lastly, with reference to the advice to users (211/14-16),
what is the difference between using this function and using
MPI_Type_struct to set lb and ub? I guess it has something to do with
"sticky."
Rajeev