16 #ifndef dealii__vector_memory_h 17 #define dealii__vector_memory_h 20 #include <deal.II/base/config.h> 21 #include <deal.II/base/smartpointer.h> 22 #include <deal.II/base/logstream.h> 23 #include <deal.II/base/thread_management.h> 24 #include <deal.II/lac/vector.h> 29 DEAL_II_NAMESPACE_OPEN
70 template<
typename VectorType = ::Vector<
double> >
87 virtual VectorType *
alloc () = 0;
93 virtual void free (
const VectorType *
const) = 0;
133 operator VectorType *()
const;
165 template<
typename VectorType = ::Vector<
double> >
185 return new VectorType();
196 virtual void free (
const VectorType *
const v)
228 template<
typename VectorType = ::Vector<
double> >
242 const bool log_statistics =
false);
259 virtual VectorType *
alloc ();
268 virtual void free (
const VectorType *
const);
273 static void release_unused_memory ();
278 virtual std::size_t memory_consumption()
const;
309 void initialize(
const size_type size);
350 template <
typename VectorType>
354 pool(&mem, typeid(*this).name()),
v(0)
360 template <
typename VectorType>
368 template <
typename VectorType>
376 template <
typename VectorType>
384 template <
typename VectorType>
394 DEAL_II_NAMESPACE_CLOSE
virtual VectorType * alloc()=0
virtual VectorType * alloc()
SmartPointer< VectorMemory< VectorType >, Pointer > pool
DeclException0(ExcNoMoreVectors)
std::vector< entry_type > * data
virtual void free(const VectorType *const)=0
std::pair< bool, VectorType * > entry_type
VectorType & operator*() const
unsigned int global_dof_index
static Threads::Mutex mutex
VectorType * operator->() const
virtual void free(const VectorType *const v)
Pointer(VectorMemory< VectorType > &mem)
types::global_dof_index size_type