Stricter tests; associated bug fixes. ;-)

[SVN r16369]
This commit is contained in:
Peter Dimov
2002-11-22 13:49:54 +00:00
parent 66a8e8b3c1
commit 8d6517484c
3 changed files with 18 additions and 4 deletions
+6 -1
View File
@@ -16,6 +16,8 @@
#include <boost/shared_ptr.hpp>
#include <cstring> // for std::memcpy
#ifdef BOOST_MSVC // moved here to work around VC++ compiler crash
# pragma warning(push)
# pragma warning(disable:4284) // odd return type for operator->
@@ -42,8 +44,11 @@ public:
// generated copy constructor, assignment, destructor are fine
template<class Y>
weak_ptr(weak_ptr<Y> const & r): px(r.px), pn(r.pn) // never throws
weak_ptr(weak_ptr<Y> const & r): pn(r.pn) // never throws
{
// r.px may be an invalid pointer value
using namespace std;
memcpy(&this->px, &r.px, sizeof(r.px));
}
template<class Y>