Sorry for the delay. Here are all the C/C++ predefined types that I
could find in the MPI standard. Let me know if this is what you want
or not.
The patch file is the 'hg export' corresponding to the plain text below.
Best,
Jeff
template<>
MpiMap<_Bool>::MpiMap() : type(MPI_C_BOOL) { }
template<>
MpiMap<bool>::MpiMap() : type(MPI_CXX_BOOL) { }
template<>
MpiMap<byte>::MpiMap() : type(MPI_BYTE) { }
template<>
MpiMap<char>::MpiMap() : type(MPI_CHAR) { }
template<>
MpiMap<wchar_t>::MpiMap() : type(MPI_WCHAR) { }
template<>
MpiMap<signed char>::MpiMap() : type(MPI_SIGNED_CHAR) { }
template<>
MpiMap<unsigned char>::MpiMap() : type(MPI_UNSIGNED_CHAR) { }
template<>
MpiMap<short>::MpiMap() : type(MPI_SHORT) { }
template<>
MpiMap<short int>::MpiMap() : type(MPI_SHORT) { }
template<>
MpiMap<signed short>::MpiMap() : type(MPI_SHORT) { }
template<>
MpiMap<signed short int>::MpiMap() : type(MPI_SHORT) { }
template<>
MpiMap<unsigned short>::MpiMap() : type(MPI_UNSIGNED_SHORT) { }
template<>
MpiMap<unsigned short int>::MpiMap() : type(MPI_UNSINGED_SHORT) { }
template<>
MpiMap<int>::MpiMap() : type(MPI_INT) { }
template<>
MpiMap<signed int>::MpiMap() : type(MPI_INT) { }
template<>
MpiMap<unsigned>::MpiMap() : type(MPI_UNSIGNED) { }
template<>
MpiMap<unsigned int>::MpiMap() : type(MPI_UNSINGED) { }
template<>
MpiMap<long>::MpiMap() : type(MPI_LONG) { }
template<>
MpiMap<long int>::MpiMap() : type(MPI_LONG) { }
template<>
MpiMap<signed long>::MpiMap() : type(MPI_LONG) { }
template<>
MpiMap<signed long int>::MpiMap() : type(MPI_LONG) { }
template<>
MpiMap<unsigned long>::MpiMap() : type(MPI_UNSIGNED_LONG) { }
template<>
MpiMap<unsigned long int>::MpiMap() : type(MPI_UNSINGED_LONG) { }
template<>
MpiMap<long long>::MpiMap() : type(MPI_LONG_LONG) { }
template<>
MpiMap<long long int>::MpiMap() : type(MPI_LONG_LONG) { }
template<>
MpiMap<signed long long>::MpiMap() : type(MPI_LONG_LONG) { }
template<>
MpiMap<signed long long int>::MpiMap() : type(MPI_LONG_LONG) { }
template<>
MpiMap<unsigned long long>::MpiMap() : type(MPI_UNSIGNED_LONG_LONG) { }
template<>
MpiMap<unsigned long long int>::MpiMap() : type(MPI_UNSINGED_LONG_LONG) { }
template<>
MpiMap<float>::MpiMap() : type(MPI_FLOAT) { }
template<>
MpiMap<double>::MpiMap() : type(MPI_DOUBLE) { }
template<>
MpiMap<long double>::MpiMap() : type(MPI_LONG_DOUBLE) { }
template<>
MpiMap<Complex<float>>::MpiMap() : type(MPI_COMPLE) { }
template<>
MpiMap<Complex<double>>::MpiMap() : type(MPI_DOUBLE_COMPLEX) { }
template<>
MpiMap<Complex<long double>>::MpiMap() : type(MPI_LONG_DOUBLE_COMPLEX) { }
template<>
MpiMap<std::complex<float>>::MpiMap() : type(MPI_CXX_FLOAT_COMPLE) { }
template<>
MpiMap<std::complex<double>>::MpiMap() : type(MPI_CXX_DOUBLE_COMPLEX) { }
template<>
MpiMap<std::complex<long double>>::MpiMap() :
type(MPI_CXX_LONG_DOUBLE_COMPLEX) { }
template<>
MpiMap<ValueInt<short>>::MpiMap() : type(MPI_SHORT_INT) { }
template<>
MpiMap<ValueInt<short int>>::MpiMap() : type(MPI_SHORT_INT) { }
template<>
MpiMap<ValueInt<signed short>>::MpiMap() : type(MPI_SHORT_INT) { }
template<>
MpiMap<ValueInt<signed short int>>::MpiMap() : type(MPI_SHORT_INT) { }
template<>
MpiMap<ValueInt<int>>::MpiMap() : type(MPI_2INT) { }
template<>
MpiMap<ValueInt<singed int>>::MpiMap() : type(MPI_2INT) { }
template<>
MpiMap<ValueInt<long>>::MpiMap() : type(MPI_LONG_INT) { }
template<>
MpiMap<ValueInt<long int>>::MpiMap() : type(MPI_LONG_INT) { }
template<>
MpiMap<ValueInt<signed long>>::MpiMap() : type(MPI_LONG_INT) { }
template<>
MpiMap<ValueInt<signed long int>>::MpiMap() : type(MPI_LONG_INT) { }
template<>
MpiMap<ValueInt<FLOAT>>::MpiMap() : type(MPI_FLOAT_INT) { }
template<>
MpiMap<ValueInt<DOUBLE>>::MpiMap() : type(MPI_DOUBLE_INT) { }
template<>
MpiMap<ValueInt<LONG_DOUBLE>>::MpiMap() : type(MPI_LONG_DOUBLE_INT) { }
template<>
MpiMap<int8_t>::MpiMap() : type(MPI_INT8_T) { }
template<>
MpiMap<int16_t>::MpiMap() : type(MPI_INT16_T) { }
template<>
MpiMap<int32_t>::MpiMap() : type(MPI_INT32_T) { }
template<>
MpiMap<int64_t>::MpiMap() : type(MPI_INT64_T) { }
template<>
MpiMap<uint8_t>::MpiMap() : type(MPI_UINT8_T) { }
template<>
MpiMap<uint16_t>::MpiMap() : type(MPI_UINT16_T) { }
template<>
MpiMap<uint32_t>::MpiMap() : type(MPI_UINT32_T) { }
template<>
MpiMap<uint64_t>::MpiMap() : type(MPI_UINT64_T) { }
ALCF docs:
http://www.alcf.anl.gov/user-guides