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 19 class UnicodeContainable { 20 public: ~UnicodeContainable()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