the original patch I've provided for xercesc-1730 was not pure virtual.
making it pure virtual doesn't fix anything, because the memory management
was not designed for scoping aka local memory management and there are
exactly _zero_
local memory management implementations out there that are using an
unmodified version of xercesc.
i agree with dave and still prefer the backward compability from an user's
point of view,
because using local memory managers without special patching was definitly
not possible.
that's why 100% of all custom memory managers out there are
exception-neutral and
don't care about local memory management at all.
so making it pure virtual only breaks existing code like special-purpose
memory managers for unserialized or
low-fragmentation win32-heaps or other special non-process heap
implementations.
regards
tobias
----- Original Message -----
From: "Boris Kolpackov" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Friday, March 28, 2008 4:33 PM
Subject: Re: Recent change to MemoryManager.hpp
Hi David,
David Bertoni <[EMAIL PROTECTED]> writes:
I doubt there are many MemoryManager implementations out there period,
much
less users who are going to be hit by this bug. And they can find it
just
by testing properly.
We are debating two options:
1. We should keep the API unchanged in order not to inconvenience a small
number of users.
2. We should change the API in order to help a small number of users
fix a bug.
For me when choosing between a mere inconvenience and a bug fix, the
answer is quite obvious. I am also pretty sure you would make this
function pure virtual if you were designing the interface from
scratch. So let's just do the right thing here.
I've added additional information to the getExceptionMemoryManager
documentation.
Boris
--
Boris Kolpackov, Code Synthesis Tools
Open source XML data binding for C++:
http://codesynthesis.com/products/xsd
Mobile/embedded validating XML parsing:
http://codesynthesis.com/products/xsde
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]