mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-27 10:40:50 +00:00
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29219 72102866-910b-0410-8b05-ffd578937521
256 lines
7.1 KiB
Objective-C
256 lines
7.1 KiB
Objective-C
/* Interface for NSCharacterSet for GNUStep
|
|
Copyright (C) 1995 Free Software Foundation, Inc.
|
|
|
|
Written by: Adam Fedor <fedor@boulder.colorado.edu>
|
|
Date: 1995
|
|
|
|
This file is part of the GNUstep Base Library.
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Lesser General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2 of the License, or (at your option) any later version.
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Library General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
|
License along with this library; if not, write to the Free
|
|
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
Boston, MA 02111 USA.
|
|
*/
|
|
|
|
#ifndef __NSCharacterSet_h_GNUSTEP_BASE_INCLUDE
|
|
#define __NSCharacterSet_h_GNUSTEP_BASE_INCLUDE
|
|
#import <GNUstepBase/GSVersionMacros.h>
|
|
|
|
#import <Foundation/NSRange.h>
|
|
#import <Foundation/NSString.h>
|
|
|
|
#if defined(__cplusplus)
|
|
extern "C" {
|
|
#endif
|
|
|
|
@class NSData;
|
|
|
|
/**
|
|
* Represents a set of unicode characters. Used by [NSScanner] and [NSString]
|
|
* for parsing-related methods.
|
|
*/
|
|
@interface NSCharacterSet : NSObject <NSCoding, NSCopying, NSMutableCopying>
|
|
|
|
/**
|
|
* Returns a character set containing letters, numbers, and diacritical
|
|
* marks. Note that "letters" includes all alphabetic as well as Chinese
|
|
* characters, etc..
|
|
*/
|
|
+ (NSCharacterSet*) alphanumericCharacterSet;
|
|
|
|
#if OS_API_VERSION(GS_API_MACOSX, GS_API_LATEST)
|
|
/**
|
|
* Returns a character set containing letters in the unicode
|
|
* Titlecase category.
|
|
*/
|
|
+ (NSCharacterSet*) capitalizedLetterCharacterSet;
|
|
#endif
|
|
|
|
/**
|
|
* Returns a character set containing control and format characters.
|
|
*/
|
|
+ (NSCharacterSet*) controlCharacterSet;
|
|
|
|
/**
|
|
* Returns a character set containing characters that represent
|
|
* the decimal digits 0 through 9.
|
|
*/
|
|
+ (NSCharacterSet*) decimalDigitCharacterSet;
|
|
|
|
/**
|
|
* Returns a character set containing individual characters that
|
|
* can be represented also by a composed character sequence.
|
|
*/
|
|
+ (NSCharacterSet*) decomposableCharacterSet;
|
|
|
|
/**
|
|
* Returns a character set containing unassigned and explicitly illegal
|
|
* character values.
|
|
*/
|
|
+ (NSCharacterSet*) illegalCharacterSet;
|
|
|
|
/**
|
|
* Returns a character set containing letters, including all alphabetic as
|
|
* well as Chinese characters, etc..
|
|
*/
|
|
+ (NSCharacterSet*) letterCharacterSet;
|
|
|
|
/**
|
|
* Returns a character set that contains the lowercase characters.
|
|
* This set does not include caseless characters, only those that
|
|
* have corresponding characters in uppercase and/or titlecase.
|
|
*/
|
|
+ (NSCharacterSet*) lowercaseLetterCharacterSet;
|
|
|
|
#if OS_API_VERSION(GS_API_MACOSX, GS_API_LATEST)
|
|
/**
|
|
* Returns a character set containing the newline characters, values
|
|
* 0x000A and 0x000D and nextline 0x0085 character.
|
|
*/
|
|
+ (NSCharacterSet*) newlineCharacterSet;
|
|
#endif
|
|
|
|
/**
|
|
* Returns a character set containing characters for diacritical marks, which
|
|
* are usually only rendered in conjunction with another character.
|
|
*/
|
|
+ (NSCharacterSet*) nonBaseCharacterSet;
|
|
|
|
/**
|
|
* Returns a character set containing punctuation marks.
|
|
*/
|
|
+ (NSCharacterSet*) punctuationCharacterSet;
|
|
|
|
#if OS_API_VERSION(GS_API_MACOSX, GS_API_LATEST)
|
|
/**
|
|
* Returns a character set containing mathematical symbols, etc..
|
|
*/
|
|
+ (NSCharacterSet*) symbolCharacterSet;
|
|
#endif
|
|
|
|
/**
|
|
* Returns a character set that contains the uppercase characters.
|
|
* This set does not include caseless characters, only those that
|
|
* have corresponding characters in lowercase and/or titlecase.
|
|
*/
|
|
+ (NSCharacterSet*) uppercaseLetterCharacterSet;
|
|
|
|
/**
|
|
* Returns a character set that contains the whitespace characters,
|
|
* plus the newline characters, values 0x000A and 0x000D and nextline
|
|
* 0x0085 character.
|
|
*/
|
|
+ (NSCharacterSet*) whitespaceAndNewlineCharacterSet;
|
|
|
|
/**
|
|
* Returns a character set that contains the whitespace characters.
|
|
*/
|
|
+ (NSCharacterSet*) whitespaceCharacterSet;
|
|
|
|
/**
|
|
* Returns a character set containing characters as encoded in the
|
|
* data object (8192 bytes)
|
|
*/
|
|
+ (NSCharacterSet*) characterSetWithBitmapRepresentation: (NSData*)data;
|
|
|
|
/**
|
|
* Returns set with characters in aString, or empty set for empty string.
|
|
* Raises an exception if given a nil string.
|
|
*/
|
|
+ (NSCharacterSet*) characterSetWithCharactersInString: (NSString*)aString;
|
|
|
|
/**
|
|
* Returns set containing unicode index range given by aRange.
|
|
*/
|
|
+ (NSCharacterSet*) characterSetWithRange: (NSRange)aRange;
|
|
|
|
#if OS_API_VERSION(GS_API_OPENSTEP, GS_API_MACOSX)
|
|
/**
|
|
* Initializes from a bitmap (8192 bytes representing 65536 values).<br />
|
|
* Each bit set in the bitmap represents the fact that a character at
|
|
* that position in the unicode base plane exists in the characterset.<br />
|
|
* File must have extension "<code>.bitmap</code>".
|
|
* To get around this load the file into data yourself and use
|
|
* [NSCharacterSet -characterSetWithBitmapRepresentation].
|
|
*/
|
|
+ (NSCharacterSet*) characterSetWithContentsOfFile: (NSString*)aFile;
|
|
#endif
|
|
|
|
/**
|
|
* Returns a bitmap representation of the receiver's character set
|
|
* (suitable for archiving or writing to a file), in an NSData object.<br />
|
|
*/
|
|
- (NSData*) bitmapRepresentation;
|
|
|
|
/**
|
|
* Returns YES if the receiver contains <em>aCharacter</em>, NO if
|
|
* it does not.
|
|
*/
|
|
- (BOOL) characterIsMember: (unichar)aCharacter;
|
|
|
|
#if OS_API_VERSION(GS_API_MACOSX, GS_API_LATEST)
|
|
/**
|
|
* Returns YES if the receiver contains at least one character in the
|
|
* specified unicode plane.
|
|
*/
|
|
- (BOOL) hasMemberInPlane: (uint8_t)aPlane;
|
|
#endif
|
|
|
|
/**
|
|
* Returns a character set containing only characters that the
|
|
* receiver does not contain.
|
|
*/
|
|
- (NSCharacterSet*) invertedSet;
|
|
|
|
#if OS_API_VERSION(GS_API_MACOSX, GS_API_LATEST)
|
|
/**
|
|
* Returns YES is all the characters in aSet are present in the receiver.
|
|
*/
|
|
- (BOOL) isSupersetOfSet: (NSCharacterSet*)aSet;
|
|
|
|
/**
|
|
* Returns YES is the specified 32-bit character is present in the receiver.
|
|
*/
|
|
- (BOOL) longCharacterIsMember: (UTF32Char)aCharacter;
|
|
#endif
|
|
@end
|
|
|
|
/**
|
|
* An [NSCharacterSet] that can be modified.
|
|
*/
|
|
@interface NSMutableCharacterSet : NSCharacterSet
|
|
|
|
/**
|
|
* Adds characters specified by unicode indices in aRange to set.
|
|
*/
|
|
- (void) addCharactersInRange: (NSRange)aRange;
|
|
|
|
/**
|
|
* Adds characters in aString to set.
|
|
*/
|
|
- (void) addCharactersInString: (NSString*)aString;
|
|
|
|
/**
|
|
* Set intersection of character sets.
|
|
*/
|
|
- (void) formIntersectionWithCharacterSet: (NSCharacterSet*)otherSet;
|
|
|
|
/**
|
|
* Set union of character sets.
|
|
*/
|
|
- (void) formUnionWithCharacterSet: (NSCharacterSet*)otherSet;
|
|
|
|
/**
|
|
* Drop given range of characters. No error for characters not currently in
|
|
* set.
|
|
*/
|
|
- (void) removeCharactersInRange: (NSRange)aRange;
|
|
|
|
/**
|
|
* Drop characters in aString. No error for characters not currently in
|
|
* set.
|
|
*/
|
|
- (void) removeCharactersInString: (NSString*)aString;
|
|
|
|
/**
|
|
* Remove all characters currently in set and add all other characters.
|
|
*/
|
|
- (void) invert;
|
|
|
|
@end
|
|
|
|
#if defined(__cplusplus)
|
|
}
|
|
#endif
|
|
|
|
#endif /* __NSCharacterSet_h_GNUSTEP_BASE_INCLUDE*/
|