diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2020-06-29 12:21:34 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2020-07-01 16:33:18 +0200 |
commit | 7d836129bc3fa502e3480c47ba04608c8e8ca708 (patch) | |
tree | 553bbf96e81314150062e4100744a44ca9e9a90c /src/core/jobs | |
parent | ccb9c9ade94b568e64fc09f49d3b87d4110a5ca4 (diff) |
CalcBoundingVolumeJob: use std::vector
Change-Id: Ibc2b3669c14102dc07dcbd9032e45403986b8a73
Reviewed-by: Mike Krus <mike.krus@kdab.com>
Diffstat (limited to 'src/core/jobs')
-rw-r--r-- | src/core/jobs/calcboundingvolumejob.cpp | 10 | ||||
-rw-r--r-- | src/core/jobs/calcboundingvolumejob_p.h | 2 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/core/jobs/calcboundingvolumejob.cpp b/src/core/jobs/calcboundingvolumejob.cpp index 76c9ed3bf..0839b18ec 100644 --- a/src/core/jobs/calcboundingvolumejob.cpp +++ b/src/core/jobs/calcboundingvolumejob.cpp @@ -163,7 +163,7 @@ bool isTreeEnabled(QEntity *entity) { struct UpdateBoundFunctor { // This define is required to work with QtConcurrent - typedef QVector<BoundingVolumeComputeResult> result_type; + typedef std::vector<BoundingVolumeComputeResult> result_type; result_type operator ()(const BoundingVolumeComputeData &data) { return { data.compute() }; @@ -172,9 +172,11 @@ struct UpdateBoundFunctor struct ReduceUpdateBoundFunctor { - void operator ()(QVector<BoundingVolumeComputeResult> &result, const QVector<BoundingVolumeComputeResult> &values) + void operator ()(std::vector<BoundingVolumeComputeResult> &result, const std::vector<BoundingVolumeComputeResult> &values) { - result += values; + result.insert(result.end(), + std::make_move_iterator(values.begin()), + std::make_move_iterator(values.end())); } }; @@ -284,7 +286,7 @@ void CalculateBoundingVolumeJob::postFrame(QAspectEngine *aspectEngine) { Q_UNUSED(aspectEngine); - for (auto result: qAsConst(m_results)) { + for (auto result: m_results) { // set the results QBoundingVolumePrivate::get(result.provider)->setImplicitBounds(result.m_min, result.m_max, result.m_center, result.m_radius); diff --git a/src/core/jobs/calcboundingvolumejob_p.h b/src/core/jobs/calcboundingvolumejob_p.h index f61dd72cf..95213df75 100644 --- a/src/core/jobs/calcboundingvolumejob_p.h +++ b/src/core/jobs/calcboundingvolumejob_p.h @@ -105,7 +105,7 @@ public: private: Q_DECLARE_PRIVATE(CalculateBoundingVolumeJob) QEntity *m_root; - QVector<BoundingVolumeComputeResult> m_results; + std::vector<BoundingVolumeComputeResult> m_results; }; typedef QSharedPointer<CalculateBoundingVolumeJob> CalculateBoundingVolumeJobPtr; |