Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

uset.h File Reference

#include "unicode/utypes.h"

Go to the source code of this file.

Compounds

struct  USerializedSet
 A serialized form of a Unicode set. More...


Typedefs

typedef USet USet
typedef USerializedSet USerializedSet

Enumerations

enum  { USET_SERIALIZED_STATIC_ARRAY_CAPACITY = 8 }

Functions

U_CAPI USet *U_EXPORT2 uset_open (UChar32 start, UChar32 end)
 Creates a USet object that contains the range of characters start..end, inclusive. More...

U_CAPI USet *U_EXPORT2 uset_openPattern (const UChar *pattern, int32_t patternLength, UErrorCode *ec)
 Creates a set from the given pattern. More...

U_CAPI void U_EXPORT2 uset_close (USet *set)
 Disposes of the storage used by a USet object. More...

U_CAPI int32_t U_EXPORT2 uset_toPattern (const USet *set, UChar *result, int32_t resultCapacity, UBool escapeUnprintable, UErrorCode *ec)
 Returns a string representation of this set. More...

U_CAPI void U_EXPORT2 uset_add (USet *set, UChar32 c)
 Adds the given character to the given USet. More...

U_CAPI void U_EXPORT2 uset_addString (USet *set, const UChar *str, int32_t strLen)
 Adds the given string to the given USet. More...

U_CAPI void U_EXPORT2 uset_remove (USet *set, UChar32 c)
 Removes the given character from the given USet. More...

U_CAPI void U_EXPORT2 uset_removeString (USet *set, const UChar *str, int32_t strLen)
 Removes the given string to the given USet. More...

U_CAPI void U_EXPORT2 uset_complement (USet *set)
 Inverts this set. More...

U_CAPI void U_EXPORT2 uset_clear (USet *set)
 Removes all of the elements from this set. More...

U_CAPI UBool U_EXPORT2 uset_isEmpty (const USet *set)
 Returns TRUE if the given USet contains no characters and no strings. More...

U_CAPI UBool U_EXPORT2 uset_contains (const USet *set, UChar32 c)
 Returns TRUE if the given USet contains the given character. More...

U_CAPI UBool U_EXPORT2 uset_containsString (const USet *set, const UChar *str, int32_t strLen)
 Returns TRUE if the given USet contains the given string. More...

U_CAPI int32_t U_EXPORT2 uset_size (const USet *set)
 Returns the number of characters and strings contained in the given USet. More...

U_CAPI int32_t U_EXPORT2 uset_getItemCount (const USet *set)
 Returns the number of items in this set. More...

U_CAPI int32_t U_EXPORT2 uset_getItem (const USet *set, int32_t itemIndex, UChar32 *start, UChar32 *end, UChar *str, int32_t strCapacity, UErrorCode *ec)
 Returns an item of this set. More...

U_CAPI int32_t U_EXPORT2 uset_serialize (const USet *set, uint16_t *dest, int32_t destCapacity, UErrorCode *pErrorCode)
 Serializes this set into an array of 16-bit integers. More...

U_CAPI UBool U_EXPORT2 uset_getSerializedSet (USerializedSet *fillSet, const uint16_t *src, int32_t srcLength)
 Given a serialized array, fill in the given serialized set object. More...

U_CAPI void U_EXPORT2 uset_setSerializedToOne (USerializedSet *fillSet, UChar32 c)
 Set the USerializedSet to contain the given character (and nothing else). More...

U_CAPI UBool U_EXPORT2 uset_serializedContains (const USerializedSet *set, UChar32 c)
 Returns TRUE if the given USerializedSet contains the given character. More...

U_CAPI int32_t U_EXPORT2 uset_getSerializedRangeCount (const USerializedSet *set)
 Returns the number of disjoint ranges of characters contained in the given serialized set. More...

U_CAPI UBool U_EXPORT2 uset_getSerializedRange (const USerializedSet *set, int32_t rangeIndex, UChar32 *pStart, UChar32 *pEnd)
 Returns a range of characters contained in the given serialized set. More...


Typedef Documentation

typedef struct USerializedSet USerializedSet
 

Definition at line 40 of file uset.h.

typedef struct USet USet
 

Definition at line 25 of file uset.h.


Enumeration Type Documentation

anonymous enum
 

Enumeration values:
USET_SERIALIZED_STATIC_ARRAY_CAPACITY  enough for any single-code point set.

