00001 /* 00002 ******************************************************************************* 00003 * 00004 * Copyright (C) 1998-1999, International Business Machines 00005 * Corporation and others. All Rights Reserved. 00006 * 00007 ******************************************************************************* 00008 * 00009 * File uscanset.h 00010 * 00011 * Modification History: 00012 * 00013 * Date Name Description 00014 * 12/03/98 stephen Creation. 00015 * 03/12/99 stephen Modified for new C API. 00016 ******************************************************************************* 00017 */ 00018 00019 #ifndef USCANSET_H 00020 #define USCANSET_H 00021 00022 #include "unicode/utypes.h" 00023 00024 00028 struct u_scanf_scanset_pair { 00029 UChar start; 00030 UChar end; 00031 }; 00032 typedef struct u_scanf_scanset_pair u_scanf_scanset_pair; 00033 00034 #define U_SCANF_MAX_SCANSET_SIZE 512 00035 00039 struct u_scanf_scanset { 00040 UBool is_inclusive; /* false if '^' is given */ 00041 00042 UChar singles [U_SCANF_MAX_SCANSET_SIZE]; 00043 u_scanf_scanset_pair pairs [U_SCANF_MAX_SCANSET_SIZE]; 00044 00045 int32_t single_count; /* count of single chars in set */ 00046 int32_t pair_count; /* count of pairs in set */ 00047 }; 00048 typedef struct u_scanf_scanset u_scanf_scanset; 00049 00058 UBool 00059 u_scanf_scanset_init(u_scanf_scanset *scanset, 00060 const UChar *s, 00061 int32_t *len); 00062 00069 UBool 00070 u_scanf_scanset_in(u_scanf_scanset *scanset, 00071 UChar c); 00072 00073 #endif 00074 00075 00076 00077