diff options
author | Kohei Yoshida <kohei.yoshida@collabora.com> | 2014-11-11 15:34:46 -0500 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@collabora.com> | 2014-11-18 08:31:54 -0500 |
commit | d21cbd9763bf04071fdeaabd79f469f75e1d0dc0 (patch) | |
tree | a45ae88b369caffca227ef40370166fee145f1ef /sc/source/core/inc | |
parent | cc35f07019d2aa55de3af5c028f62756f2648aa1 (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.hxx | 9 |
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; /** |