18 #ifndef itkSmapsFileParser_h
19 #define itkSmapsFileParser_h
55 std::map< std::string, MemoryLoadType >
m_Tokens;
143 virtual MemoryLoadType GetMemoryUsage(
const char *filter,
const char *token);
178 friend ITKCommon_EXPORT std::istream & operator>>(std::istream & smapsStream,
182 bool m_HeapRecordFound;
201 virtual MemoryLoadType GetHeapUsage() ITK_OVERRIDE;
204 virtual MemoryLoadType GetStackUsage() ITK_OVERRIDE;
207 friend ITKCommon_EXPORT std::istream & operator>>(std::istream & stream,
221 template< typename TMapData >
227 virtual ~MapFileParser();
232 virtual void ReadFile(
const std::string & mapFileLocation =
"") = 0;
242 MemoryLoadType GetHeapUsage();
247 MemoryLoadType GetStackUsage();
252 MemoryLoadType GetTotalMemoryUsage();
257 MemoryLoadType GetMemoryUsage(
const char *filter,
const char *token =
"Size");
270 template<
typename TSmapsDataType >
280 virtual void ReadFile(
const std::string & mapFileLocation =
"");
288 template<
typename TVMMapDataType >
296 virtual void ReadFile(
const std::string & mapFileLocation =
"");
300 #ifndef ITK_MANUAL_INSTANTIATION
301 #include "itkSmapsFileParser.hxx"
304 #endif // itkSmapsFileParser_h
Base class for map data containers.
TMapData::MemoryLoadType MemoryLoadType
MapData::MemoryLoadType MemoryLoadType
std::istream & operator>>(std::istream &is, Point< T, NPointDimension > &v)
Read the output of a vmmap command and extract the memory usage information. Used for MAC OS X machin...
unsigned long SizeValueType
SizeValueType MemoryLoadType
std::map< std::string, MemoryLoadType > m_Tokens
std::string m_MapFilePath
An entry in a smaps file.
Contains an entry in a smaps file.
Read a smaps stream and return the memory usage information. Smaps files have been added since the li...
MapData::MemoryLoadType MemoryLoadType
SizeValueType MemoryLoadType
Contains an entry in a smaps file.
Read a smap file (typically located in /proc/PID/smaps) and extract the memory usage information...
MapRecordVectorType m_Records
std::vector< MapRecord * > MapRecordVectorType