17 #ifndef __deal2__vector_memory_h 18 #define __deal2__vector_memory_h 21 #include <deal.II/base/config.h> 22 #include <deal.II/base/smartpointer.h> 23 #include <deal.II/base/logstream.h> 24 #include <deal.II/base/thread_management.h> 25 #include <deal.II/lac/vector.h> 73 template<
class VECTOR = ::Vector<
double> >
96 virtual VECTOR *
alloc () = 0;
105 virtual void free (
const VECTOR *
const) = 0;
148 operator VECTOR *()
const;
181 template<
class VECTOR = ::Vector<
double> >
223 virtual void free (
const VECTOR *
const v)
257 template<
class VECTOR = ::Vector<
double> >
273 const bool log_statistics =
false);
299 virtual VECTOR *
alloc ();
313 virtual void free (
const VECTOR *
const);
319 static void release_unused_memory ();
326 virtual std::size_t memory_consumption()
const;
369 void initialize(
const size_type size);
418 template <
typename VECTOR>
422 pool(&mem, typeid(*this).name()),
v(0)
428 template <
typename VECTOR>
436 template <
typename VECTOR>
444 template <
typename VECTOR>
452 template <
typename VECTOR>
462 DEAL_II_NAMESPACE_CLOSE
std::pair< bool, VECTOR * > entry_type
std::vector< entry_type > * data
SmartPointer< VectorMemory< VECTOR >, Pointer > pool
virtual VECTOR * alloc()=0
VECTOR & operator*() const
static Threads::Mutex mutex
unsigned int global_dof_index
DeclException0(ExcNoMoreVectors)
virtual void free(const VECTOR *const)=0
types::global_dof_index size_type
Pointer(VectorMemory< VECTOR > &mem)
virtual void free(const VECTOR *const v)
VECTOR * operator->() const