[graph_parallel] property_serialize.hpp

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[graph_parallel] property_serialize.hpp

Boost - Dev mailing list
I'm looking at boost/pending/property_serialize.hpp, with the intent of
moving it from Graph Parallel to Graph as it's included from a Graph header,
and I see this:

https://github.com/boostorg/graph_parallel/blob/develop/include/boost/pending/property_serialize.hpp#L65

#ifdef BOOST_GRAPH_USE_MPI
namespace boost { namespace mpi {
    template<>
    struct is_mpi_datatype<boost::no_property> : mpl::true_ { };

} } // end namespace boost::mpi

BOOST_IS_BITWISE_SERIALIZABLE(boost::no_property)
BOOST_CLASS_IMPLEMENTATION(boost::no_property,object_serializable)
BOOST_CLASS_TRACKING(boost::no_property,track_never)
#endif // BOOST_GRAPH_USE_MPI

What this does is, when BOOST_GRAPH_MPI is defined, it sets certain
serialization properties for boost::no_property (is bitwise serializable,
use object level versioning, never track address), but when BOOST_GRAPH_MPI
is not defined, it doesn't.

That is, the serialization format of boost::no_property changes on the basis
of whether BOOST_GRAPH_MPI is defined. (It's the same for boost::property<>,
above in the same file.)

This does not seem correct to me. I would expect these serialization
properties to be applied consistently regardless of whether MPI is used or
not.

But fixing this could conceivably break existing code that serializes and
deserializes non-parallel graphs and relies on a certain format on disk.

So... should we fix this or not?


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [graph_parallel] property_serialize.hpp

Boost - Dev mailing list
On Sat, Oct 6, 2018 at 4:00 PM Peter Dimov via Boost <[hidden email]>
wrote:

> I'm looking at boost/pending/property_serialize.hpp, with the intent of
>
[...]

> But fixing this could conceivably break existing code that serializes and
> deserializes non-parallel graphs and relies on a certain format on disk.
>
> So... should we fix this or not?
>

Since it's in "pending" I'd say there's no expectation of back
compatibility, and hence anything goes.

--
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [graph_parallel] property_serialize.hpp

Boost - Dev mailing list
Rene Rivera wrote:

> On Sat, Oct 6, 2018 at 4:00 PM Peter Dimov via Boost
> <[hidden email]> wrote:
>
> > I'm looking at boost/pending/property_serialize.hpp, with the intent of
> >
> [...]
>
> > But fixing this could conceivably break existing code that serializes
> > and deserializes non-parallel graphs and relies on a certain format on
> > disk.
> >
> > So... should we fix this or not?
>
> Since it's in "pending" I'd say there's no expectation of back
> compatibility, and hence anything goes.

This particular header is in pending/, but it's used when serializing a
boost::adjacency_list, which is not.


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost