]> git.saurik.com Git - apple/cf.git/blobdiff - String.subproj/CFCharacterSet.h
CF-476.10.tar.gz
[apple/cf.git] / String.subproj / CFCharacterSet.h
diff --git a/String.subproj/CFCharacterSet.h b/String.subproj/CFCharacterSet.h
deleted file mode 100644 (file)
index a2aab31..0000000
+++ /dev/null
@@ -1,414 +0,0 @@
-/*
- * Copyright (c) 2005 Apple Computer, Inc. All rights reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- * 
- * @APPLE_LICENSE_HEADER_END@
- */
-/*     CFCharacterSet.h
-       Copyright (c) 1999-2005, Apple, Inc. All rights reserved.
-*/
-
-/*!
-       @header CFCharacterSet
-        CFCharacterSet represents a set, or a bag, of Unicode characters.
-        The API consists of 3 groups:
-        1) creation/manipulation of CFCharacterSet instances,
-        2) query of a single Unicode character membership,
-        and 3) bitmap representation related (reading/writing).
-        Conceptually, CFCharacterSet is a 136K byte bitmap array of
-        which each bit represents a Unicode code point.  It could
-        contain the Unicode characters in ISO 10646 Basic Multilingual
-        Plane (BMP) and characters in Plane 1 through Plane 16
-        accessible via surrogate paris in the Unicode Transformation
-        Format, 16-bit encoding form (UTF-16).  In other words, it can
-        store values from 0x00000 to 0x10FFFF in the Unicode
-        Transformation Format, 32-bit encoding form (UTF-32).  However,
-        in general, how CFCharacterSet stores the information is an
-        implementation detail.  Note even CFData used for the external
-        bitmap representation rarely has 136K byte.  For detailed
-        discussion of the external bitmap representation, refer to the
-        comments for CFCharacterSetCreateWithBitmapRepresentation below.
-        Note that the existance of non-BMP characters in a character set
-        does not imply the membership of the corresponding surrogate
-        characters.  For example, a character set with U+10000 does not
-        match with U+D800.
-*/
-
-#if !defined(__COREFOUNDATION_CFCHARACTERSET__)
-#define __COREFOUNDATION_CFCHARACTERSET__ 1
-
-#include <CoreFoundation/CFBase.h>
-#include <CoreFoundation/CFData.h>
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/*!
-       @typedef CFCharacterSetRef
-       This is the type of a reference to immutable CFCharacterSets.
-*/
-typedef const struct __CFCharacterSet * CFCharacterSetRef;
-
-/*!
-       @typedef CFMutableCharacterSetRef
-       This is the type of a reference to mutable CFMutableCharacterSets.
-*/
-typedef struct __CFCharacterSet * CFMutableCharacterSetRef;
-
-/*!
-       @typedef CFCharacterSetPredefinedSet
-        Type of the predefined CFCharacterSet selector values.
-*/
-typedef enum {
-    kCFCharacterSetControl = 1, /* Control character set (Unicode General Category Cc and Cf) */
-    kCFCharacterSetWhitespace, /* Whitespace character set (Unicode General Category Zs and U0009 CHARACTER TABULATION) */
-    kCFCharacterSetWhitespaceAndNewline,  /* Whitespace and Newline character set (Unicode General Category Z*, U000A ~ U000D, and U0085) */
-    kCFCharacterSetDecimalDigit, /* Decimal digit character set */
-    kCFCharacterSetLetter, /* Letter character set (Unicode General Category L* & M*) */
-    kCFCharacterSetLowercaseLetter, /* Lowercase character set (Unicode General Category Ll) */
-    kCFCharacterSetUppercaseLetter, /* Uppercase character set (Unicode General Category Lu and Lt) */
-    kCFCharacterSetNonBase, /* Non-base character set (Unicode General Category M*) */
-    kCFCharacterSetDecomposable, /* Canonically decomposable character set */
-    kCFCharacterSetAlphaNumeric, /* Alpha Numeric character set (Unicode General Category L*, M*, & N*) */
-    kCFCharacterSetPunctuation, /* Punctuation character set (Unicode General Category P*) */
-    kCFCharacterSetIllegal /* Illegal character set */
-#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
-    , kCFCharacterSetCapitalizedLetter /* Titlecase character set (Unicode General Category Lt) */
-#endif
-#if MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED
-    , kCFCharacterSetSymbol /* Symbol character set (Unicode General Category S*) */
-#endif
-} CFCharacterSetPredefinedSet;
-
-/*!
-       @function CFCharacterSetGetTypeID
-       Returns the type identifier of all CFCharacterSet instances.
-*/
-CF_EXPORT
-CFTypeID CFCharacterSetGetTypeID(void);
-
-/*!
-       @function CFCharacterSetGetPredefined
-       Returns a predefined CFCharacterSet instance.
-       @param theSetIdentifier The CFCharacterSetPredefinedSet selector
-                which specifies the predefined character set.  If the
-                value is not in CFCharacterSetPredefinedSet, the behavior
-                is undefined.
-       @result A reference to the predefined immutable CFCharacterSet.
-                This instance is owned by CF.
-*/
-CF_EXPORT
-CFCharacterSetRef CFCharacterSetGetPredefined(CFCharacterSetPredefinedSet theSetIdentifier);
-
-/*!
-       @function CFCharacterSetCreateWithCharactersInRange
-       Creates a new immutable character set with the values from the given range.
-       @param alloc The CFAllocator which should be used to allocate
-               memory for the array and its storage for values. This
-               parameter may be NULL in which case the current default
-               CFAllocator is used. If this reference is not a valid
-               CFAllocator, the behavior is undefined.
-       @param theRange The CFRange which should be used to specify the
-                Unicode range the character set is filled with.  It
-                accepts the range in 32-bit in the UTF-32 format.  The
-                valid character point range is from 0x00000 to 0x10FFFF.
-                If the range is outside of the valid Unicode character
-                point, the behavior is undefined.
-       @result A reference to the new immutable CFCharacterSet.
-*/
-CF_EXPORT
-CFCharacterSetRef CFCharacterSetCreateWithCharactersInRange(CFAllocatorRef alloc, CFRange theRange);
-
-/*!
-       @function CFCharacterSetCreateWithCharactersInString
-       Creates a new immutable character set with the values in the given string.
-       @param alloc The CFAllocator which should be used to allocate
-               memory for the array and its storage for values. This
-               parameter may be NULL in which case the current default
-               CFAllocator is used. If this reference is not a valid
-               CFAllocator, the behavior is undefined.
-       @param theString The CFString which should be used to specify
-                the Unicode characters the character set is filled with.
-                If this parameter is not a valid CFString, the behavior
-                is undefined.
-        @result A reference to the new immutable CFCharacterSet.
-*/
-CF_EXPORT
-CFCharacterSetRef CFCharacterSetCreateWithCharactersInString(CFAllocatorRef alloc, CFStringRef theString);
-
-/*!
-       @function CFCharacterSetCreateWithBitmapRepresentation
-       Creates a new immutable character set with the bitmap representtion in the given data.
-       @param alloc The CFAllocator which should be used to allocate
-               memory for the array and its storage for values. This
-               parameter may be NULL in which case the current default
-               CFAllocator is used. If this reference is not a valid
-               CFAllocator, the behavior is undefined.
-       @param theData The CFData which should be used to specify the
-                bitmap representation of the Unicode character points
-                the character set is filled with.  The bitmap
-                representation could contain all the Unicode character
-                range starting from BMP to Plane 16.  The first 8K bytes
-                of the data represents the BMP range.  The BMP range 8K
-                bytes can be followed by zero to sixteen 8K byte
-                bitmaps, each one with the plane index byte prepended.
-                For example, the bitmap representing the BMP and Plane 2
-                has the size of 16385 bytes (8K bytes for BMP, 1 byte
-                index + 8K bytes bitmap for Plane 2).  The plane index
-                byte, in this case, contains the integer value two.  If
-                this parameter is not a valid CFData or it contains a
-                Plane index byte outside of the valid Plane range
-                (1 to 16), the behavior is undefined.
-        @result A reference to the new immutable CFCharacterSet.
-*/
-CF_EXPORT
-CFCharacterSetRef CFCharacterSetCreateWithBitmapRepresentation(CFAllocatorRef alloc, CFDataRef theData);
-
-#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
-/*!
-       @function CFCharacterSetCreateInvertedSet
-       Creates a new immutable character set that is the invert of the specified character set.
-       @param alloc The CFAllocator which should be used to allocate
-                       memory for the array and its storage for values. This
-                       parameter may be NULL in which case the current default
-                       CFAllocator is used. If this reference is not a valid
-                       CFAllocator, the behavior is undefined.
-       @param theSet The CFCharacterSet which is to be inverted.  If this
-                               parameter is not a valid CFCharacterSet, the behavior is
-                       undefined.
-       @result A reference to the new immutable CFCharacterSet.
-*/
-CF_EXPORT CFCharacterSetRef CFCharacterSetCreateInvertedSet(CFAllocatorRef alloc, CFCharacterSetRef theSet);
-
-/*!
-       @function CFCharacterSetIsSupersetOfSet
-       Reports whether or not the character set is a superset of the character set specified as the second parameter.
-       @param theSet  The character set to be checked for the membership of theOtherSet.
-               If this parameter is not a valid CFCharacterSet, the behavior is undefined.
-       @param theOtherset  The character set to be checked whether or not it is a subset of theSet.
-               If this parameter is not a valid CFCharacterSet, the behavior is undefined.
-*/
-CF_EXPORT Boolean CFCharacterSetIsSupersetOfSet(CFCharacterSetRef theSet, CFCharacterSetRef theOtherset);
-
-/*!
-       @function CFCharacterSetHasMemberInPlane
-       Reports whether or not the character set contains at least one member character in the specified plane.
-       @param theSet  The character set to be checked for the membership.  If this
-               parameter is not a valid CFCharacterSet, the behavior is undefined.
-       @param thePlane  The plane number to be checked for the membership.
-               The valid value range is from 0 to 16.  If the value is outside of the valid
-               plane number range, the behavior is undefined.
-*/
-CF_EXPORT Boolean CFCharacterSetHasMemberInPlane(CFCharacterSetRef theSet, CFIndex thePlane);
-#endif
-
-/*!
-       @function CFCharacterSetCreateMutable
-       Creates a new empty mutable character set.
-       @param allocator The CFAllocator which should be used to allocate
-               memory for the array and its storage for values. This
-               parameter may be NULL in which case the current default
-               CFAllocator is used. If this reference is not a valid
-               CFAllocator, the behavior is undefined.
-       @result A reference to the new mutable CFCharacterSet.
-*/
-CF_EXPORT
-CFMutableCharacterSetRef CFCharacterSetCreateMutable(CFAllocatorRef alloc);
-
-#if MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED
-/*!
-       @function CFCharacterSetCreateCopy
-       Creates a new character set with the values from the given character set.  This function tries to compact the backing store where applicable.
-       @param allocator The CFAllocator which should be used to allocate
-               memory for the array and its storage for values. This
-               parameter may be NULL in which case the current default
-               CFAllocator is used. If this reference is not a valid
-               CFAllocator, the behavior is undefined.
-       @param theSet The CFCharacterSet which is to be copied.  If this
-                parameter is not a valid CFCharacterSet, the behavior is
-                undefined.
-       @result A reference to the new CFCharacterSet.
-*/
-CF_EXPORT
-CFCharacterSetRef CFCharacterSetCreateCopy(CFAllocatorRef alloc, CFCharacterSetRef theSet) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
-#endif /* MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED */
-
-/*!
-       @function CFCharacterSetCreateMutableCopy
-       Creates a new mutable character set with the values from the given character set.
-       @param allocator The CFAllocator which should be used to allocate
-               memory for the array and its storage for values. This
-               parameter may be NULL in which case the current default
-               CFAllocator is used. If this reference is not a valid
-               CFAllocator, the behavior is undefined.
-       @param theSet The CFCharacterSet which is to be copied.  If this
-                parameter is not a valid CFCharacterSet, the behavior is
-                undefined.
-       @result A reference to the new mutable CFCharacterSet.
-*/
-CF_EXPORT
-CFMutableCharacterSetRef CFCharacterSetCreateMutableCopy(CFAllocatorRef alloc, CFCharacterSetRef theSet);
-
-/*!
-       @function CFCharacterSetIsCharacterMember
-       Reports whether or not the Unicode character is in the character set.
-       @param theSet The character set to be searched. If this parameter
-                is not a valid CFCharacterSet, the behavior is undefined.
-       @param theChar The Unicode character for which to test against the
-                character set.  Note that this function takes 16-bit Unicode
-                character value; hence, it does not support access to the
-                non-BMP planes.  
-        @result true, if the value is in the character set, otherwise false.
-*/
-CF_EXPORT
-Boolean CFCharacterSetIsCharacterMember(CFCharacterSetRef theSet, UniChar theChar);
-
-#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
-/*!
-       @function CFCharacterSetIsLongCharacterMember
-       Reports whether or not the UTF-32 character is in the character set.
-       @param theSet The character set to be searched. If this parameter
-                                is not a valid CFCharacterSet, the behavior is undefined.
-       @param theChar The UTF-32 character for which to test against the
-                       character set.
-        @result true, if the value is in the character set, otherwise false.
-*/
-CF_EXPORT Boolean CFCharacterSetIsLongCharacterMember(CFCharacterSetRef theSet, UTF32Char theChar);
-#endif
-
-/*!
-       @function CFCharacterSetCreateBitmapRepresentation
-       Creates a new immutable data with the bitmap representation from the given character set.
-       @param allocator The CFAllocator which should be used to allocate
-               memory for the array and its storage for values. This
-               parameter may be NULL in which case the current default
-               CFAllocator is used. If this reference is not a valid
-               CFAllocator, the behavior is undefined.
-       @param theSet The CFCharacterSet which is to be used create the
-                bitmap representation from.  Refer to the comments for
-                CFCharacterSetCreateWithBitmapRepresentation for the
-                detailed discussion of the bitmap representation format.
-                If this parameter is not a valid CFCharacterSet, the
-                behavior is undefined.
-       @result A reference to the new immutable CFData.
-*/
-CF_EXPORT
-CFDataRef CFCharacterSetCreateBitmapRepresentation(CFAllocatorRef alloc, CFCharacterSetRef theSet);
-
-/*!
-       @function CFCharacterSetAddCharactersInRange
-       Adds the given range to the charaacter set.
-       @param theSet The character set to which the range is to be added.
-                If this parameter is not a valid mutable CFCharacterSet,
-                the behavior is undefined.
-        @param theRange The range to add to the character set.  It accepts
-                the range in 32-bit in the UTF-32 format.  The valid
-                character point range is from 0x00000 to 0x10FFFF.  If the
-                range is outside of the valid Unicode character point,
-                the behavior is undefined.
-*/
-CF_EXPORT
-void CFCharacterSetAddCharactersInRange(CFMutableCharacterSetRef theSet, CFRange theRange);
-
-/*!
-       @function CFCharacterSetRemoveCharactersInRange
-       Removes the given range from the charaacter set.
-       @param theSet The character set from which the range is to be
-                removed.  If this parameter is not a valid mutable
-                CFCharacterSet, the behavior is undefined.
-        @param theRange The range to remove from the character set.
-                It accepts the range in 32-bit in the UTF-32 format.
-                The valid character point range is from 0x00000 to 0x10FFFF.
-                If the range is outside of the valid Unicode character point,
-                the behavior is undefined.
-*/
-CF_EXPORT
-void CFCharacterSetRemoveCharactersInRange(CFMutableCharacterSetRef theSet, CFRange theRange);
-
-/*!
-       @function CFCharacterSetAddCharactersInString
-       Adds the characters in the given string to the charaacter set.
-       @param theSet The character set to which the characters in the
-                string are to be added.  If this parameter is not a
-                valid mutable CFCharacterSet, the behavior is undefined.
-        @param theString The string to add to the character set.
-                If this parameter is not a valid CFString, the behavior
-                is undefined.
-*/
-CF_EXPORT
-void CFCharacterSetAddCharactersInString(CFMutableCharacterSetRef theSet,  CFStringRef theString);
-
-/*!
-       @function CFCharacterSetRemoveCharactersInString
-       Removes the characters in the given string from the charaacter set.
-       @param theSet The character set from which the characters in the
-                string are to be remove.  If this parameter is not a
-                valid mutable CFCharacterSet, the behavior is undefined.
-        @param theString The string to remove from the character set.
-                If this parameter is not a valid CFString, the behavior
-                is undefined.
-*/
-CF_EXPORT
-void CFCharacterSetRemoveCharactersInString(CFMutableCharacterSetRef theSet, CFStringRef theString);
-
-/*!
-       @function CFCharacterSetUnion
-       Forms the union with the given character set.
-       @param theSet The destination character set into which the
-                union of the two character sets is stored.  If this
-                parameter is not a valid mutable CFCharacterSet, the
-                behavior is undefined.
-       @param theOtherSet The character set with which the union is
-                formed.  If this parameter is not a valid CFCharacterSet,
-                the behavior is undefined.
-*/
-CF_EXPORT
-void CFCharacterSetUnion(CFMutableCharacterSetRef theSet, CFCharacterSetRef theOtherSet);
-
-/*!
-       @function CFCharacterSetIntersect
-       Forms the intersection with the given character set.
-       @param theSet The destination character set into which the
-                intersection of the two character sets is stored.
-                If this parameter is not a valid mutable CFCharacterSet,
-                the behavior is undefined.
-       @param theOtherSet The character set with which the intersection
-                is formed.  If this parameter is not a valid CFCharacterSet,
-                the behavior is undefined.
-*/
-CF_EXPORT
-void CFCharacterSetIntersect(CFMutableCharacterSetRef theSet, CFCharacterSetRef theOtherSet);
-
-/*!
-       @function CFCharacterSetInvert
-       Inverts the content of the given character set.
-       @param theSet The character set to be inverted.
-                If this parameter is not a valid mutable CFCharacterSet,
-                the behavior is undefined.
-*/
-CF_EXPORT
-void CFCharacterSetInvert(CFMutableCharacterSetRef theSet);
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif /* !__COREFOUNDATION_CFCHARACTERSET__ */
-