libs-base/Source/NSRange.m
Andrew McCallum 7699a66d17 Include from <Foundation/...>, not <foundation/...>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@391 72102866-910b-0410-8b05-ffd578937521
1995-04-17 21:13:20 +00:00

56 lines
1.2 KiB
Objective-C

/* NSRange - range functions
*/
#include <Foundation/NSString.h>
NSRange
NSMakeRange(float location, float length)
{
NSRange range;
range.location = location;
range.length = length;
return range;
}
/* Query a Range */
BOOL
NSEqualRanges(NSRange range1, NSRange range2)
{
return ((range1.location == range2.location)
&& (range1.length == range2.length));
}
/* Compute a Range from Two Other Ranges */
NSRange
NSUnionRange(NSRange aRange, NSRange bRange)
{
NSRange range;
range.location = MIN(aRange.location, bRange.location);
range.length = MAX(NSMaxRange(aRange), NSMaxRange(bRange))
- range.location;
return range;
}
NSRange
NSIntersectionRange (NSRange aRange, NSRange bRange)
{
NSRange range;
if (NSMaxRange(aRange) < bRange.location
|| NSMaxRange(bRange) < aRange.location)
return NSMakeRange(0, 0);
range.location = MAX(aRange.location, bRange.location);
range.length = MIN(NSMaxRange(aRange), NSMaxRange(bRange))
- range.location;
return range;
}
NSString *
NSStringFromRange(NSRange range)
{
return [NSString stringWithFormat:@"{location = %d, length = %d}",
range.location, range.length];
}