<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 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>

      </body></html>