* Wrapper class around generic dictionaries, implementing matches().
* getType() should return a TRIE_TYPE_??? constant from DictionaryData.
*
- * All implementations of this interface must be threadsafe if they are to be used inside of the
+ * All implementations of this interface must be thread-safe if they are to be used inside of the
* dictionary-based break iteration code.
*/
-class U_COMMON_API DictionaryMatcher {
+class U_COMMON_API DictionaryMatcher : public UMemory {
public:
+ virtual ~DictionaryMatcher();
// this should emulate CompactTrieDictionary::matches()
- virtual int32_t matches(UText *text, int32_t maxLength, int32_t *lengths, int &count, int limit, int32_t *values = NULL) const = 0;
+ virtual int32_t matches(UText *text, int32_t maxLength, int32_t *lengths, int &count,
+ int limit, int32_t *values = NULL) const = 0;
/** @return DictionaryData::TRIE_TYPE_XYZ */
virtual int32_t getType() const = 0;
};
// constructs a new UCharsDictionaryMatcher.
// The UDataMemory * will be closed on this object's destruction.
UCharsDictionaryMatcher(const UChar *c, UDataMemory *f) : characters(c), file(f) { }
- ~UCharsDictionaryMatcher();
- virtual int32_t matches(UText *text, int32_t maxLength, int32_t *lengths, int &count, int limit, int32_t *values = NULL) const;
+ virtual ~UCharsDictionaryMatcher();
+ virtual int32_t matches(UText *text, int32_t maxLength, int32_t *lengths, int &count,
+ int limit, int32_t *values = NULL) const;
virtual int32_t getType() const;
private:
const UChar *characters;
// constructs a new BytesTrieDictionaryMatcher
// the transform constant should be the constant read from the file, not a masked version!
// the UDataMemory * fed in here will be closed on this object's destruction
- BytesDictionaryMatcher(const char *c, int32_t t, UDataMemory *f) : characters(c), transformConstant(t), file(f) { }
- ~BytesDictionaryMatcher();
- virtual int32_t matches(UText *text, int32_t maxLength, int32_t *lengths, int &count, int limit, int32_t *values = NULL) const;
+ BytesDictionaryMatcher(const char *c, int32_t t, UDataMemory *f)
+ : characters(c), transformConstant(t), file(f) { }
+ virtual ~BytesDictionaryMatcher();
+ virtual int32_t matches(UText *text, int32_t maxLength, int32_t *lengths, int &count,
+ int limit, int32_t *values = NULL) const;
virtual int32_t getType() const;
private:
UChar32 transform(UChar32 c) const;
memcmp memcpy memmove memset
# Additional symbols in an optimized build.
__strcpy_chk __strncpy_chk __strcat_chk __strncat_chk
- __rawmemchr __memcpy_chk __memmove_chk
+ __rawmemchr __memcpy_chk __memmove_chk __memset_chk
group: c_string_formatting
atoi atol strtod strtol strtoul
ucasemap ucasemap_titlecase_brkiter script_runs
uprops ubidi_props ucase uscript
ubidi ushape
+ listformatter
resourcebundle service_registration resbund_cnv ures_cnv icudataver ucat
loclikely
conversion converter_selector ucnv_set ucnvdisp
brkiter.o brkeng.o ubrk.o
rbbi.o rbbinode.o rbbiscan.o rbbisetb.o rbbistbl.o rbbitblb.o
rbbidata.o rbbirb.o
- triedict.o dictbe.o
+ dictionarydata.o dictbe.o
deps
resourcebundle service_registration
schriter utext uniset_core uniset_props
uhash ustack utrie
- uvector32 # for triedict.o
+ ucharstrie bytestrie
+ normlzr # for dictbe.o, should switch to Normalizer2
group: unormcmp # unorm_compare()
unormcmp.o
locale_display_names resourcebundle
hashtable uvector
+group: listformatter
+ listformatter.o
+ deps
+ resourcebundle
+
group: ucat # message-catalog-like API
ucat.o
deps