// // MPRange.h // MathPad // // Created by Kim Wittenburg on 18.04.14. // Copyright (c) 2014 Kim Wittenburg. All rights reserved. // @interface MPRange : NSObject #pragma mark Creation Methods - (instancetype)init; - (instancetype)initWithLocation:(NSIndexPath *)location length:(NSUInteger)length; - (instancetype)initWithRange:(NSRange)aRange; + (instancetype)emptyRange; + (instancetype)rangeWithLocation:(NSIndexPath *)location length:(NSUInteger)length; + (instancetype)rangeWithRange:(NSRange)aRange; #pragma mark Properties @property (nonatomic, strong) NSIndexPath *location; @property (nonatomic) NSUInteger length; - (NSIndexPath *)maxRange; - (NSRange)rangeAtLastIndex; #pragma mark Working with Ranges - (BOOL)containsRange:(MPRange *)aRange; - (BOOL)containsLocation:(NSIndexPath *)location; - (BOOL)isEqual:(id)object; - (BOOL)isEqualToRange:(MPRange *)aRange; @end