diff --git a/src/Magnum/MeshTools/CompressIndices.cpp b/src/Magnum/MeshTools/CompressIndices.cpp index 95d9b2cc4..1e4a2c61c 100644 --- a/src/Magnum/MeshTools/CompressIndices.cpp +++ b/src/Magnum/MeshTools/CompressIndices.cpp @@ -25,7 +25,6 @@ #include "CompressIndices.h" -#include #include #include #include @@ -46,11 +45,10 @@ namespace { template inline Containers::Array compress(const Containers::StridedArrayView1D& indices, Long offset) { /* Can't use Math::castInto() here because we're subtracting an offset in addition */ - Containers::Array buffer(indices.size()*sizeof(T)); - for(std::size_t i = 0; i != indices.size(); ++i) { - T index = static_cast(indices[i] - offset); - std::memcpy(buffer.begin()+i*sizeof(T), &index, sizeof(T)); - } + Containers::Array buffer{NoInit, indices.size()*sizeof(T)}; + const Containers::ArrayView view = Containers::arrayCast(buffer); + for(std::size_t i = 0; i != indices.size(); ++i) + view[i] = indices[i] - offset; return buffer; }