Re: [Boost-bugs] [Boost C++ Libraries] #4214: Use collection_size_type/version_type consistently (fixes Boost.MPI)

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4214: Use collection_size_type/version_type consistently (fixes Boost.MPI)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-07-13 18:21:57


#4214: Use collection_size_type/version_type consistently (fixes Boost.MPI)
--------------------------------------+-------------------------------------
  Reporter: dgregor | Owner: ramey
      Type: Patches | Status: reopened
 Milestone: Boost 1.44.0 | Component: serialization
   Version: Boost Development Trunk | Severity: Problem
Resolution: | Keywords:
--------------------------------------+-------------------------------------

Comment (by ramey):

 Doug,

 I'm still struggling with this. Not so much with the MPI aspect but with
 maintaining backward compatibility.

 I had looked at your patch. I didn't (and still don't) understand the
 "skeleton" concept but
 I had concluded (maybe incorrectly) that the problem was that somewhere in
 MPI there was a dependency upon the size of version_type. And of course
 the existence of 3 different version types didn't help any. So it seemed
 the correct fix was just to make the version_type consistent at one byte
 wide.

 I made changes to implement this, and still some changes had to be made in
 MPI and all tests pass. BUT it's still not right for loading old
 archives.

 So my question is: suppose version_type and item_version_type are made
 larger than 1 char. Archives already now need specialized code to handle
 these particular types. But even though
 I might save/load only one byte for current archives, I need to retrieve a
 larger type older archives. So I would like to make the types larger than
 one byte, even though the current version only saves/loads 1 byte.

 Would this break MPI again?

 Any insight you can give me would be appreciated.

 Robert Ramey

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4214#comment:7>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:03 UTC