summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2016-02-29 01:01:50 +0100
committerMarc Mutz <marc.mutz@kdab.com>2016-03-04 20:03:50 +0000
commitb630aa54c3dc8b9783596d2a04c253ecf6ca6436 (patch)
tree3cfeb5d60e06862050e0afb07a8c5f89b739a870
parent27d42a9894cdf31af5bf7c82343da9ea4ef3b64c (diff)
render/framegraph: eradicate Q_FOREACH loops [low-risk]
... by replacing them with C++11 range-for loops. To avoid detaches of these mutable Qt containers, wrap the container in qAsConst(), where needed. This is the batch with low-risk changes. They operate on local containers or the loop body clearly does not cause the container to change. Saves 900B in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I186b2aaf0662bbbc802d103794df608bb7b940a4 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r--src/render/framegraph/framegraphnode.cpp2
-rw-r--r--src/render/framegraph/framegraphvisitor.cpp3
-rw-r--r--src/render/framegraph/layerfilternode.cpp2
-rw-r--r--src/render/framegraph/qrenderpassfilter.cpp4
-rw-r--r--src/render/framegraph/qrenderstateset.cpp2
-rw-r--r--src/render/framegraph/qsortmethod.cpp2
-rw-r--r--src/render/framegraph/qtechniquefilter.cpp4
-rw-r--r--src/render/framegraph/renderpassfilternode.cpp6
-rw-r--r--src/render/framegraph/sortmethod.cpp3
-rw-r--r--src/render/framegraph/statesetnode.cpp3
-rw-r--r--src/render/framegraph/techniquefilternode.cpp6
11 files changed, 22 insertions, 15 deletions
diff --git a/src/render/framegraph/framegraphnode.cpp b/src/render/framegraph/framegraphnode.cpp
index e6553c4a5..445966f29 100644
--- a/src/render/framegraph/framegraphnode.cpp
+++ b/src/render/framegraph/framegraphnode.cpp
@@ -129,7 +129,7 @@ QList<FrameGraphNode *> FrameGraphNode::children() const
QList<FrameGraphNode *> children;
children.reserve(m_childrenIds.size());
- Q_FOREACH (Qt3DCore::QNodeId id, m_childrenIds) {
+ for (Qt3DCore::QNodeId id : m_childrenIds) {
FrameGraphNode *child = m_manager->lookupNode(id);
if (child != Q_NULLPTR)
children << child;
diff --git a/src/render/framegraph/framegraphvisitor.cpp b/src/render/framegraph/framegraphvisitor.cpp
index a158a060e..204f1e0a9 100644
--- a/src/render/framegraph/framegraphvisitor.cpp
+++ b/src/render/framegraph/framegraphvisitor.cpp
@@ -85,7 +85,8 @@ void FrameGraphVisitor::visit(Render::FrameGraphNode *node)
// Recurse to children (if we have any), otherwise if this is a leaf node,
// initiate a rendering from the current camera
- Q_FOREACH (Render::FrameGraphNode *n, node->children())
+ const auto children = node->children();
+ for (Render::FrameGraphNode *n : children)
visit(n);
// Leaf node - create a RenderView ready to be populated
// TODO: Pass in only framegraph config that has changed from previous
diff --git a/src/render/framegraph/layerfilternode.cpp b/src/render/framegraph/layerfilternode.cpp
index 50ea07f19..57b9b219a 100644
--- a/src/render/framegraph/layerfilternode.cpp
+++ b/src/render/framegraph/layerfilternode.cpp
@@ -83,7 +83,7 @@ void LayerFilterNode::setLayers(const QStringList &list)
m_layers = list;
m_layerIds.clear();
m_layerIds.reserve(m_layers.size());
- Q_FOREACH (const QString &name, m_layers)
+ for (const QString &name : list)
m_layerIds.push_back(StringToInt::lookupId(name));
}
diff --git a/src/render/framegraph/qrenderpassfilter.cpp b/src/render/framegraph/qrenderpassfilter.cpp
index 1b58eee71..45b293057 100644
--- a/src/render/framegraph/qrenderpassfilter.cpp
+++ b/src/render/framegraph/qrenderpassfilter.cpp
@@ -110,9 +110,9 @@ void QRenderPassFilter::copy(const QNode *ref)
{
QFrameGraphNode::copy(ref);
const QRenderPassFilter *other = static_cast<const QRenderPassFilter*>(ref);
- Q_FOREACH (QAnnotation *c, other->d_func()->m_includeList)
+ for (QAnnotation *c : other->d_func()->m_includeList)
addInclude(qobject_cast<QAnnotation *>(QNode::clone(c)));
- Q_FOREACH (QParameter *p, other->d_func()->m_parameters)
+ for (QParameter *p : other->d_func()->m_parameters)
addParameter(qobject_cast<QParameter *>(QNode::clone(p)));
}
diff --git a/src/render/framegraph/qrenderstateset.cpp b/src/render/framegraph/qrenderstateset.cpp
index 016f8627f..c56a7d9d4 100644
--- a/src/render/framegraph/qrenderstateset.cpp
+++ b/src/render/framegraph/qrenderstateset.cpp
@@ -93,7 +93,7 @@ void QRenderStateSet::copy(const QNode *ref)
QFrameGraphNode::copy(ref);
const QRenderStateSet *other = static_cast<const QRenderStateSet*>(ref);
- Q_FOREACH (QRenderState *renderState, other->d_func()->m_renderStates)
+ for (QRenderState *renderState : other->d_func()->m_renderStates)
addRenderState(qobject_cast<QRenderState *>(QNode::clone(renderState)));
}
diff --git a/src/render/framegraph/qsortmethod.cpp b/src/render/framegraph/qsortmethod.cpp
index f0edc4f04..2064db411 100644
--- a/src/render/framegraph/qsortmethod.cpp
+++ b/src/render/framegraph/qsortmethod.cpp
@@ -58,7 +58,7 @@ void QSortMethod::copy(const QNode *ref)
{
QFrameGraphNode::copy(ref);
const QSortMethod *other = static_cast<const QSortMethod*>(ref);
- Q_FOREACH (QSortCriterion *c, other->d_func()->m_criteria)
+ for (QSortCriterion *c : other->d_func()->m_criteria)
addCriterion(qobject_cast<QSortCriterion *>(QNode::clone(c)));
}
diff --git a/src/render/framegraph/qtechniquefilter.cpp b/src/render/framegraph/qtechniquefilter.cpp
index 70ac57822..a7d4f32f9 100644
--- a/src/render/framegraph/qtechniquefilter.cpp
+++ b/src/render/framegraph/qtechniquefilter.cpp
@@ -60,9 +60,9 @@ void QTechniqueFilter::copy(const QNode *ref)
QFrameGraphNode::copy(ref);
const QTechniqueFilter *other = static_cast<const QTechniqueFilter*>(ref);
- Q_FOREACH (QAnnotation *crit, other->d_func()->m_matchList)
+ for (QAnnotation *crit : other->d_func()->m_matchList)
addMatch(qobject_cast<QAnnotation *>(QNode::clone(crit)));
- Q_FOREACH (QParameter *p, other->d_func()->m_parameters)
+ for (QParameter *p : other->d_func()->m_parameters)
addParameter(qobject_cast<QParameter *>(QNode::clone(p)));
}
diff --git a/src/render/framegraph/renderpassfilternode.cpp b/src/render/framegraph/renderpassfilternode.cpp
index e497ebd9c..451f824d3 100644
--- a/src/render/framegraph/renderpassfilternode.cpp
+++ b/src/render/framegraph/renderpassfilternode.cpp
@@ -61,9 +61,11 @@ void RenderPassFilter::updateFromPeer(Qt3DCore::QNode *peer)
m_filters.clear();
m_parameterPack.clear();
setEnabled(filter->isEnabled());
- Q_FOREACH (QAnnotation *criterion, filter->includes())
+ const auto criteria = filter->includes();
+ for (QAnnotation *criterion : criteria)
appendFilter(criterion->id());
- Q_FOREACH (QParameter *p, filter->parameters())
+ const auto parameters = filter->parameters();
+ for (QParameter *p : parameters)
m_parameterPack.appendParameter(p->id());
}
diff --git a/src/render/framegraph/sortmethod.cpp b/src/render/framegraph/sortmethod.cpp
index 76496e2c5..5645b3935 100644
--- a/src/render/framegraph/sortmethod.cpp
+++ b/src/render/framegraph/sortmethod.cpp
@@ -57,7 +57,8 @@ void SortMethod::updateFromPeer(Qt3DCore::QNode *peer)
{
QSortMethod *sortMethod = static_cast<QSortMethod *>(peer);
m_criteria.clear();
- Q_FOREACH (QSortCriterion *c, sortMethod->criteria())
+ const auto criteria = sortMethod->criteria();
+ for (QSortCriterion *c : criteria)
m_criteria.append(c->id());
setEnabled(sortMethod->isEnabled());
}
diff --git a/src/render/framegraph/statesetnode.cpp b/src/render/framegraph/statesetnode.cpp
index 42541660f..d883c6726 100644
--- a/src/render/framegraph/statesetnode.cpp
+++ b/src/render/framegraph/statesetnode.cpp
@@ -65,7 +65,8 @@ void StateSetNode::updateFromPeer(Qt3DCore::QNode *peer)
QRenderStateSet *stateSet = static_cast<QRenderStateSet*>(peer);
setEnabled(stateSet->isEnabled());
- Q_FOREACH (QRenderState *renderState, stateSet->renderStates())
+ const auto renderStates = stateSet->renderStates();
+ for (QRenderState *renderState : renderStates)
appendRenderState(renderState->id());
}
diff --git a/src/render/framegraph/techniquefilternode.cpp b/src/render/framegraph/techniquefilternode.cpp
index c1c836178..6a8d8590c 100644
--- a/src/render/framegraph/techniquefilternode.cpp
+++ b/src/render/framegraph/techniquefilternode.cpp
@@ -61,9 +61,11 @@ void TechniqueFilter::updateFromPeer(Qt3DCore::QNode *peer)
QTechniqueFilter *filter = static_cast<QTechniqueFilter *>(peer);
m_filters.clear();
m_parameterPack.clear();
- Q_FOREACH (QAnnotation *criterion, filter->criteria())
+ const auto criteria = filter->criteria();
+ for (QAnnotation *criterion : criteria)
appendFilter(criterion->id());
- Q_FOREACH (QParameter *p, filter->parameters())
+ const auto parameters = filter->parameters();
+ for (QParameter *p : parameters)
m_parameterPack.appendParameter(p->id());
setEnabled(filter->isEnabled());
}