Definition at line 27 of file uset.h.


Function Documentation

U_CAPI void U_EXPORT2 uset_add USet   set,
UChar32    c
 

Adds the given character to the given USet.

After this call, uset_contains(set, c) will return TRUE.

Parameters:
set  the object to which to add the character
c  the character to add

U_CAPI void U_EXPORT2 uset_addString USet   set,
const UChar *    str,
int32_t    strLen
 

Adds the given string to the given USet.

After this call, uset_containsString(set, str, strLen) will return TRUE.

Parameters:
set  the object to which to add the character
str  the string to add
strLen  the length of the string or -1 if null terminated.

U_CAPI void U_EXPORT2 uset_clear USet   set
 

Removes all of the elements from this set.

This set will be empty after this call returns.

Parameters:
set  the set

U_CAPI void U_EXPORT2 uset_close USet   set
 

Disposes of the storage used by a USet object.

This function should be called exactly once for objects returned by uset_open().

Parameters:
set  the object to dispose of

U_CAPI void U_EXPORT2 uset_complement USet   set
 

Inverts this set.

This operation modifies this set so that its value is its complement. This operation does not affect the multicharacter strings, if any.

Parameters:
set  the set

U_CAPI UBool U_EXPORT2 uset_contains const USet   set,
UChar32    c
 

Returns TRUE if the given USet contains the given character.

Parameters:
set  the set
Returns:
true if set contains c

U_CAPI UBool U_EXPORT2 uset_containsString const USet   set,
const UChar *    str,
int32_t    strLen
 

Returns TRUE if the given USet contains the given string.

Parameters:
set  the set
str  the string
strLen  the length of the string or -1 if null terminated.
Returns:
true if set contains str

U_CAPI int32_t U_EXPORT2 uset_getItem const USet   set,
int32_t    itemIndex,
UChar32   start,
UChar32   end,
UChar *    str,
int32_t    strCapacity,
UErrorCode   ec
 

Returns an item of this set.

An item is either a range of characters or a single multicharacter string.

Parameters:
set  the set
itemIndex  a non-negative integer in the range 0.. uset_getItemCount(set)-1
start  pointer to variable to receive first character in range, inclusive
end  pointer to variable to receive last character in range, inclusive
str  buffer to receive the string, may be NULL
strCapacity  capacity of str, or 0 if str is NULL
ec  error code
Returns:
the length of the string (>= 2), or 0 if the item is a range, in which case it is the range *start..*end, or -1 if itemIndex is out of range

U_CAPI int32_t U_EXPORT2 uset_getItemCount const USet   set
 

Returns the number of items in this set.

An item is either a range of characters or a single multicharacter string.

Parameters:
set  the set
Returns:
a non-negative integer counting the character ranges and/or strings contained in set

U_CAPI UBool U_EXPORT2 uset_getSerializedRange const USerializedSet   set,
int32_t    rangeIndex,
UChar32   pStart,
UChar32   pEnd
 

Returns a range of characters contained in the given serialized set.

Parameters:
set  the serialized set
rangeIndex  a non-negative integer in the range 0.. uset_getSerializedRangeCount(set)-1
pStart  pointer to variable to receive first character in range, inclusive
pEnd  pointer to variable to receive last character in range, inclusive
Returns:
true if rangeIndex is valid, otherwise false

U_CAPI int32_t U_EXPORT2 uset_getSerializedRangeCount const USerializedSet   set
 

Returns the number of disjoint ranges of characters contained in the given serialized set.

Ignores any strings contained in the set.

Parameters:
set  the serialized set
Returns:
a non-negative integer counting the character ranges contained in set

U_CAPI UBool U_EXPORT2 uset_getSerializedSet USerializedSet   fillSet,
const uint16_t   src,
int32_t    srcLength
 

Given a serialized array, fill in the given serialized set object.

Parameters:
fillSet  pointer to result
src  pointer to start of array
srcLength  length of array
Returns:
true if the given array is valid, otherwise false

U_CAPI UBool U_EXPORT2 uset_isEmpty const USet   set
 

Returns TRUE if the given USet contains no characters and no strings.

Parameters:
set  the set
Returns:
true if set is empty

U_CAPI USet* U_EXPORT2 uset_open UChar32    start,
UChar32    end
 

Creates a USet object that contains the range of characters start..end, inclusive.

