How to send/recieve and broadcast objects of self-defined class and of std::vector? If using MPI_Type_struct, the setup becomes complicated if the class has various types of data members, and a data member
of another class.