summaryrefslogtreecommitdiffstats
path: root/src/core/jobs
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2020-06-29 12:21:34 +0200
committerPaul Lemire <paul.lemire@kdab.com>2020-07-01 16:33:18 +0200
commit7d836129bc3fa502e3480c47ba04608c8e8ca708 (patch)
tree553bbf96e81314150062e4100744a44ca9e9a90c /src/core/jobs
parentccb9c9ade94b568e64fc09f49d3b87d4110a5ca4 (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.cpp10
-rw-r--r--src/core/jobs/calcboundingvolumejob_p.h2
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;