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> >
299 virtual VECTOR *
alloc ();
313 virtual void free (
const VECTOR *
const);
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
GrowingVectorMemory(const size_type initial_size=0, const bool log_statistics=false)
static void release_unused_memory()
SmartPointer< VectorMemory< VECTOR >, Pointer > pool
VECTOR & operator*() const
static Threads::Mutex mutex
virtual VECTOR * alloc()=0
unsigned int global_dof_index
void initialize(const size_type size)
virtual std::size_t memory_consumption() const
DeclException0(ExcNoMoreVectors)
types::global_dof_index size_type
Pointer(VectorMemory< VECTOR > &mem)
virtual void free(const VECTOR *const v)
virtual void free(const VECTOR *const)
VECTOR * operator->() const
virtual void free(const VECTOR *const)=0
virtual ~GrowingVectorMemory()