Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
BRepGraph_DeferredScope Class Reference

RAII guard for batch mutation scopes with deferred invalidation. More...

#include <BRepGraph_DeferredScope.hxx>

Public Member Functions

 BRepGraph_DeferredScope (BRepGraph &theGraph)
 Begin deferred invalidation if not already active.
 
 ~BRepGraph_DeferredScope ()
 End deferred invalidation and validate reverse index + active counts.
 
 BRepGraph_DeferredScope (const BRepGraph_DeferredScope &)=delete
 
BRepGraph_DeferredScopeoperator= (const BRepGraph_DeferredScope &)=delete
 

Detailed Description

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)
{
// mutations
}
} // EndDeferredInvalidation + CommitMutation called here
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

Constructor & Destructor Documentation

◆ BRepGraph_DeferredScope() [1/2]

BRepGraph_DeferredScope::BRepGraph_DeferredScope ( BRepGraph & theGraph)
inlineexplicit

Begin deferred invalidation if not already active.

◆ ~BRepGraph_DeferredScope()

BRepGraph_DeferredScope::~BRepGraph_DeferredScope ( )
inline

End deferred invalidation and validate reverse index + active counts.

◆ BRepGraph_DeferredScope() [2/2]

BRepGraph_DeferredScope::BRepGraph_DeferredScope ( const BRepGraph_DeferredScope & )
delete

Member Function Documentation

◆ operator=()

BRepGraph_DeferredScope & BRepGraph_DeferredScope::operator= ( const BRepGraph_DeferredScope & )
delete

The documentation for this class was generated from the following file: