Boost logo

Boost Users :

Subject: Re: [Boost-users] [Boost.Uuid] Passing UUIDs with MPI
From: Matthias Troyer (troyer_at_[hidden])
Date: 2010-07-05 23:23:27

On 5 Jul 2010, at 19:08, Andy Tompkins wrote:

> Hi Didier,
> On Thu, 10 Jun 2010 22:53 +0200, "Didier Devaurs"
> <ddevaurs_at_[hidden]> wrote:
>> Hello,
>> I'm having troubles trying to pass a uuid with MPI routines.
>> Since a uuid is serialized as a primitive type, I was expecting it could
>> be declared as an MPI datatype using:
>> BOOST_IS_MPI_DATATYPE(boost::uuids::uuid)
>> and sent via MPI routines.
> This makes sense to me from reading the docs:

You have to be very careful when declaring a type as primitive. Declaring a type as a primitive type means that EVERY archive that you want to use the type with has to provide special support for your type. I would strongly discourage you from doing so.

BOOST_IS_MPI_DATATYPE(boost::uuids::uuid) can certainly be used, but this implies that either the type is serializable and you provide a serialize function, or you provide special support for the type by manually overloading the get_mpi_datatype function. The recommended course of action is providing a serialize function.


Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at