• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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