HexFiend
HFByteRangeAttributeArray.h
Go to the documentation of this file.
1 //
2 // HFByteRangeAttributeArray.h
3 // HexFiend_2
4 //
5 // Copyright 2009 ridiculous_fish. All rights reserved.
6 //
7 
8 #import <Foundation/Foundation.h>
9 
13 @interface HFByteRangeAttributeArray : NSObject <NSMutableCopying> {
14 }
15 
17 - (NSSet *)attributesAtIndex:(unsigned long long)index length:(unsigned long long *)length;
18 
20 - (NSSet *)attributesInRange:(HFRange)range;
21 
23 - (HFRange)rangeOfAttribute:(NSString *)attribute;
24 
26 - (void)addAttribute:(NSString *)attributeName range:(HFRange)range;
27 
29 - (void)removeAttribute:(NSString *)attributeName range:(HFRange)range;
30 
32 - (void)removeAttribute:(NSString *)attributeName;
33 
35 - (void)removeAttributes:(NSSet *)attributeName;
36 
38 - (BOOL)isEmpty;
39 
41 - (NSEnumerator *)attributeEnumerator;
42 
44 - (void)byteRange:(HFRange)srcRange wasReplacedByBytesOfLength:(unsigned long long)replacementLength;
45 
47 - (void)transferAttributesFromAttributeArray:(HFByteRangeAttributeArray *)array range:(HFRange)range baseOffset:(unsigned long long)baseOffset validator:(BOOL (^)(NSString *))allowTransfer;
48 
49 @end
50 
51 #ifndef DOXYGEN_ONLY
52 @interface HFNaiveByteRangeAttributeArray : HFByteRangeAttributeArray {
53  NSMutableArray *attributeRuns;
54 }
55 @end
56 
57 @class HFAnnotatedTree;
58 @interface HFAnnotatedTreeByteRangeAttributeArray : HFByteRangeAttributeArray {
59  HFAnnotatedTree *atree;
60  NSMutableDictionary *attributesToNodes;
61 }
62 @end
63 #endif
NSEnumerator * attributeEnumerator()
HFRange is the 64 bit analog of NSRange, containing a 64 bit location and length. ...
Definition: HFTypes.h:2
A class that represents sets of attributes, attached to ranges of bytes.
Definition: HFByteRangeAttributeArray.h:13