HexFiend: HFByteRangeAttributeArray.h Source File

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
-[HFByteRangeAttributeArray attributeEnumerator]
NSEnumerator * attributeEnumerator()
HFRange
HFRange is the 64 bit analog of NSRange, containing a 64 bit location and length. ...
Definition: HFTypes.h:2
HFByteRangeAttributeArray
A class that represents sets of attributes, attached to ranges of bytes.
Definition: HFByteRangeAttributeArray.h:13
-[HFByteRangeAttributeArray isEmpty]
BOOL isEmpty()