NGSolve  5.3
memusage.hpp
1 #ifndef FILE_MEMUSAGE
2 #define FILE_MEMUSAGE
3 
4 /**************************************************************************/
5 /* File: memusage.hpp */
6 /* Author: Joachim Schoeberl */
7 /* Date: 16. June 2002 */
8 /**************************************************************************/
9 
10 namespace ngstd
11 {
12 
17 {
18 protected:
19  string name;
20  size_t nbytes;
21  size_t nblocks;
22 public:
23  MemoryUsage () = default;
24  MemoryUsage (const string & aname,
25  size_t anbytes, size_t anblocks)
26  : name(aname), nbytes(anbytes), nblocks(anblocks)
27  { ; }
28  MemoryUsage (const MemoryUsage &) = default;
29  MemoryUsage (MemoryUsage &&) = default;
30  MemoryUsage & operator= (const MemoryUsage &) = default;
31  MemoryUsage & operator= (MemoryUsage &&) = default;
32 
33  void AddName (const string & aname) { name += aname; }
34  const string & Name() const { return name; }
35  size_t NBytes () const { return nbytes; }
36  size_t NBlocks () const { return nblocks; }
37 };
38 
39 }
40 
41 #endif
ngstd::MemoryUsage
Reports amount of used memory.
Definition: memusage.hpp:16
ngstd
namespace for standard data types and algorithms.
Definition: ngstd.hpp:55