|
Reference documentation for deal.II version 9.2.0
|
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\)
\(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\)
\(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\)
\(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Go to the documentation of this file.
16 #ifndef dealii_vector_memory_h
17 #define dealii_vector_memory_h
106 template <
typename VectorType = ::Vector<
double>>
165 "You are trying to deallocate a vector from a memory pool, but this "
166 "vector has not actually been allocated by the same pool before.");
193 :
public std::unique_ptr<VectorType, std::function<void(VectorType *)>>
240 template <
typename VectorType = ::Vector<
double>>
287 free(
const VectorType *
const v)
override;
319 template <
typename VectorType = ::Vector<
double>>
403 using entry_type = std::pair<bool, std::unique_ptr<VectorType>>;
472 namespace GrowingVectorMemoryImplementation
485 template <
typename VectorType>
494 template <
typename VectorType>
503 template <
typename VectorType>
#define DeclExceptionMsg(Exception, defaulttext)
virtual ~GrowingVectorMemory() override
virtual void free(const VectorType *const) override
virtual VectorType * alloc() override
static void release_unused_memory()
virtual VectorType * alloc()=0
virtual std::size_t memory_consumption() const
virtual void free(const VectorType *const v) override
GrowingVectorMemory(const size_type initial_size=0, const bool log_statistics=false)
virtual void free(const VectorType *const)=0
virtual ~VectorMemory() override=default
std::pair< bool, std::unique_ptr< BlockVector< number > > > entry_type
virtual VectorType * alloc() override
std::vector< entry_type > * data
static ::ExceptionBase & ExcNotAllocatedHere()
unsigned int global_dof_index
#define DEAL_II_NAMESPACE_OPEN
void release_all_unused_memory()
static Threads::Mutex mutex
Pointer & operator=(Pointer &&p) noexcept=default
void initialize(const size_type size)
#define DEAL_II_NAMESPACE_CLOSE