home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / OpenStepConversion / IntermediateFrameworks2 / Foundation.framework / Headers / NSRange.h < prev    next >
Text File  |  1996-01-22  |  1KB  |  42 lines

  1. /*    NSRange.h
  2.     Range utilities
  3.     Copyright 1994, NeXT Computer, Inc.
  4. */
  5.  
  6. #import <Foundation/NSObjCRuntime.h>
  7.  
  8. @class NSString;
  9.  
  10. typedef struct _NSRange {
  11.     unsigned int location;
  12.     unsigned int length;
  13. } NSRange;
  14.  
  15. static __inline__ NSRange NSMakeRange(unsigned int loc, unsigned int len) {
  16.     NSRange r;
  17.     r.location = loc;
  18.     r.length = len;
  19.     return r;
  20. }
  21.  
  22. static __inline__ unsigned int NSMaxRange(NSRange range) {
  23.     return (range.location + range.length);
  24. }
  25.  
  26. static __inline__ BOOL NSLocationInRange(unsigned int loc, NSRange range) {
  27.     return (range.location <= loc && loc < range.location + range.length);
  28. }
  29.  
  30. static __inline__ BOOL NSEqualRanges(NSRange range1, NSRange range2) {
  31.     return (range1.location == range2.location && range1.length == range2.length);
  32. }
  33.  
  34. FOUNDATION_EXPORT
  35. extern NSRange NSUnionRange(NSRange range1, NSRange range2);
  36. FOUNDATION_EXPORT
  37. extern NSRange NSIntersectionRange(NSRange range1, NSRange range2);
  38. FOUNDATION_EXPORT
  39. extern NSString *NSStringFromRange(NSRange range);
  40. FOUNDATION_EXPORT
  41. extern NSRange NSRangeFromString(NSString *aString);
  42.