From 106ebf2441dd647514b68b79cd0323307ce56740 Mon Sep 17 00:00:00 2001 From: Stefano Dominici Date: Thu, 18 Oct 2018 17:03:36 +0200 Subject: [PATCH] Modified TensorProductManifold class The data members are copies of the constructor parameters and are stored in shared_ptr objects. The constructor converts the unique_ptr objects from clone() method called on the constructor arguments into shared_ptr(). --- .../deal.II/grid/tensor_product_manifold.h | 33 ++++++++----------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/include/deal.II/grid/tensor_product_manifold.h b/include/deal.II/grid/tensor_product_manifold.h index 2c847d6099..73c6561132 100644 --- a/include/deal.II/grid/tensor_product_manifold.h +++ b/include/deal.II/grid/tensor_product_manifold.h @@ -119,24 +119,10 @@ public: push_forward_gradient(const Point &chart_point) const override; private: - SmartPointer, - TensorProductManifold> + std::shared_ptr> manifold_A; - SmartPointer, - TensorProductManifold> + std::shared_ptr> manifold_B; }; @@ -210,9 +196,18 @@ TensorProductManifold> tmpA( + std::move(manifold_A.clone())); + std::shared_ptr> tmpB( + std::move(manifold_B.clone())); + this->manifold_A = + std::static_pointer_cast>( + tmpA); + this->manifold_B = + std::static_pointer_cast>( + tmpB); +} template