00001
00002
00003
00004
00005
00012 #ifndef _BMS_H
00013 #define _BMS_H
00014
00015 #include "unicode/utypes.h"
00016
00017 #if !UCONFIG_NO_COLLATION
00018
00019 #include "unicode/ucol.h"
00020
00035 typedef void UCD;
00036
00051 U_CAPI UCD * U_EXPORT2
00052 ucd_open(UCollator *coll, UErrorCode *status);
00053
00061 U_CAPI void U_EXPORT2
00062 ucd_close(UCD *ucd);
00063
00077 U_CAPI UCollator * U_EXPORT2
00078 ucd_getCollator(UCD *ucd);
00079
00092 U_CAPI void U_EXPORT2
00093 ucd_freeCache();
00094
00102 U_CAPI void U_EXPORT2
00103 ucd_flushCache();
00104
00182 struct BMS;
00183 typedef struct BMS BMS;
00203 U_CAPI BMS * U_EXPORT2
00204 bms_open(UCD *ucd,
00205 const UChar *pattern, int32_t patternLength,
00206 const UChar *target, int32_t targetLength,
00207 UErrorCode *status);
00208
00215 U_CAPI void U_EXPORT2
00216 bms_close(BMS *bms);
00217
00226 U_CAPI UBool U_EXPORT2
00227 bms_empty(BMS *bms);
00228
00240 U_CAPI UCD * U_EXPORT2
00241 bms_getData(BMS *bms);
00242
00255 U_CAPI UBool U_EXPORT2
00256 bms_search(BMS *bms, int32_t offset, int32_t *start, int32_t *end);
00257
00268 U_CAPI void U_EXPORT2
00269 bms_setTargetString(BMS *bms, const UChar *target, int32_t targetLength, UErrorCode *status);
00270
00271 #endif
00272
00273 #endif