Re: [Boost-bugs] [Boost C++ Libraries] #11520: pointer_iserializer requires operator delete(void*, size_t) for classes that have a specific operator new

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #11520: pointer_iserializer requires operator delete(void*, size_t) for classes that have a specific operator new
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-10-05 16:20:14


#11520: pointer_iserializer requires operator delete(void*, size_t) for classes
that have a specific operator new
----------------------------------------------+---------------------------
  Reporter: Fabian Kislat <fabian.kislat@…> | Owner: ramey
      Type: Bugs | Status: reopened
 Milestone: To Be Determined | Component: serialization
   Version: Boost 1.56.0 | Severity: Problem
Resolution: | Keywords:
----------------------------------------------+---------------------------

Comment (by ramey):

 "I don't know how to test which of the two operators exists, but it seems
 safer to me to use the one-argument version. My existing code stopped
 working after upgrading boost, and I do not have access to the class being
 serialized. I am using an external non-intrusive serialization function."

 OK - I "fixed" this in that it automatically select the one vs two
 argument version. However it fails to detect and case where the class has
 no member function operator delete. So it fixes your problem but leaves
 one case unfixed. I spend a fair amount of time on this and wasn't able
 to find a clean way of doing this. I'm sure some smart guy can do it but
 for now I'm going to declare victory and close this ticket.

 I also updated the test in order to verify this.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11520#comment:4>
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:19 UTC