]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
To make it compile revert changes due to Sun Forte compiler.
authorhartmann <hartmann@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 19 Mar 2002 14:11:07 +0000 (14:11 +0000)
committerhartmann <hartmann@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 19 Mar 2002 14:11:07 +0000 (14:11 +0000)
git-svn-id: https://svn.dealii.org/trunk@5589 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/base/include/base/memory_consumption.h
deal.II/base/source/memory_consumption.cc

index 5b7d6468146edd1063f1ba2dc050cf55a211cf7e..40b2e9c9498f4a18a16dda54ac3750b3a5bdaac1 100644 (file)
@@ -362,4 +362,221 @@ namespace MemoryConsumption
 
 
 
+// now comes the implementation of these functions
+
+namespace MemoryConsumption
+{
+  inline
+  unsigned int memory_consumption (const bool) 
+  {
+    return sizeof(bool);
+  };
+  
+  
+  
+  inline
+  unsigned int memory_consumption (const char)
+  {
+    return sizeof(char);
+  };
+  
+
+
+  inline
+  unsigned int memory_consumption (const short int) 
+  {
+    return sizeof(short int);
+  };
+  
+
+
+  inline
+  unsigned int memory_consumption (const short unsigned int) 
+  {
+    return sizeof(short unsigned int);
+  };
+
+
+
+  inline
+  unsigned int memory_consumption (const int) 
+  {
+    return sizeof(int);
+  };
+  
+
+
+  inline
+  unsigned int memory_consumption (const unsigned int) 
+  {
+    return sizeof(unsigned int);
+  };
+
+
+
+  inline
+  unsigned int memory_consumption (const float)
+  {
+    return sizeof(float);
+  };
+
+
+
+  inline
+  unsigned int memory_consumption (const double)
+  {
+    return sizeof(double);
+  };
+
+
+  
+  inline
+  unsigned int memory_consumption (const std::string &s)
+  {
+    return sizeof(s) + s.length();
+  };  
+
+
+// if necessary try to work around a bug in the IBM xlC compiler
+#ifdef XLC_WORK_AROUND_STD_BUG
+  using namespace std;
+#endif
+
+  template <typename T>
+  unsigned int memory_consumption (const typename std::vector<T> &v)
+  {
+    unsigned int mem = sizeof(std::vector<T>);
+    const unsigned int n = v.size();
+    for (unsigned int i=0; i<n; ++i)
+      mem += memory_consumption(v[i]);
+    mem += (v.capacity() - n)*sizeof(T);
+    return mem;
+  };
+
+
+
+  template <typename T, int N>
+  unsigned int memory_consumption (const T (&v)[N])
+  {
+    unsigned int mem = 0;
+    for (unsigned int i=0; i<N; ++i)
+      mem += memory_consumption(v[i]);
+    return mem;
+  };
+
+
+
+  inline
+  unsigned int memory_consumption (const std::vector<bool> &v)
+  {
+    return v.capacity() / 8 + sizeof(v);
+  };
+
+
+  
+  inline
+  unsigned int memory_consumption (const std::vector<int> &v)
+  {
+    return (v.capacity() * sizeof(int) +
+           sizeof(v));
+  };
+    
+    
+
+  inline
+  unsigned int memory_consumption (const std::vector<double> &v)
+  {
+    return (v.capacity() * sizeof(double) +
+           sizeof(v));
+  };
+    
+    
+
+  inline
+  unsigned int memory_consumption (const std::vector<float> &v)
+  {
+    return (v.capacity() * sizeof(float) +
+           sizeof(v));
+  };
+    
+    
+       
+  inline
+  unsigned int memory_consumption (const std::vector<char> &v)
+  {
+    return (v.capacity() * sizeof(char) +
+           sizeof(v));
+  };
+    
+
+    
+  inline
+  unsigned int memory_consumption (const std::vector<unsigned char> &v)
+  {
+    return (v.capacity() * sizeof(unsigned char) +
+           sizeof(v));
+  };
+
+
+    
+  template <typename T>
+  inline
+  unsigned int memory_consumption (const typename std::vector<T *> &v)
+  {
+    return (v.capacity() * sizeof(T *) +
+           sizeof(v));
+  };
+    
+
+                                   
+  template <typename A, typename B>
+  inline
+  unsigned int memory_consumption (const typename std::pair<A,B> &p)
+  {
+    return (memory_consumption(p.first) +
+           memory_consumption(p.second));
+  };
+
+  
+               
+  template <typename T>
+  inline
+  unsigned int
+  memory_consumption (const T * const)
+  {
+    return sizeof(T*);
+  };
+
+
+               
+  template <typename T>
+  inline
+  unsigned int
+  memory_consumption (T * const)
+  {
+    return sizeof(T*);
+  };
+
+  
+       
+  inline
+  unsigned int
+  memory_consumption (void * const)
+  {
+    return sizeof(void*);
+  };
+    
+    
+       
+  template <typename T>
+  inline
+  unsigned int
+  memory_consumption (const T &t)
+  {
+    return t.memory_consumption();
+  };
+}
+
+
+
 #endif
