From: Stefano Dominici Date: Thu, 18 Oct 2018 15:03:36 +0000 (+0200) Subject: Modified TensorProductManifold class X-Git-Tag: v9.1.0-rc1~605^2~1 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=106ebf2441dd647514b68b79cd0323307ce56740;p=dealii.git 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(). --- 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