Lines Matching defs:BMS
8 #include "unicode/bms.h"
60 struct BMS
62 BoyerMooreSearch *bms;
66 U_CAPI BMS * U_EXPORT2
72 BMS *bms = STATIC_CAST(BMS *, uprv_malloc(sizeof(BMS)));
74 if (bms == NULL) {
83 bms->targetString = new UnicodeString(target, targetLength);
85 if (bms->targetString == NULL) {
86 bms->bms = NULL;
88 return bms;
91 bms->targetString = NULL;
94 bms->bms = new BoyerMooreSearch(data, patternString, bms->targetString, *status);
96 if (bms->bms == NULL) {
100 return bms;
104 bms_close(BMS *bms)
106 delete bms->bms;
108 delete bms->targetString;
110 uprv_free(bms);
114 bms_empty(BMS *bms)
116 return bms->bms->empty();
120 bms_getData(BMS *bms)
122 return STATIC_CAST(UCD *, bms->bms->getData());
126 bms_search(BMS *bms, int32_t offset, int32_t *start, int32_t *end)
128 return bms->bms->search(offset, *start, *end);
132 bms_setTargetString(BMS *bms, const UChar *target, int32_t targetLength, UErrorCode *status)
138 if (bms->targetString != NULL) {
139 delete bms->targetString;
143 bms->targetString = new UnicodeString(target, targetLength);
145 bms->targetString = NULL;
148 bms->bms->setTargetString(bms->targetString, *status);