<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta name="robots" content="noindex"> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>ITK: itk::fem::FEMP< T > Class Template Reference</title> <link href="DoxygenStyle.css" rel="stylesheet" type="text/css"> </head><body bgcolor="#ffffff"> <!-- Section customized for INSIGHT : Tue Jul 17 01:02:45 2001 --> <center> <a href="index.html" class="qindex">Main Page</a> <a href="modules.html" class="qindex">Groups</a> <a href="namespaces.html" class="qindex">Namespace List</a> <a href="hierarchy.html" class="qindex">Class Hierarchy</a> <a href="classes.html" class="qindex">Alphabetical List</a> <a href="annotated.html" class="qindex">Compound List</a> <a href="files.html" class="qindex">File List</a> <a href="namespacemembers.html" class="qindex">Namespace Members</a> <a href="functions.html" class="qindex">Compound Members</a> <a href="globals.html" class="qindex">File Members</a> <a href="pages.html" class="qindex">Concepts</a></center> <!-- Generated by Doxygen 1.5.9 --> <div class="navpath"><a class="el" href="namespaceitk.html">itk</a>::<a class="el" href="namespaceitk_1_1fem.html">fem</a>::<a class="el" href="classitk_1_1fem_1_1FEMP.html">FEMP</a> </div> <div class="contents"> <h1>itk::fem::FEMP< T > Class Template Reference</h1><!-- doxytag: class="itk::fem::FEMP" -->Pointer used to store polymorphic elements in STL arrays. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="itkFEMP_8h_source.html">itkFEMP.h</a>></code> <p> <p> <a href="classitk_1_1fem_1_1FEMP-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1FEMP.html#d11e3b551625498d578424ca75e6be87">FEMP</a> (typename <a class="el" href="itkFEMMacro_8h.html#539cce1a3282ba59952dedcbf9cdb23f">T::Pointer</a> x)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1FEMP.html#fa30291203cbe8757f857aaf85a44e5d">FEMP</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1FEMP.html#76c0b24ef12222935e4036f1a7620c21">IsNULL</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1FEMP.html#ba5c232fe12b9fa9e5e4e8c1babd8008">operator T *</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="itkFEMMacro_8h.html#539cce1a3282ba59952dedcbf9cdb23f">T::Pointer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1FEMP.html#45b0daf938929f39a9e4065c2da4dac1">operator-></a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1FEMP.html#fbe1ef85178d0cc286101d1d4754eb8a">~FEMP</a> ()</td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1FEMP.html#f17997734c17f055ce9bf70ed8695107">FEMP</a> (const <a class="el" href="classitk_1_1fem_1_1FEMP.html">FEMP</a> &x)</td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classitk_1_1fem_1_1FEMP.html">FEMP</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1FEMP.html#2c318caf112435284d205b155e2515a8">operator=</a> (const <a class="el" href="classitk_1_1fem_1_1FEMP.html">FEMP</a> &rhs)</td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> <h3>template<class T><br> class itk::fem::FEMP< T ></h3> Pointer used to store polymorphic elements in STL arrays. <p> <a class="el" href="classitk_1_1fem_1_1FEMP.html" title="Pointer used to store polymorphic elements in STL arrays.">FEMP</a> holds a pointer to objects of class T and its derived classes. it behaves like a special kind of pointer. Special pointers to object can be used to store polymorphic arrays in STL. The basic idea of the special pointer is: whatever you do to the pointer (object of class <a class="el" href="classitk_1_1fem_1_1FEMP.html" title="Pointer used to store polymorphic elements in STL arrays.">FEMP</a>), is also reflected on the object within (pointed to by m_Data member). For example: if you copy the special pointer, an object within is also copied.<p> Class T should have a member Clone() which produces a copy of an object. This is important in polymorphic classes, where object of the derived class should be created when copying an existing object.<p> Class T should also include typedefs <a class="el" href="itkFEMMacro_8h.html#539cce1a3282ba59952dedcbf9cdb23f">T::Pointer</a> and <a class="el" href="itkFEMMacro_8h.html#68fafcc6909430ccd70cbc4aeee0107c">T::ConstPointer</a> that define standard pointers to the class. Note that these could be <a class="el" href="classitk_1_1SmartPointer.html" title="Implements transparent reference counting.">SmartPointer</a> classes. <p>Definition at line <a class="el" href="itkFEMP_8h_source.html#l00043">43</a> of file <a class="el" href="itkFEMP_8h_source.html">itkFEMP.h</a>.</p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="fa30291203cbe8757f857aaf85a44e5d"></a><!-- doxytag: member="itk::fem::FEMP::FEMP" ref="fa30291203cbe8757f857aaf85a44e5d" args="()" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classitk_1_1fem_1_1FEMP.html">itk::fem::FEMP</a>< T >::<a class="el" href="classitk_1_1fem_1_1FEMP.html">FEMP</a> </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Default constructor makes sure that m_Data is 0, to prevent problems when deleting m_Data object on destruction. <p>Definition at line <a class="el" href="itkFEMP_8h_source.html#l00052">52</a> of file <a class="el" href="itkFEMP_8h_source.html">itkFEMP.h</a>.</p> </div> </div><p> <a class="anchor" name="f17997734c17f055ce9bf70ed8695107"></a><!-- doxytag: member="itk::fem::FEMP::FEMP" ref="f17997734c17f055ce9bf70ed8695107" args="(const FEMP &x)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classitk_1_1fem_1_1FEMP.html">itk::fem::FEMP</a>< T >::<a class="el" href="classitk_1_1fem_1_1FEMP.html">FEMP</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="classitk_1_1fem_1_1FEMP.html">FEMP</a>< T > & </td> <td class="paramname"> <em>x</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Copy constructor. Clone() method is called to duplicate the existing object. <p>Definition at line <a class="el" href="itkFEMP_8h_source.html#l00060">60</a> of file <a class="el" href="itkFEMP_8h_source.html">itkFEMP.h</a>.</p> </div> </div><p> <a class="anchor" name="d11e3b551625498d578424ca75e6be87"></a><!-- doxytag: member="itk::fem::FEMP::FEMP" ref="d11e3b551625498d578424ca75e6be87" args="(typename T::Pointer x)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classitk_1_1fem_1_1FEMP.html">itk::fem::FEMP</a>< T >::<a class="el" href="classitk_1_1fem_1_1FEMP.html">FEMP</a> </td> <td>(</td> <td class="paramtype">typename <a class="el" href="itkFEMMacro_8h.html#539cce1a3282ba59952dedcbf9cdb23f">T::Pointer</a> </td> <td class="paramname"> <em>x</em> </td> <td> ) </td> <td><code> [inline, explicit]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Conversion constructor from <a class="el" href="itkFEMMacro_8h.html#539cce1a3282ba59952dedcbf9cdb23f">T::Pointer</a> to FEMP<T>. The object T* must exist and we take ownership of object T*. If you want to create a copy of object and take ownership of that, use: <a class="el" href="classitk_1_1fem_1_1FEMP.html" title="Pointer used to store polymorphic elements in STL arrays.">FEMP</a>(x->Clone()) instead of FEMP(x). <p>Definition at line <a class="el" href="itkFEMP_8h_source.html#l00079">79</a> of file <a class="el" href="itkFEMP_8h_source.html">itkFEMP.h</a>.</p> </div> </div><p> <a class="anchor" name="fbe1ef85178d0cc286101d1d4754eb8a"></a><!-- doxytag: member="itk::fem::FEMP::~FEMP" ref="fbe1ef85178d0cc286101d1d4754eb8a" args="()" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classitk_1_1fem_1_1FEMP.html">itk::fem::FEMP</a>< T >::~<a class="el" href="classitk_1_1fem_1_1FEMP.html">FEMP</a> </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor of a special pointer class also destroys the actual object. <p>Definition at line <a class="el" href="itkFEMP_8h_source.html#l00085">85</a> of file <a class="el" href="itkFEMP_8h_source.html">itkFEMP.h</a>.</p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="76c0b24ef12222935e4036f1a7620c21"></a><!-- doxytag: member="itk::fem::FEMP::IsNULL" ref="76c0b24ef12222935e4036f1a7620c21" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T > </div> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="classitk_1_1fem_1_1FEMP.html">itk::fem::FEMP</a>< T >::IsNULL </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Return true if special pointer actually points to a valid object and false otherwise. <p>Definition at line <a class="el" href="itkFEMP_8h_source.html#l00115">115</a> of file <a class="el" href="itkFEMP_8h_source.html">itkFEMP.h</a>.</p> </div> </div><p> <a class="anchor" name="ba5c232fe12b9fa9e5e4e8c1babd8008"></a><!-- doxytag: member="itk::fem::FEMP::operator T *" ref="ba5c232fe12b9fa9e5e4e8c1babd8008" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="classitk_1_1fem_1_1FEMP.html">itk::fem::FEMP</a>< T >::operator T * </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Dereferencing operator provides automatic conversion from special to standard pointer to object <p>Definition at line <a class="el" href="itkFEMP_8h_source.html#l00106">106</a> of file <a class="el" href="itkFEMP_8h_source.html">itkFEMP.h</a>.</p> </div> </div><p> <a class="anchor" name="45b0daf938929f39a9e4065c2da4dac1"></a><!-- doxytag: member="itk::fem::FEMP::operator->" ref="45b0daf938929f39a9e4065c2da4dac1" args="() const " --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T > </div> <table class="memname"> <tr> <td class="memname"><a class="el" href="itkFEMMacro_8h.html#539cce1a3282ba59952dedcbf9cdb23f">T::Pointer</a> <a class="el" href="classitk_1_1fem_1_1FEMP.html">itk::fem::FEMP</a>< T >::operator-> </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Easy access to members of stored object <p>Definition at line <a class="el" href="itkFEMP_8h_source.html#l00100">100</a> of file <a class="el" href="itkFEMP_8h_source.html">itkFEMP.h</a>.</p> </div> </div><p> <a class="anchor" name="2c318caf112435284d205b155e2515a8"></a><!-- doxytag: member="itk::fem::FEMP::operator=" ref="2c318caf112435284d205b155e2515a8" args="(const FEMP &rhs)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class T > </div> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classitk_1_1fem_1_1FEMP.html">FEMP</a>< T > & <a class="el" href="classitk_1_1fem_1_1FEMP.html">itk::fem::FEMP</a>< T >::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classitk_1_1fem_1_1FEMP.html">FEMP</a>< T > & </td> <td class="paramname"> <em>rhs</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Asignment operator <p> Self assignments don't make sense.<p> First destroy the existing object on the left hand side<p> Then clone the one on the right hand side of the expression (if not NULL). <p>Definition at line <a class="el" href="itkFEMP_8h_source.html#l00130">130</a> of file <a class="el" href="itkFEMP_8h_source.html">itkFEMP.h</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="itkFEMP_8h_source.html">itkFEMP.h</a></ul> </div> <hr><address><small> Generated at Fri May 8 08:40:14 2009 for ITK by <a href="http://www.stack.nl/~dimitri/doxygen/index.html"> <img src="http://www.stack.nl/~dimitri/doxygen/doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53> </a> 1.5.9 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>, © 1997-2000</small></address> </body> </html>