<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman,new york,times,serif;font-size:12pt"><div>Hi,<br><br>I apologise, my previous post was incorrect, please ignore it.<br>Thanks,<br>Maarten<br><br></div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><font size="2" face="Tahoma"><hr size="1"><b><span style="font-weight: bold;">From:</span></b> Maarten Nieber &lt;hallomaarten@yahoo.com&gt;<br><b><span style="font-weight: bold;">To:</span></b> insight-users@itk.org<br><b><span style="font-weight: bold;">Sent:</span></b> Tuesday, November 25, 2008 5:04:53 PM<br><b><span style="font-weight: bold;">Subject:</span></b> More flexible assignment for itk::SmartPointer<br></font><br>
<div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><div>Hi,<br><br>I hope I am not restarting any old discussions, but I would like to be able to assign an itk::SmartPointer to another pointer that has a compatible type, for example:<br><br>itk::Image&lt;3, double&gt;::Pointer image = itk::Image&lt;3, double&gt;::New();<br>
itk::ImageBase&lt;3&gt;::Pointer p = image;<br>
<br>Note that boost::shared_ptr works like this.<br>
The behaviour could be achieved using a templated copy constructor for itk::SmartPointer:<br><br>template&lt; class TObjectType2 &gt;<br>SmartPointer(const SmartPointer&lt;TObjectType2&gt;&amp; rhs)<br>{<br>&nbsp;&nbsp;&nbsp; // do a dynamic_cast here, and assign the result to rhs<br>}<br><br>Would this be a good idea?<br><br>Best regards, <br>Maarten<br></div><br></div><br>

      </div></div></div><br>



      </body></html>