Parameters:
start  first character of the range, inclusive
end  last character of the range, inclusive
Returns:
a newly created USet. The caller must call uset_close() on it when done.

U_CAPI USet* U_EXPORT2 uset_openPattern const UChar *    pattern,
int32_t    patternLength,
UErrorCode   ec
 

Creates a set from the given pattern.

See the UnicodeSet class description for the syntax of the pattern language.

Parameters:
pattern  a string specifying what characters are in the set
patternLength  the length of the pattern, or -1 if null terminated
ec  the error code

U_CAPI void U_EXPORT2 uset_remove USet   set,
UChar32    c
 

Removes the given character from the given USet.

After this call, uset_contains(set, c) will return FALSE.

Parameters:
set  the object from which to remove the character
c  the character to remove

U_CAPI void U_EXPORT2 uset_removeString USet   set,
const UChar *    str,
int32_t    strLen
 

Removes the given string to the given USet.

After this call, uset_containsString(set, str, strLen) will return FALSE.

Parameters:
set  the object to which to add the character
str  the string to remove
strLen  the length of the string or -1 if null terminated.

U_CAPI int32_t U_EXPORT2 uset_serialize const USet   set,
uint16_t   dest,
int32_t    destCapacity,
UErrorCode   pErrorCode
 

Serializes this set into an array of 16-bit integers.

Serialization (currently) only records the characters in the set; multicharacter strings are ignored.

The array has following format (each line is one 16-bit integer):

length = (n+2*m) | (m!=0?0x8000:0) bmpLength = n; present if m!=0 bmp[0] bmp[1] ... bmp[n-1] supp-high[0] supp-low[0] supp-high[1] supp-low[1] ... supp-high[m-1] supp-low[m-1]

The array starts with a header. After the header are n bmp code points, then m supplementary code points. Either n or m or both may be zero. n+2*m is always <= 0x7FFF.

If there are no supplementary characters (if m==0) then the header is one 16-bit integer, 'length', with value n.

If there are supplementary characters (if m!=0) then the header is two 16-bit integers. The first, 'length', has value (n+2*m)|0x8000. The second, 'bmpLength', has value n.

After the header the code points are stored in ascending order. Supplementary code points are stored as most significant 16 bits followed by least significant 16 bits.

Parameters:
set  the set
dest  pointer to buffer of destCapacity 16-bit integers. May be NULL only if destCapacity is zero.
destCapacity  size of dest, or zero. Must not be negative.
pErrorCode  pointer to the error code. Will be set to U_INDEX_OUTOFBOUNDS_ERROR if n+2*m > 0x7FFF. Will be set to U_BUFFER_OVERFLOW_ERROR if n+2*m+(m!=0?2:1) > destCapacity.
Returns:
the total length of the serialized format, including the header, that is, n+2*m+(m!=0?2:1), or 0 on error other than U_BUFFER_OVERFLOW_ERROR.

U_CAPI UBool U_EXPORT2 uset_serializedContains const USerializedSet   set,
UChar32    c
 

Returns TRUE if the given USerializedSet contains the given character.

Parameters:
set  the serialized set
Returns:
true if set contains c

U_CAPI void U_EXPORT2 uset_setSerializedToOne USerializedSet   fillSet,
UChar32    c
 

Set the USerializedSet to contain the given character (and nothing else).

U_CAPI int32_t U_EXPORT2 uset_size const USet   set
 

Returns the number of characters and strings contained in the given USet.

Parameters:
set  the set
Returns:
a non-negative integer counting the characters and strings contained in set

U_CAPI int32_t U_EXPORT2 uset_toPattern const USet   set,
UChar *    result,
int32_t    resultCapacity,
UBool    escapeUnprintable,
UErrorCode   ec
 

Returns a string representation of this set.

If the result of calling this function is passed to a uset_openPattern(), it will produce another set that is equal to this one.

Parameters:
set  the set
result  the string to receive the rules, may be NULL
resultCapacity  the capacity of result, may be 0 if result is NULL
escapeUnprintable  if TRUE then convert unprintable character to their hex escape representations, \uxxxx or \Uxxxxxxxx. Unprintable characters are those other than U+000A, U+0020..U+007E.
ec  error code.
Returns:
length of string, possibly larger than resultCapacity


Generated on Thu Aug 15 14:13:45 2002 for ICU 2.2 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001