Removed #if 0 lines because compiler choked on it.

git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@1103 7ec92016-0320-0410-acc4-a06ded1c099a
This commit is contained in:
rich_sposato 2011-09-17 02:25:43 +00:00
parent 0f2b0a91d8
commit a89951c211

View file

@ -120,48 +120,3 @@ void TryColvinGibbonsTrick( void )
// ----------------------------------------------------------------------------
#if 0
https://sourceforge.net/tracker/index.php?func=detail&aid=2080889&group_id=29557&atid=396644
To fix the compile bug we have to disable the (const T&) ctor and use RefToValue,
the way how it is done in auto_prt.
But I'm not sure about the consequences of such a change.
Index: loki/SmartPtr.h
===================================================================
--- loki/SmartPtr.h (revision 910)
+++ loki/SmartPtr.h (working copy)
@@ -1175,6 +1175,7 @@
GetImplRef(*this) = OP::Clone(GetImplRef(rhs));
}
+ /*
template
<
typename T1,
@@ -1187,6 +1188,7 @@
SmartPtr(const SmartPtr<T1, OP1, CP1, KP1, SP1, CNP1 >& rhs)
: SP(rhs), OP(rhs), KP(rhs), CP(rhs)
{ GetImplRef(*this) = OP::Clone(GetImplRef(rhs)); }
+ */
template
<
@@ -1205,7 +1207,10 @@
SmartPtr(RefToValue<SmartPtr> rhs)
: SP(rhs), OP(rhs), KP(rhs), CP(rhs)
- {}
+ {
+ SmartPtr& ref = rhs;
+ GetImplRef(*this) = OP::Clone(GetImplRef(ref));
+ }
operator RefToValue<SmartPtr>()
{ return RefToValue<SmartPtr>(*this); }
#endif