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