Boost logo

Boost :

From: Felipe Magno de Almeida (felipe.m.almeida_at_[hidden])
Date: 2006-01-14 23:12:28


Hello!

I'm having an assertion failure when working with xml_oarchive.
The problem is that in xdebug library header, _NEW_CRT is defined as
another operator new. All standard facets are created using _NEW_CRT.
But my application overload operators new/delete/new[]/delete[], So
when _DELETE_CRT is called to delete the facet created in
basic_text_oprimitive.ipp : 90
The code is:

        archive_locale.reset(
            add_facet(
                std::locale::classic(),
                new codecvt_null<BOOST_DEDUCED_TYPENAME OStream::char_type>
            )

It raises an assertion failure, since it wasnt used the same operator
for creating and deleting the object. This assertion only occurs when
_DEBUG is defined.
The workaround I used was to replace new for _NEW_CRT, but it will
certainly only work for my STL.
This "different operator new" is only used for facets in the VC7.1 STL.

The boost I'm using is the one in cvs (downloaded yesterday).

Thanks in advance,

--
Felipe Magno de Almeida

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk