@class TSCECellDirtier, TSCECalculationEngine; @interface TSCEReferencesToDirty : TSPObject { struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _dirtyingMutex; TSCECellDirtier *_cellRefDirtier; struct TSUIndexSet { unsigned char _isEmpty : 1; unsigned char _hasSingleRange : 1; struct TSUIndexRange { long long _begin; long long _end; } _singleRange; struct *_multipleRanges; } _toDirtyOwnerIds; struct TSCEInternalCellRefSet { struct unordered_map, std::equal_to, std::allocator>> { struct __hash_table, std::__unordered_map_hasher, std::hash, std::equal_to>, std::__unordered_map_equal, std::equal_to, std::hash>, std::allocator>> { struct unique_ptr, void *> *> *[], std::__bucket_list_deallocator, void *> *> *>>> { struct __compressed_pair, void *> *> **, std::__bucket_list_deallocator, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator, void *> *> *>> { struct __compressed_pair, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair, void *> *>, std::allocator, void *>>> { struct __hash_node_base, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair, std::hash, std::equal_to>> { unsigned long long __value_; } __p2_; struct __compressed_pair, std::equal_to, std::hash>> { float __value_; } __p3_; } __table_; } _coordsForOwnerId; } _toDirtyInternalCellRefs; struct TSCECellRefSet { struct map, std::allocator>> { struct __tree, std::__map_value_compare, std::less>, std::allocator>> { void *__begin_node_; struct __compressed_pair *>, std::allocator, void *>>> { struct __tree_end_node *> { void *__left_; } __value_; } __pair1_; struct __compressed_pair, std::less>> { unsigned long long __value_; } __pair3_; } __tree_; } _coordsForOwnerUid; } _toDirtyCellRefs; struct TSCECellRefSet { struct map, std::allocator>> { struct __tree, std::__map_value_compare, std::less>, std::allocator>> { void *__begin_node_; struct __compressed_pair *>, std::allocator, void *>>> { struct __tree_end_node *> { void *__left_; } __value_; } __pair1_; struct __compressed_pair, std::less>> { unsigned long long __value_; } __pair3_; } __tree_; } _coordsForOwnerUid; } _toDirtyDependentsOnlyCellRefs; struct TSCEInternalCellRefSet { struct unordered_map, std::equal_to, std::allocator>> { struct __hash_table, std::__unordered_map_hasher, std::hash, std::equal_to>, std::__unordered_map_equal, std::equal_to, std::hash>, std::allocator>> { struct unique_ptr, void *> *> *[], std::__bucket_list_deallocator, void *> *> *>>> { struct __compressed_pair, void *> *> **, std::__bucket_list_deallocator, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator, void *> *> *>> { struct __compressed_pair, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair, void *> *>, std::allocator, void *>>> { struct __hash_node_base, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair, std::hash, std::equal_to>> { unsigned long long __value_; } __p2_; struct __compressed_pair, std::equal_to, std::hash>> { float __value_; } __p3_; } __table_; } _coordsForOwnerId; } _toUpdateDirtyPrecedentCountCellRefs; struct vector> { struct TSCEInternalRangeReference *__begin_; struct TSCEInternalRangeReference *__end_; struct __compressed_pair> { struct TSCEInternalRangeReference *__value_; } __end_cap_; } _toDirtyRangeRefs; struct TSCEInternalCellRefSet { struct unordered_map, std::equal_to, std::allocator>> { struct __hash_table, std::__unordered_map_hasher, std::hash, std::equal_to>, std::__unordered_map_equal, std::equal_to, std::hash>, std::allocator>> { struct unique_ptr, void *> *> *[], std::__bucket_list_deallocator, void *> *> *>>> { struct __compressed_pair, void *> *> **, std::__bucket_list_deallocator, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator, void *> *> *>> { struct __compressed_pair, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair, void *> *>, std::allocator, void *>>> { struct __hash_node_base, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair, std::hash, std::equal_to>> { unsigned long long __value_; } __p2_; struct __compressed_pair, std::equal_to, std::hash>> { float __value_; } __p3_; } __table_; } _coordsForOwnerId; } _calcCellsInProgress; } @property (readonly, nonatomic) TSCECalculationEngine *calcEngine; @property (readonly, nonatomic) BOOL isEmptyForDirtying; @property (readonly, nonatomic) BOOL isEmptyForArchiving; @property (nonatomic) BOOL shouldPerformDetectAndRepairConsistencyViolations; @property (nonatomic) BOOL shouldCleanGraphForConsistencyViolation; @property (readonly, nonatomic) BOOL debugOnly_DidDetectAndRepairConsistencyViolations; @property (readonly, nonatomic) BOOL debugOnly_DidCleanGraphForConsistencyViolation; - (void)willClose; - (void)commonInit; - (id).cxx_construct; - (void).cxx_destruct; - (void)saveToArchiver:(id)a0; - (void)loadFromUnarchiver:(id)a0; - (void)setCalculationEngine:(id)a0; - (BOOL)flushDirtyReferencesForSeconds:(double)a0; - (BOOL)hasDirtyingToPerformForOwnerId:(unsigned short)a0; - (void)updatePrecedentCountForCellRef:(const struct TSCEInternalCellReference { struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x0; unsigned short x1; unsigned short x2; } *)a0; - (BOOL)hasPrecedentCountUpdatesPending; - (void)_flushCellRefSetWithDepTracker:(void *)a0 startTime:(id)a1 timeout:(double)a2; - (void)_flushDependentOnlyCellRefSetWithDepTracker:(void *)a0 startTime:(id)a1 timeout:(double)a2; - (void)_flushDirtyOwnerIdsWithDepTracker:(void *)a0 startTime:(id)a1 timeout:(double)a2; - (void)_flushInternalCellRefSetWithDepTracker:(void *)a0 startTime:(id)a1 timeout:(double)a2; - (void)_flushRangeRefsWithDepTracker:(void *)a0 startTime:(id)a1 timeout:(double)a2; - (void)_flushUpdatePrecedentsCellRefSetWithDepTracker:(void *)a0 startTime:(id)a1 timeout:(double)a2; - (void)addInProgressCalcCellRefs:(const void *)a0; - (void)clearInProgressCalcCellRefs; - (void)dirtyAllCellsInOwner:(const struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } *)a0; - (void)dirtyAllCellsInOwnerId:(unsigned short)a0; - (void)dirtyCellRef:(const struct TSCECellRef { struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x0; struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x1; } *)a0; - (void)dirtyCellRefs:(const void *)a0; - (void)dirtyCellRefsInReferenceSet:(id)a0; - (void)dirtyCoords:(const void *)a0 inOwnerId:(unsigned short)a1; - (void)dirtyInternalCellRef:(const struct TSCEInternalCellReference { struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x0; unsigned short x1; unsigned short x2; } *)a0; - (void)dirtyInternalCellRefs:(const void *)a0; - (void)dirtyInternalCellRefsVector:(const void *)a0; - (void)dirtyInternalRangeRef:(const struct TSCEInternalRangeReference { struct TSCERangeCoordinate { struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x0; struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x1; } x0; unsigned short x1; } *)a0; - (void)dirtyOnlyDependentsOfCellRef:(const struct TSCECellRef { struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x0; struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x1; } *)a0; - (void)dirtyRangeRef:(const struct TSCERangeRef { struct TSCERangeCoordinate { struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x0; struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x1; } x0; struct TSKUIDStruct { unsigned long long x0; unsigned long long x1; } x1; } *)a0; - (void)flushAllDirtyReferences; - (void)flushCellDirtier; - (id)initWithCalcEngine:(id)a0; - (BOOL)isInProgressCalcIntCellRef:(const struct TSCEInternalCellReference { struct TSUCellCoord { unsigned int x0; unsigned short x1; BOOL x2; BOOL x3; } x0; unsigned short x1; unsigned short x2; } *)a0; - (unsigned long long)numberOfInProgressCalcCellRef; @end