summaryrefslogtreecommitdiff
path: root/sc/source/core/inc
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2014-11-11 15:34:46 -0500
committerKohei Yoshida <kohei.yoshida@collabora.com>2014-11-18 08:31:54 -0500
commitd21cbd9763bf04071fdeaabd79f469f75e1d0dc0 (patch)
treea45ae88b369caffca227ef40370166fee145f1ef /sc/source/core/inc
parentcc35f07019d2aa55de3af5c028f62756f2648aa1 (diff)
Optimize area broadcast iteration ...
for cases where no areas are marked for removal, which I believe is mor common use case than others. Change-Id: I3f53fb5e6ab4a9172e358bec0c71289d1e92ac19
Diffstat (limited to 'sc/source/core/inc')
-rw-r--r--sc/source/core/inc/bcaslot.hxx9
1 files changed, 9 insertions, 0 deletions
diff --git a/sc/source/core/inc/bcaslot.hxx b/sc/source/core/inc/bcaslot.hxx
index 59812af0d114..830ddeaa216d 100644
--- a/sc/source/core/inc/bcaslot.hxx
+++ b/sc/source/core/inc/bcaslot.hxx
@@ -136,6 +136,15 @@ private:
ScBroadcastAreaSlotMachine* pBASM;
bool mbInBroadcastIteration;
+ /**
+ * If true, the slot has at least one area broadcaster marked for removal.
+ * This flag is used only during broadcast iteration, to speed up
+ * iteration. Using this flag is cheaper than dereferencing each iterator
+ * and checking its own flag inside especially when no areas are marked
+ * for removal.
+ */
+ bool mbHasErasedArea;
+
ScBroadcastAreas::const_iterator FindBroadcastArea( const ScRange& rRange ) const;
/**