00001 /* 00002 ********************************************************************** 00003 * Copyright © {1999}, International Business Machines Corporation and others. All Rights Reserved. 00004 ********************************************************************** 00005 * Date Name Description 00006 * 11/17/99 aliu Creation. 00007 ********************************************************************** 00008 */ 00009 #ifndef UNIRANGE_H 00010 #define UNIRANGE_H 00011 00012 #include "unicode/utypes.h" 00013 00014 class UnicodeString; 00015 00029 class UnicodeRange { 00030 00031 public: 00032 00033 UChar start; 00034 00035 int32_t length; 00036 00037 UnicodeRange(UChar start, int32_t length); 00038 00042 UnicodeRange* clone() const; 00043 00044 UBool contains(UChar c) const; 00045 00058 UnicodeRange* split(UChar c); 00059 00069 UnicodeRange* largestUnusedSubrange(const UnicodeString& str) const; 00070 00071 private: 00072 00073 // For UVector of UnicodeRange* objects 00074 static void deleter(void*); 00075 00076 }; 00077 00078 #endif