public class Datatype {
// Derived datatypes
public static Datatype Contiguous(int count, Datatype oldtype) {...}
public static Datatype Vector(int count, int blocklength, int stride,
Datatype oldtype) {...}
public static Datatype Hvector(int count, int blocklength, int stride,
Datatype oldtype) {...}
public static Datatype Indexed(int [] array_of_blocklengths,
int [] array_of_displacements,
Datatype oldtype) {...}
public static Datatype Hindexed(int [] array_of_blocklengths,
int [] array_of_displacements,
Datatype oldtype) {...}
public static Datatype Struct(int [] array_of_blocklengths,
int [] array_of_displacements,
Datatype [] array_of_types) {...}
public int Extent() {...}
public int Size() {...}
public int Lb() {...}
public int Ub() {...}
public void Commit() {...}
public void finalize() {...}
...
}