1/* 2********************************************************************** 3* Copyright (C) 2007, International Business Machines 4* Corporation and others. All Rights Reserved. 5********************************************************************** 6* file name: unicont.h 7* encoding: US-ASCII 8* tab size: 8 (not used) 9* indentation:4 10* 11* created on: 2007jan15 12* created by: Markus Scherer 13* 14* Idea for new common interface underneath the normal UnicodeSet 15* and other classes, such as "compiled", fast, read-only (immutable) 16* versions of UnicodeSet. 17*/ 18 19class UnicodeContainable { 20public: 21 virtual ~UnicodeContainable() {} 22 23 virtual UBool contains(UChar32 c) const = 0; 24 25 virtual int32_t span(const UChar *s, int32_t length); 26 27 virtual int32_t spanNot(const UChar *s, int32_t length); 28 29 virtual int32_t spanUTF8(const UChar *s, int32_t length); 30 31 virtual int32_t spanNotUTF8(const UChar *s, int32_t length); 32 33 virtual UClassID getDynamicClassID(void) const; 34}; 35