52 mutable bool m_isCacheValid;
64 Q_ASSERT(m_changesCounter >= 0);
66 InvalidateCache(changeSet);
68 BaseClass::BeginChanges(changeSet);
78 Q_ASSERT(m_changesCounter >= 0);
80 BaseClass::EndChanges(changeSet);
89 if (!m_isCacheValid && (m_changesCounter <= 0)){
90 m_isCacheValid =
true;
94 m_cumulatedSet.Reset();
97 return m_isCacheValid;
104 m_cumulatedSet += changeSet;
106 m_isCacheValid =
false;
113 m_cumulatedSet.
Reset();
115 m_isCacheValid =
true;
130: m_changesCounter(0),
131 m_isCacheValid(false)
Set of change flags (its IDs).
void Reset()
Remove all IDs.
Help wrapper class supporting of cached parts.
virtual void BeginChanges(const IChangeable::ChangeSet &changeSet) override
virtual bool CalculateCache(const IChangeable::ChangeSet &changeSet)
Calculate cache.
void InvalidateCache(const IChangeable::ChangeSet &changeSet)
Make cache invalid.
TCachedUpdateManagerWrap()
void SetCacheValid()
Say that cache is valid.
virtual void EndChanges(const IChangeable::ChangeSet &changeSet) override
bool EnsureCacheValid() const
Ensures cache is valid.