From 606e62d068256a5f79515f47de1a67f9c9975e3e Mon Sep 17 00:00:00 2001 From: wolf Date: Mon, 18 Mar 2002 12:26:38 +0000 Subject: [PATCH] Move implementations to .cc file, since not used very often anyway and 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 --- .../base/include/base/memory_consumption.h | 217 ------------------ deal.II/base/source/memory_consumption.cc | 185 +++++++++++++++ 2 files changed, 185 insertions(+), 217 deletions(-) diff --git a/deal.II/base/include/base/memory_consumption.h b/deal.II/base/include/base/memory_consumption.h index 40b2e9c949..5b7d646814 100644 --- a/deal.II/base/include/base/memory_consumption.h +++ b/deal.II/base/include/base/memory_consumption.h @@ -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 - unsigned int memory_consumption (const typename std::vector &v) - { - unsigned int mem = sizeof(std::vector); - const unsigned int n = v.size(); - for (unsigned int i=0; i - unsigned int memory_consumption (const T (&v)[N]) - { - unsigned int mem = 0; - for (unsigned int i=0; i &v) - { - return v.capacity() / 8 + sizeof(v); - }; - - - - inline - unsigned int memory_consumption (const std::vector &v) - { - return (v.capacity() * sizeof(int) + - sizeof(v)); - }; - - - - inline - unsigned int memory_consumption (const std::vector &v) - { - return (v.capacity() * sizeof(double) + - sizeof(v)); - }; - - - - inline - unsigned int memory_consumption (const std::vector &v) - { - return (v.capacity() * sizeof(float) + - sizeof(v)); - }; - - - - inline - unsigned int memory_consumption (const std::vector &v) - { - return (v.capacity() * sizeof(char) + - sizeof(v)); - }; - - - - inline - unsigned int memory_consumption (const std::vector &v) - { - return (v.capacity() * sizeof(unsigned char) + - sizeof(v)); - }; - - - - template - inline - unsigned int memory_consumption (const typename std::vector &v) - { - return (v.capacity() * sizeof(T *) + - sizeof(v)); - }; - - - - template - inline - unsigned int memory_consumption (const typename std::pair &p) - { - return (memory_consumption(p.first) + - memory_consumption(p.second)); - }; - - - - template - inline - unsigned int - memory_consumption (const T * const) - { - return sizeof(T*); - }; - - - - template - inline - unsigned int - memory_consumption (T * const) - { - return sizeof(T*); - }; - - - - inline - unsigned int - memory_consumption (void * const) - { - return sizeof(void*); - }; - - - - template - inline - unsigned int - memory_consumption (const T &t) - { - return t.memory_consumption(); - }; -} - - - #endif diff --git a/deal.II/base/source/memory_consumption.cc b/deal.II/base/source/memory_consumption.cc index 33e5bbbb3b..421198f784 100644 --- a/deal.II/base/source/memory_consumption.cc +++ b/deal.II/base/source/memory_consumption.cc @@ -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 + unsigned int memory_consumption (const typename std::vector &v) + { + unsigned int mem = sizeof(std::vector); + const unsigned int n = v.size(); + for (unsigned int i=0; i + unsigned int memory_consumption (const T (&v)[N]) + { + unsigned int mem = 0; + for (unsigned int i=0; i &v) + { + return v.capacity() / 8 + sizeof(v); + }; + + + + unsigned int memory_consumption (const std::vector &v) + { + return (v.capacity() * sizeof(int) + + sizeof(v)); + }; + + + + unsigned int memory_consumption (const std::vector &v) + { + return (v.capacity() * sizeof(double) + + sizeof(v)); + }; + + + + unsigned int memory_consumption (const std::vector &v) + { + return (v.capacity() * sizeof(float) + + sizeof(v)); + }; + + + + unsigned int memory_consumption (const std::vector &v) + { + return (v.capacity() * sizeof(char) + + sizeof(v)); + }; + + + + unsigned int memory_consumption (const std::vector &v) + { + return (v.capacity() * sizeof(unsigned char) + + sizeof(v)); + }; + + + + template + unsigned int memory_consumption (const typename std::vector &v) + { + return (v.capacity() * sizeof(T *) + + sizeof(v)); + }; + + + + template + unsigned int memory_consumption (const typename std::pair &p) + { + return (memory_consumption(p.first) + + memory_consumption(p.second)); + }; + + + + template + unsigned int + memory_consumption (const T * const) + { + return sizeof(T*); + }; + + + + template + unsigned int + memory_consumption (T * const) + { + return sizeof(T*); + }; + + + + unsigned int + memory_consumption (void * const) + { + return sizeof(void*); + }; + + + + template + unsigned int + memory_consumption (const T &t) + { + return t.memory_consumption(); + }; }; -- 2.39.5