| //===--- NSIndexSetShims.h - Foundation declarations for IndexSet overlay -===// |
| // |
| // This source file is part of the Swift.org open source project |
| // |
| // Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors |
| // Licensed under Apache License v2.0 with Runtime Library Exception |
| // |
| // See https://swift.org/LICENSE.txt for license information |
| // See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #import "FoundationShimSupport.h" |
| |
| NS_BEGIN_DECLS |
| |
| @interface NSIndexSet (NSRanges) |
| - (NSUInteger)rangeCount; |
| - (NSRange)rangeAtIndex:(NSUInteger)rangeIndex; |
| - (NSUInteger)_indexOfRangeContainingIndex:(NSUInteger)value; |
| @end |
| |
| extern NSUInteger __NSIndexSetRangeCount(NS_NON_BRIDGED(NSIndexSet *)self_) { |
| return [(NSIndexSet *)self_ rangeCount]; |
| } |
| |
| extern void __NSIndexSetRangeAtIndex(NS_NON_BRIDGED(NSIndexSet *)self_, NSUInteger rangeIndex, NSUInteger *location, NSUInteger *length) { |
| NSRange result = [(NSIndexSet *)self_ rangeAtIndex:rangeIndex]; |
| *location = result.location; |
| *length = result.length; |
| } |
| |
| NS_INLINE NSUInteger __NSIndexSetIndexOfRangeContainingIndex(NS_NON_BRIDGED(NSIndexSet *)self_, NSUInteger index) { |
| return [(NSIndexSet *)self_ _indexOfRangeContainingIndex:index]; |
| } |
| |
| NS_END_DECLS |