[graph_parallel] property_serialize.hpp
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/pendin... #ifdef BOOST_GRAPH_USE_MPI namespace boost { namespace mpi { template<> struct is_mpi_datatypeboost::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?
On Sat, Oct 6, 2018 at 4:00 PM Peter Dimov via Boost
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
Rene Rivera wrote:
On Sat, Oct 6, 2018 at 4:00 PM Peter Dimov via Boost
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.
participants (2)
-
Peter Dimov
-
Rene Rivera