]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Move implementations to .cc file, since not used very often anyway and
authorwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 18 Mar 2002 12:26:38 +0000 (12:26 +0000)
committerwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 18 Mar 2002 12:26:38 +0000 (12:26 +0000)
thus no point to mark inline. change triggered by Sun Forte 6.2's
inability to first declare a function, then define it marked
inline. testcase:

/* ------------------------------------------ */
/* Problem 4 -- "extern" and "inline" collide */
namespace NS2
{
  inline void f();
  inline void f() {};
};

git-svn-id: https://svn.dealii.org/trunk@5570 0785d39b-7218-0410-832d-ea1e28bc413d

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

index 40b2e9c9498f4a18a16dda54ac3750b3a5bdaac1..5b7d6468146edd1063f1ba2dc050cf55a211cf7e 100644 (file)
@@ -362,221 +362,4 @@ 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 33e5bbbb3beda05c1ac4131cc7c4b8efeaf3ba48..421198f784a5208f76bcc9f4eda971a3a2472ff6 100644 (file)
@@ -26,4 +26,189 @@ 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.