luxlabs header browser preview


@class NSHashTable, NSString, TTVectorMultiTimestamp, NSUUID, CRTTCompatibleDocument, NSMutableAttributedString, NSObject;
@protocol TTMergeableStringDelegate;

@interface TTMergeableString : NSObject <CRDataType> {
    struct vector<TopoSubstring *, std::allocator<TopoSubstring *>> { struct TopoSubstring **__begin_; struct TopoSubstring **__end_; struct __compressed_pair<TopoSubstring **, std::allocator<TopoSubstring *>> { struct TopoSubstring **__value_; } __end_cap_; } _startNodes;
    struct vector<TopoSubstring *, std::allocator<TopoSubstring *>> { struct TopoSubstring **__begin_; struct TopoSubstring **__end_; struct __compressed_pair<TopoSubstring **, std::allocator<TopoSubstring *>> { struct TopoSubstring **__value_; } __end_cap_; } _endNodes;
    struct vector<TopoSubstring *, std::allocator<TopoSubstring *>> { struct TopoSubstring **__begin_; struct TopoSubstring **__end_; struct __compressed_pair<TopoSubstring **, std::allocator<TopoSubstring *>> { struct TopoSubstring **__value_; } __end_cap_; } _orderedSubstrings;
    unsigned int _unserializedClock;
    unsigned long long _editCount;
    BOOL _cacheInvalid;
    id /* block */ _updateRangeBlock;
}

@property (retain, nonatomic) CRTTCompatibleDocument *document;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;
@property (retain, nonatomic) TTVectorMultiTimestamp *timestamp;
@property (nonatomic) BOOL hasLocalChanges;
@property (retain, nonatomic) NSUUID *replicaUUID;
@property (retain, nonatomic) NSMutableAttributedString *attributedString;
@property (readonly, nonatomic) unsigned long long replicaTextClock;
@property (readonly, nonatomic) unsigned long long replicaStyleClock;
@property (weak, nonatomic) NSObject<TTMergeableStringDelegate> *delegate;
@property (readonly, nonatomic) NSHashTable *objectsNeedingUpdatedRanges;

+ (id)unserialisedReplicaID;

