16 #ifndef dealii_vector_view_h 17 #define dealii_vector_view_h 20 #include <deal.II/base/config.h> 22 #include <deal.II/base/exceptions.h> 23 #include <deal.II/base/subscriptor.h> 25 #include <deal.II/lac/vector.h> 29 DEAL_II_NAMESPACE_OPEN
134 template <
typename Number>
148 VectorView(
const size_type new_size, Number *ptr);
160 VectorView(
const size_type new_size,
const Number *ptr);
209 reinit(
const size_type N,
const bool omit_zeroing_entries =
false)
override;
216 reinit(
const size_type N, Number *ptr);
224 reinit(
const size_type N,
const Number *ptr);
241 template <
typename Number>
244 this->vec_size = new_size;
245 this->max_vec_size = new_size;
247 this->values.release();
248 this->values.reset(ptr);
253 template <
typename Number>
257 this->vec_size = new_size;
258 this->max_vec_size = new_size;
259 this->values.reset(const_cast<Number *>(ptr));
264 template <
typename Number>
270 this->max_vec_size = 0;
273 this->values.release();
277 template <
typename Number>
282 this->max_vec_size = N;
283 if (omit_zeroing_entries ==
false)
288 template <
typename Number>
292 this->vec_size = new_size;
293 this->max_vec_size = new_size;
295 this->values.release();
296 this->values.reset(ptr);
300 template <
typename Number>
304 this->vec_size = new_size;
305 this->max_vec_size = new_size;
307 this->values.release();
308 this->values.reset(const_cast<Number *>(ptr));
312 template <
typename Number>
321 DEAL_II_NAMESPACE_CLOSE
#define AssertThrow(cond, exc)
Vector< Number > & operator=(const Number s)
unsigned long long int global_dof_index
virtual void reinit(const size_type N, const bool omit_zeroing_entries=false) override
static::ExceptionBase & ExcMessage(std::string arg1)
virtual void swap(Vector< Number > &v) override
void swap(Vector< Number > &u, Vector< Number > &v)
VectorView(const size_type new_size, Number *ptr)