diff --git a/src/OpenMesh/Core/Geometry/Vector11T.hh b/src/OpenMesh/Core/Geometry/Vector11T.hh index 0f771fd43dadaee62cd121452fdb3a96360aa4db..de31544c9825ea3c66bd1f5e4bc187799730a69c 100644 --- a/src/OpenMesh/Core/Geometry/Vector11T.hh +++ b/src/OpenMesh/Core/Geometry/Vector11T.hh @@ -182,8 +182,8 @@ class VectorT { typename = typename std::enable_if< std::is_convertible::value>> vector_type& operator=(const VectorT& _rhs) { - std::transform(_rhs.data(), _rhs.data() + DIM, - data(), [](OtherScalar rhs) { + std::transform(_rhs.cbegin(), _rhs.cend(), + this->begin(), [](OtherScalar rhs) { return static_cast(std::move(rhs)); }); return *this; @@ -193,7 +193,7 @@ class VectorT { Scalar* data() { return values_.data(); } /// access to const Scalar array - const Scalar *data() const { return values_.data(); } + const Scalar* data() const { return values_.data(); } //----------------------------------------------------------- element access @@ -382,8 +382,8 @@ class VectorT { auto operator|(const VectorT& _rhs) const -> decltype(*this->data() * *_rhs.data()) { - return std::inner_product(data() + 1, data() + DIM, _rhs.data() + 1, - *data() * *_rhs.data()); + return std::inner_product(begin() + 1, begin() + DIM, _rhs.begin() + 1, + *begin() * *_rhs.begin()); } //------------------------------------------------------------ euclidean norm @@ -604,7 +604,7 @@ class VectorT { template inline vector_type apply(const Functor& _func) const { vector_type result; - std::transform(result.values_.begin(), result.values_.end(), + std::transform(result.values_.cbegin(), result.values_.cend(), result.values_.begin(), _func); return result; }