<!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::SmapsFileParser< TSmapsDataType > 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="classitk_1_1SmapsFileParser.html">SmapsFileParser</a> </div> <div class="contents"> <h1>itk::SmapsFileParser< TSmapsDataType > Class Template Reference</h1><!-- doxytag: class="itk::SmapsFileParser" --><!-- doxytag: inherits="MapFileParser< TSmapsDataType >" -->Read a smap file (typically located in /proc/PID/smaps) and extract the memory usage information. Any smaps data reader can be used in template as long as they implement a operator>>(istream&) and have GetXXXUsage() methods. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="itkSmapsFileParser_8h_source.html">itkSmapsFileParser.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for itk::SmapsFileParser< TSmapsDataType >:</div> <div class="dynsection"> <p><center><img src="classitk_1_1SmapsFileParser__inherit__graph.png" border="0" usemap="#itk_1_1SmapsFileParser_3_01TSmapsDataType_01_4__inherit__map" alt="Inheritance graph"></center> <map name="itk_1_1SmapsFileParser_3_01TSmapsDataType_01_4__inherit__map"> <area shape="rect" id="node2" href="classitk_1_1MapFileParser.html" title="itk::MapFileParser\< TSmapsDataType \>" alt="" coords="13,101,301,131"><area shape="rect" id="node4" href="classitk_1_1MapFileParser.html" title="itk::MapFileParser\< TMapData \>" alt="" coords="37,5,277,35"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <div class="dynheader"> Collaboration diagram for itk::SmapsFileParser< TSmapsDataType >:</div> <div class="dynsection"> <p><center><img src="classitk_1_1SmapsFileParser__coll__graph.png" border="0" usemap="#itk_1_1SmapsFileParser_3_01TSmapsDataType_01_4__coll__map" alt="Collaboration graph"></center> <map name="itk_1_1SmapsFileParser_3_01TSmapsDataType_01_4__coll__map"> <area shape="rect" id="node2" href="classitk_1_1MapFileParser.html" title="itk::MapFileParser\< TSmapsDataType \>" alt="" coords="13,197,301,227"><area shape="rect" id="node4" href="classitk_1_1MapFileParser.html" title="itk::MapFileParser\< TMapData \>" alt="" coords="37,101,277,131"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="classitk_1_1SmapsFileParser-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 Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br class="typebreak"> TSmapsDataType::MemoryLoadType </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MapFileParser.html#c24a127cc5bfeac4e0c747bd66733352">MemoryLoadType</a></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1MapFileParser.html#c24a127cc5bfeac4e0c747bd66733352">MemoryLoadType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MapFileParser.html#e670235a75f31d4b1eb46c9fe637dcbd">GetHeapUsage</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1MapFileParser.html#c24a127cc5bfeac4e0c747bd66733352">MemoryLoadType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MapFileParser.html#f937ebc93becd0f03a6a9ee58f450637">GetMemoryUsage</a> (const char *filter, const char *token="Size")</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1MapFileParser.html#c24a127cc5bfeac4e0c747bd66733352">MemoryLoadType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MapFileParser.html#af06f3f72b7678263f885f76133836e6">GetStackUsage</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1MapFileParser.html#c24a127cc5bfeac4e0c747bd66733352">MemoryLoadType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MapFileParser.html#b393eef00513e0329191910e86ae618a">GetTotalMemoryUsage</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1SmapsFileParser.html#c03d0367d0d1c4ed31fcc9560192b315">ReadFile</a> (const std::string &mapFileLocation="")</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MapFileParser.html#18e08fdc9e5418b4ce689d3c5d5995b6">Update</a> (void)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1SmapsFileParser.html#7a7273f91556d45c7536febc9ca42a7e">~SmapsFileParser</a> ()</td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">TSmapsDataType </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MapFileParser.html#a79bce2bea6e201358be3bfb8a3ce42d">m_MapData</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1MapFileParser.html#79a889263cee6e58f4566e58b045a318">m_MapFilePath</a></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> <h3>template<class TSmapsDataType><br> class itk::SmapsFileParser< TSmapsDataType ></h3> Read a smap file (typically located in /proc/PID/smaps) and extract the memory usage information. Any smaps data reader can be used in template as long as they implement a operator>>(istream&) and have GetXXXUsage() methods. <p>Definition at line <a class="el" href="itkSmapsFileParser_8h_source.html#l00257">257</a> of file <a class="el" href="itkSmapsFileParser_8h_source.html">itkSmapsFileParser.h</a>.</p> <hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="c24a127cc5bfeac4e0c747bd66733352"></a><!-- doxytag: member="itk::SmapsFileParser::MemoryLoadType" ref="c24a127cc5bfeac4e0c747bd66733352" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef TSmapsDataType ::<a class="el" href="classitk_1_1MapFileParser.html#c24a127cc5bfeac4e0c747bd66733352">MemoryLoadType</a> <a class="el" href="classitk_1_1MapFileParser.html">itk::MapFileParser</a>< TSmapsDataType >::<a class="el" href="classitk_1_1MapFileParser.html#c24a127cc5bfeac4e0c747bd66733352">MemoryLoadType</a><code> [inherited]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="itkSmapsFileParser_8h_source.html#l00212">212</a> of file <a class="el" href="itkSmapsFileParser_8h_source.html">itkSmapsFileParser.h</a>.</p> </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="7a7273f91556d45c7536febc9ca42a7e"></a><!-- doxytag: member="itk::SmapsFileParser::~SmapsFileParser" ref="7a7273f91556d45c7536febc9ca42a7e" args="()" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class TSmapsDataType > </div> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classitk_1_1SmapsFileParser.html">itk::SmapsFileParser</a>< TSmapsDataType >::~<a class="el" href="classitk_1_1SmapsFileParser.html">SmapsFileParser</a> </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="e670235a75f31d4b1eb46c9fe637dcbd"></a><!-- doxytag: member="itk::SmapsFileParser::GetHeapUsage" ref="e670235a75f31d4b1eb46c9fe637dcbd" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classitk_1_1MapFileParser.html#c24a127cc5bfeac4e0c747bd66733352">MemoryLoadType</a> <a class="el" href="classitk_1_1MapFileParser.html">itk::MapFileParser</a>< TSmapsDataType >::GetHeapUsage </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the heap usage in kB of the process. If no file has been loaded yet, load a default file. </div> </div><p> <a class="anchor" name="f937ebc93becd0f03a6a9ee58f450637"></a><!-- doxytag: member="itk::SmapsFileParser::GetMemoryUsage" ref="f937ebc93becd0f03a6a9ee58f450637" args="(const char *filter, const char *token="Size")" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classitk_1_1MapFileParser.html#c24a127cc5bfeac4e0c747bd66733352">MemoryLoadType</a> <a class="el" href="classitk_1_1MapFileParser.html">itk::MapFileParser</a>< TSmapsDataType >::GetMemoryUsage </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>filter</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>token</em> = <code>"Size"</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the memory usage in kB of a process segment. If no file has been loaded yet, load a default file. </div> </div><p> <a class="anchor" name="af06f3f72b7678263f885f76133836e6"></a><!-- doxytag: member="itk::SmapsFileParser::GetStackUsage" ref="af06f3f72b7678263f885f76133836e6" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classitk_1_1MapFileParser.html#c24a127cc5bfeac4e0c747bd66733352">MemoryLoadType</a> <a class="el" href="classitk_1_1MapFileParser.html">itk::MapFileParser</a>< TSmapsDataType >::GetStackUsage </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the heap usage in kB of the process. If no file has been loaded yet, load a default file. </div> </div><p> <a class="anchor" name="b393eef00513e0329191910e86ae618a"></a><!-- doxytag: member="itk::SmapsFileParser::GetTotalMemoryUsage" ref="b393eef00513e0329191910e86ae618a" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classitk_1_1MapFileParser.html#c24a127cc5bfeac4e0c747bd66733352">MemoryLoadType</a> <a class="el" href="classitk_1_1MapFileParser.html">itk::MapFileParser</a>< TSmapsDataType >::GetTotalMemoryUsage </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the total memory usage in kB of a process. If no file has been loaded yet, load a default file. </div> </div><p> <a class="anchor" name="c03d0367d0d1c4ed31fcc9560192b315"></a><!-- doxytag: member="itk::SmapsFileParser::ReadFile" ref="c03d0367d0d1c4ed31fcc9560192b315" args="(const std::string &mapFileLocation="")" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class TSmapsDataType > </div> <table class="memname"> <tr> <td class="memname">virtual void <a class="el" href="classitk_1_1SmapsFileParser.html">itk::SmapsFileParser</a>< TSmapsDataType >::ReadFile </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>mapFileLocation</em> = <code>""</code> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Load and parse the smaps file pointed by smapsFileLocation. If smapsFileLocation is empty, load the file located at "/proc/" + PID + "/smaps" Throw an exception is the file can't be opened. <p>Implements <a class="el" href="classitk_1_1MapFileParser.html#bab55738918698361c1b979e48454880">itk::MapFileParser< TSmapsDataType ></a>.</p> </div> </div><p> <a class="anchor" name="18e08fdc9e5418b4ce689d3c5d5995b6"></a><!-- doxytag: member="itk::SmapsFileParser::Update" ref="18e08fdc9e5418b4ce689d3c5d5995b6" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="classitk_1_1MapFileParser.html">itk::MapFileParser</a>< TSmapsDataType >::Update </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td><code> [inherited]</code></td> </tr> </table> </div> <div class="memdoc"> <p> ReRead the last parsed file to refresh the memory usage. Returns true if read from the default location "". </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="a79bce2bea6e201358be3bfb8a3ce42d"></a><!-- doxytag: member="itk::SmapsFileParser::m_MapData" ref="a79bce2bea6e201358be3bfb8a3ce42d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">TSmapsDataType <a class="el" href="classitk_1_1MapFileParser.html">itk::MapFileParser</a>< TSmapsDataType >::<a class="el" href="classitk_1_1MapFileParser.html#a79bce2bea6e201358be3bfb8a3ce42d">m_MapData</a><code> [protected, inherited]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="itkSmapsFileParser_8h_source.html#l00248">248</a> of file <a class="el" href="itkSmapsFileParser_8h_source.html">itkSmapsFileParser.h</a>.</p> </div> </div><p> <a class="anchor" name="79a889263cee6e58f4566e58b045a318"></a><!-- doxytag: member="itk::SmapsFileParser::m_MapFilePath" ref="79a889263cee6e58f4566e58b045a318" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string <a class="el" href="classitk_1_1MapFileParser.html">itk::MapFileParser</a>< TSmapsDataType >::<a class="el" href="classitk_1_1MapFileParser.html#79a889263cee6e58f4566e58b045a318">m_MapFilePath</a><code> [protected, inherited]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="itkSmapsFileParser_8h_source.html#l00247">247</a> of file <a class="el" href="itkSmapsFileParser_8h_source.html">itkSmapsFileParser.h</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="itkSmapsFileParser_8h_source.html">itkSmapsFileParser.h</a></ul> </div> <hr><address><small> Generated at Fri May 8 07:04:51 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>