8 #import <Foundation/Foundation.h> 14 @interface HFIndexSet : NSObject <NSCopying, NSMutableCopying> {
16 NSUInteger rangeCount;
17 NSUInteger rangeCapacity;
26 - (instancetype)initWithValue:(
unsigned long long)value;
29 - (instancetype)initWithValuesInRange:(
HFRange)range;
32 - (instancetype)initWithIndexSet:(
HFIndexSet *)otherSet;
38 - (
HFRange)rangeAtIndex:(NSUInteger)idx;
41 - (
unsigned long long)countOfValuesInRange:(
HFRange)range;
51 - (
HFRange)rangeContainingValue:(
unsigned long long)idx;
54 - (BOOL)isEqualToNSIndexSet:(NSIndexSet *)indexSet;
64 - (void)addIndexesInRange:(
HFRange)range;
67 - (void)removeIndexesInRange:(
HFRange)range;
70 - (void)shiftValuesRightByAmount:(
unsigned long long)delta startingAtValue:(
unsigned long long)value;
73 - (void)shiftValuesLeftByAmount:(
unsigned long long)delta startingAtValue:(
unsigned long long)value;
76 - (void)shiftValuesLeftByAmount:(
unsigned long long)delta endingAtValue:(
unsigned long long)value;
The mutable subclass of HFIndexSet.
Definition: HFIndexSet.h:55
HFRange is the 64 bit analog of NSRange, containing a 64 bit location and length. ...
Definition: HFTypes.h:2
unsigned long long countOfValues()
NSUInteger numberOfRanges()
Hex Fiend's answer to NSIndexSet. It can contain any unsigned long long value.
Definition: HFIndexSet.h:14