00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef UNICDCM_H
00024 #define UNICDCM_H
00025
00026 #include "spclmap.h"
00027 #include "unicode/unicode.h"
00028
00038 class UnicodeClassMapping {
00039 public:
00040
00041 typedef TextBoundaryData::Type Type;
00042
00048 UnicodeClassMapping(Type* mappedValue,
00049 int32_t mappedValue_length,
00050 const SpecialMapping* exceptionChars,
00051 int32_t exceptionChars_length,
00052 const UBool* hasException,
00053 Type* asiiValues );
00054
00060 Type mappedChar(UChar ch) const;
00061
00062 private:
00063 const UBool *fHasException;
00064 const Type* fMappedValue;
00065 const int32_t fMappedValue_length;
00066 const SpecialMapping* fExceptionChars;
00067 const int32_t fExceptionChars_length;
00068 const Type* fAsciiValues;
00069 };
00070
00071 #endif // _UNICDCM
00072