- (void)insertString:(id)a0 atIndex:(unsigned long long)a1;
- (void)invalidateCache;
- (id)init;
- (void)replaceCharactersInRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a0 withAttributedString:(id)a1;
- (void)dealloc;
- (void)endEditing;
- (void)walkGraph:(id /* block */)a0;
- (id)serialize;
- (unsigned long long)length;
- (id)tombstone;
- (void)realizeLocalChangesIn:(id)a0;
- (void)replaceCharactersInRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a0 withString:(id)a1;
- (id).cxx_construct;
- (id)deltaSince:(id)a0 in:(id)a1;
- (void)deleteCharactersInRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a0;
- (id)string;
- (void)beginEditing;
- (void).cxx_destruct;
- (void)updateCache;
- (void)mergeWith:(id)a0;
- (BOOL)isEqual:(id)a0;
- (id)copyWithZone:(struct _NSZone { } *)a0;
- (void)insertAttributedString:(id)a0 atIndex:(unsigned long long)a1;
- (id)characterRangesForSelection:(id)a0;
- (BOOL)check:(id *)a0;
- (unsigned long long)mergeWithString:(id)a0;
- (BOOL)selection:(id)a0 wasModifiedAfter:(id)a1;
- (id)selectionForCharacterRanges:(id)a0 selectionAffinity:(unsigned long long)a1;
- (BOOL)canMergeString:(id)a0;
- (id)replicaUUIDForCharacterAtIndex:(unsigned long long)a0;
- (id)dotDescription:(unsigned long long)a0;
- (void)updateTopoIDRange:(struct TopoIDRange { struct TopoID { id x0; unsigned int x1; } x0; unsigned int x1; })a0 toNewRangeID:(struct TopoIDRange { struct TopoID { id x0; unsigned int x1; } x0; unsigned int x1; })a1;
- (void)_testSetTextTimestamp:(unsigned long long)a0;
- (id)characterRangesForSelection:(id)a0 selectedSubstringsBlock:(id /* block */)a1;
- (void)checkTimestampLogStyleErrors:(BOOL)a0;
- (void)cleanupObjectsNeedingUpdatedRanges;
- (void)coalesce;
- (void)deleteSubstrings:(void *)a0 withCharacterRanges:(void *)a1;
- (void)dumpMergeData:(id)a0;
- (void *)endNodes;
- (void)enumerateRangesModifiedAfter:(id)a0 usingBlock:(id /* block */)a1;
- (void)enumerateSubstrings:(id /* block */)a0;
- (void)generateIdsForLocalChanges;
- (void)generateIdsForLocalChangesSafeForSharedTimestamp:(BOOL)a0;
- (unsigned long long)getCharacterIndexForCharID:(struct TopoID { id x0; unsigned int x1; })a0;
- (void)getCharacterRanges:(void *)a0 forSubstrings:(void *)a1;
- (void *)getSubstringBeforeTopoID:(struct TopoID { id x0; unsigned int x1; })a0;
- (void)getSubstrings:(void *)a0 forCharacterRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a1;
- (void)getSubstrings:(void *)a0 forTopoIDRange:(struct TopoIDRange { struct TopoID { id x0; unsigned int x1; } x0; unsigned int x1; })a1;
- (void)getSubstrings:(void *)a0 inOrderedSubstrings:(void *)a1 forCharacterRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a2;
- (BOOL)graphIsEqual:(id)a0;
- (id)i_saveDeltasSinceTimestamp:(id)a0 toArchive:(void *)a1;
- (id)initWithArchive:(const void *)a0 andReplicaID:(id)a1;
- (id)initWithArchive:(const void *)a0 andReplicaID:(id)a1 andSharedTimestamp:(id)a2;
- (id)initWithArchive:(const void *)a0 andReplicaID:(id)a1 withOrderedSubstrings:(void *)a2;
- (id)initWithArchive:(const void *)a0 andReplicaID:(id)a1 withOrderedSubstrings:(void *)a2 timestamp:(id)a3;
- (id)initWithData:(id)a0 andReplicaID:(id)a1;
- (id)initWithReplicaID:(id)a0;
- (id)initWithReplicaID:(id)a0 asFragment:(BOOL)a1;
- (struct TopoIDRange { struct TopoID { id x0; unsigned int x1; } x0; unsigned int x1; })insertAttributedString:(id)a0 after:(void *)a1 before:(void *)a2;
- (BOOL)isFragment;
- (unsigned long long)mergeWithString:(id)a0 mergeTimestamps:(BOOL)a1;
- (void)moveRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a0 toIndex:(unsigned long long)a1;
- (void *)orderedSubstrings;
- (void)resetLocalReplicaClocksToTimestampValues;
- (void)saveDeltaSinceTimestamp:(id)a0 toArchive:(void *)a1;
- (void)saveSubstrings:(void *)a0 archiveSet:(void *)a1 linkSet:(void *)a2 archivedString:(id *)a3 toArchive:(void *)a4;
- (void)saveToArchive:(void *)a0;
- (id)selectionForCharacterRanges:(id)a0;
- (id)serializeDeltaSinceTimestamp:(id)a0;
- (BOOL)shouldInvalidateCachedSubstringsWithTimestamp:(id)a0;
- (void)sortSplitNodes;
- (void *)splitTopoSubstring:(void *)a0 atIndex:(unsigned int)a1;
- (void *)startNodes;
- (long long)substring:(void *)a0 modifiedAfter:(id)a1;
- (BOOL)textEitherSideOfSelectionAnchor:(struct TopoID { id x0; unsigned int x1; })a0 wasModifiedAfter:(id)a1;
- (void)traverseUnordered:(id /* block */)a0;
- (void)updateAttributedStringAfterMerge;
- (void)updateClock;
- (void)updateSubstringIndexes;
- (void)updateTimestampsInRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a0;

@end