Make shared_ptr ctor from auto_ptr explicit. (Robert Vugts)

[SVN r8012]
This commit is contained in:
Beman Dawes
2000-10-19 21:16:46 +00:00
parent 00c5642eb4
commit 1412e40490

View File

@@ -9,6 +9,7 @@
// See http://www.boost.org for most recent version including documentation.
// Revision History
// 19 Oct 00 Make shared_ptr ctor from auto_ptr explicit. (Robert Vugts)
// 24 Jul 00 Change throw() to // never throws. See lib guidelines
// Exception-specification rationale. (Beman Dawes)
// 22 Jun 00 Remove #if continuations to fix GCC 2.95.2 problem (Beman Dawes)
@@ -140,7 +141,7 @@ template<typename T> class shared_ptr {
}
template<typename Y>
shared_ptr(std::auto_ptr<Y>& r) {
explicit shared_ptr(std::auto_ptr<Y>& r) {
pn = new long(1); // may throw
px = r.release(); // fix: moved here to stop leak if new throws
}
@@ -164,7 +165,7 @@ template<typename T> class shared_ptr {
return *this;
}
#else
shared_ptr(std::auto_ptr<T>& r) {
explicit shared_ptr(std::auto_ptr<T>& r) {
pn = new long(1); // may throw
px = r.release(); // fix: moved here to stop leak if new throws
}