index 421198f784a5208f76bcc9f4eda971a3a2472ff6..33e5bbbb3beda05c1ac4131cc7c4b8efeaf3ba48 100644 (file)
@@ -26,189 +26,4 @@ namespace MemoryConsumption
   };
   
 
-
-  unsigned int memory_consumption (const bool) 
-  {
-    return sizeof(bool);
-  };
-  
-  
-  
-  unsigned int memory_consumption (const char)
-  {
-    return sizeof(char);
-  };
-  
-
-
-  unsigned int memory_consumption (const short int) 
-  {
-    return sizeof(short int);
-  };
-  
-
-
-  unsigned int memory_consumption (const short unsigned int) 
-  {
-    return sizeof(short unsigned int);
-  };
-
-
-
-  unsigned int memory_consumption (const int) 
-  {
-    return sizeof(int);
-  };
-  
-
-
-  unsigned int memory_consumption (const unsigned int) 
-  {
-    return sizeof(unsigned int);
-  };
-
-
-
-  unsigned int memory_consumption (const float)
-  {
-    return sizeof(float);
-  };
-
-
-
-  unsigned int memory_consumption (const double)
-  {
-    return sizeof(double);
-  };
-
-
-  
-  unsigned int memory_consumption (const std::string &s)
-  {
-    return sizeof(s) + s.length();
-  };  
-
-
-
-  template <typename T>
-  unsigned int memory_consumption (const typename std::vector<T> &v)
-  {
-    unsigned int mem = sizeof(std::vector<T>);
-    const unsigned int n = v.size();
-    for (unsigned int i=0; i<n; ++i)
-      mem += memory_consumption(v[i]);
-    mem += (v.capacity() - n)*sizeof(T);
-    return mem;
-  };
-
-
-
-  template <typename T, int N>
-  unsigned int memory_consumption (const T (&v)[N])
-  {
-    unsigned int mem = 0;
-    for (unsigned int i=0; i<N; ++i)
-      mem += memory_consumption(v[i]);
-    return mem;
-  };
-
-
-
-  unsigned int memory_consumption (const std::vector<bool> &v)
-  {
-    return v.capacity() / 8 + sizeof(v);
-  };
-
-
-  
-  unsigned int memory_consumption (const std::vector<int> &v)
-  {
-    return (v.capacity() * sizeof(int) +
-           sizeof(v));
-  };
-    
-    
-
-  unsigned int memory_consumption (const std::vector<double> &v)
-  {
-    return (v.capacity() * sizeof(double) +
-           sizeof(v));
-  };
-    
-    
-
-  unsigned int memory_consumption (const std::vector<float> &v)
-  {
-    return (v.capacity() * sizeof(float) +
-           sizeof(v));
-  };
-    
-    
-       
-  unsigned int memory_consumption (const std::vector<char> &v)
-  {
-    return (v.capacity() * sizeof(char) +
-           sizeof(v));
-  };
-    
-
-    
-  unsigned int memory_consumption (const std::vector<unsigned char> &v)
-  {
-    return (v.capacity() * sizeof(unsigned char) +
-           sizeof(v));
-  };
-
-
-    
-  template <typename T>
-  unsigned int memory_consumption (const typename std::vector<T *> &v)
-  {
-    return (v.capacity() * sizeof(T *) +
-           sizeof(v));
-  };
-    
-
-                                   
-  template <typename A, typename B>
-  unsigned int memory_consumption (const typename std::pair<A,B> &p)
-  {
-    return (memory_consumption(p.first) +
-           memory_consumption(p.second));
-  };
-
-  
-               
-  template <typename T>
-  unsigned int
-  memory_consumption (const T * const)
-  {
-    return sizeof(T*);
-  };
-
-
-               
-  template <typename T>
-  unsigned int
-  memory_consumption (T * const)
-  {
-    return sizeof(T*);
-  };
-
-  
-       
-  unsigned int
-  memory_consumption (void * const)
-  {
-    return sizeof(void*);
-  };
-    
-    
-       
-  template <typename T>
-  unsigned int
-  memory_consumption (const T &t)
-  {
-    return t.memory_consumption();
-  };
 };

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.