From: David Wells <wellsd2@rpi.edu>
Date: Fri, 15 Dec 2017 15:53:07 +0000 (-0500)
Subject: Let GrowingVectorMemory work with std::vector.
X-Git-Tag: v9.0.0-rc1~656^2
X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e1d6582cdb0e185a64272a098511701578d86b5b;p=dealii.git

Let GrowingVectorMemory work with std::vector.

The VectorType class in

std::pair<bool, std::unique_ptr<VectorType>>

may not have a memory_consumption() member function (e.g.,
std::vector). Get around this by just using the free function instead.
---

diff --git a/include/deal.II/lac/vector_memory.templates.h b/include/deal.II/lac/vector_memory.templates.h
index 4bd60279c3..41dac85989 100644
--- a/include/deal.II/lac/vector_memory.templates.h
+++ b/include/deal.II/lac/vector_memory.templates.h
@@ -17,8 +17,10 @@
 #define dealii_vector_memory_templates_h
 
 
-#include <deal.II/lac/vector_memory.h>
 #include <deal.II/base/std_cxx14/memory.h>
+#include <deal.II/base/memory_consumption.h>
+
+#include <deal.II/lac/vector_memory.h>
 
 DEAL_II_NAMESPACE_OPEN
 
@@ -181,7 +183,7 @@ GrowingVectorMemory<VectorType>::memory_consumption () const
   end = pool.data->end();
   for (typename std::vector<entry_type>::const_iterator
        i = pool.data->begin(); i != end ; ++i)
-    result += sizeof (*i) + i->second->memory_consumption();
+    result += sizeof (*i) + MemoryConsumption::memory_consumption(i->second);
 
   return result;
 }