diff --git a/include/ALL.hpp b/include/ALL.hpp index 1dfb8fc118f941eac1b044faf2222078f5761c43..5cd8a14d24763f497aee55220a2002cc4cc87d04 100644 --- a/include/ALL.hpp +++ b/include/ALL.hpp @@ -437,25 +437,25 @@ template <class T, class W> void ALL<T,W>::setup(ALL_LB_t method) { case ALL_LB_t::TENSOR: balancer.reset(new ALL_Tensor_LB<T,W>(dimension,work_array->at(0),gamma)); - ((ALL_Tensor_LB<T,W>&)*balancer).set_vertices(outline->data()); + ((ALL_Tensor_LB<T,W>*)balancer.get())->set_vertices(outline->data()); break; case ALL_LB_t::STAGGERED: balancer.reset(new ALL_Staggered_LB<T,W>(dimension,work_array->at(0),gamma)); - ((ALL_Staggered_LB<T,W>&)*balancer).set_vertices(outline->data()); + ((ALL_Staggered_LB<T,W>*)balancer.get())->set_vertices(outline->data()); break; case ALL_LB_t::UNSTRUCTURED: balancer.reset(new ALL_Unstructured_LB<T,W>(dimension,work_array->at(0),gamma)); - ((ALL_Unstructured_LB<T,W>&)*balancer).set_vertices(vertices); + ((ALL_Unstructured_LB<T,W>*)balancer.get())->set_vertices(vertices); break; case ALL_LB_t::VORONOI: #ifdef ALL_VORONOI balancer.reset(new ALL_Voronoi_LB<T,W>(dimension,work_array->at(0),gamma)); - ((ALL_Voronoi_LB<T,W>&)*balancer).set_vertices(vertices); + ((ALL_Voronoi_LB<T,W>*)balancer.get())->set_vertices(vertices); #endif break; case ALL_LB_t::HISTOGRAM: balancer.reset(new ALL_Histogram_LB<T,W>(dimension,work_array,gamma)); - ((ALL_Histogram_LB<T,W>&)*balancer).set_vertices(outline->data()); + ((ALL_Histogram_LB<T,W>*)balancer.get())->set_vertices(outline->data()); break; default: throw ALL_Invalid_Argument_Exception( @@ -758,11 +758,11 @@ template <class T, class W> void ALL<T,W>::set_sys_size(ALL_LB_t method, std::ve break; case ALL_LB_t::VORONOI: #ifdef ALL_VORONOI - ((ALL_Voronoi_LB<T,W>*)balancer)->set_sys_size(s_size); + ((ALL_Voronoi_LB<T,W>*)balancer.get())->set_sys_size(s_size); #endif break; case ALL_LB_t::HISTOGRAM: - ((ALL_Histogram_LB<T,W>*)balancer)->set_sys_size(s_size); + ((ALL_Histogram_LB<T,W>*)balancer.get())->set_sys_size(s_size); break; default: throw ALL_Invalid_Argument_Exception( @@ -790,7 +790,7 @@ template <class T, class W> void ALL<T,W>::set_method_data(ALL_LB_t method, void break; #endif case ALL_LB_t::HISTOGRAM: - ((ALL_Histogram_LB<T,W>*)balancer)->set_data(data); + ((ALL_Histogram_LB<T,W>*)balancer.get())->set_data(data); break; } }