#include <array>
#include <functional>
#include <string>
+#include <complex>
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_datatype, smpi, "Logging specific to SMPI (datatype)");
CREATE_MPI_DATATYPE(INTEGER16, 49, integer128_t)
CREATE_MPI_DATATYPE(LONG_DOUBLE_INT, 50, long_double_int)
-
-CREATE_MPI_DATATYPE_NULL(UB, 51)
-CREATE_MPI_DATATYPE_NULL(LB, 52)
-CREATE_MPI_DATATYPE(PACKED, 53, char)
+CREATE_MPI_DATATYPE(CXX_BOOL, 51, bool)
+CREATE_MPI_DATATYPE(CXX_FLOAT_COMPLEX, 52, std::complex<float>)
+CREATE_MPI_DATATYPE(CXX_DOUBLE_COMPLEX, 53, std::complex<double>)
+CREATE_MPI_DATATYPE(CXX_LONG_DOUBLE_COMPLEX, 54, std::complex<long double>)
+
+CREATE_MPI_DATATYPE_NULL(UB, 55)
+CREATE_MPI_DATATYPE_NULL(LB, 56)
+CREATE_MPI_DATATYPE(PACKED, 57, char)
// Internal use only
-CREATE_MPI_DATATYPE(PTR, 54, void*)
-CREATE_MPI_DATATYPE(COUNT, 55, long long)
+CREATE_MPI_DATATYPE(PTR, 58, void*)
+CREATE_MPI_DATATYPE(COUNT, 59, long long)
MPI_Datatype MPI_PTR = &smpi_MPI_PTR;