RAII guard for batch mutation scopes with deferred invalidation.
Activates deferred invalidation on construction and flushes it on destruction, followed by CommitMutation validation. Guarantees exception-safe cleanup: when this guard owns deferred mode, it is always closed and boundary checks are executed at scope exit. EndDeferredInvalidation() batch-propagates SubtreeGen upward, then CommitMutation() validates reverse-index consistency and active-entity counts.
Re-entrant: if deferred mode is already active (e.g., nested guard), the inner guard is a no-op. Only the outermost guard flushes and commits, so nested scopes do not create separate transaction or validation boundaries.
- Warning
- This guard batches invalidation and propagation; it is NOT a transaction and does not serialize mutation bodies. Concurrent
Mut*() usage still requires external synchronization for the whole guarded scope (for example, a mutex protecting exclusive Builder() access until the guard is destroyed).
Usage:
{
for (int i = 0; i < N; ++i)
{
}
}
RAII guard for batch mutation scopes with deferred invalidation.
Definition BRepGraph_DeferredScope.hxx:50
STL input iterator that wraps an OCCT More()/Next() iterator.
Definition NCollection_ForwardRange.hxx:142