WPILibC++ 2024.3.2
|
A base class for iterator classes ("handles") that wish to poll for iterator invalidating modifications in the underlying data structure. More...
Public Member Functions | |
HandleBase ()=default | |
HandleBase (const DebugEpochBase *Parent) | |
bool | isHandleInSync () const |
Returns true if the DebugEpochBase this Handle is linked to has not called incrementEpoch on itself since the creation of this HandleBase instance. More... | |
const void * | getEpochAddress () const |
Returns a pointer to the epoch word stored in the data structure this handle points into. More... | |
A base class for iterator classes ("handles") that wish to poll for iterator invalidating modifications in the underlying data structure.
When LLVM is built without asserts, this class is empty and does nothing.
HandleBase does not track the parent data structure by itself. It expects the routines modifying the data structure to call incrementEpoch when they make an iterator-invalidating modification.
|
default |
|
inlineexplicit |
|
inline |
Returns a pointer to the epoch word stored in the data structure this handle points into.
Can be used to check if two iterators point into the same data structure.
|
inline |
Returns true if the DebugEpochBase this Handle is linked to has not called incrementEpoch on itself since the creation of this HandleBase instance.