summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-4.6/test/perf/unisetperf/draft/unicont.h
blob: 2e8a64e8cd94b7743266a9eff64314017e36efe5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*  
**********************************************************************
*   Copyright (C) 2007, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*   file name:  unicont.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 2007jan15
*   created by: Markus Scherer
*
*   Idea for new common interface underneath the normal UnicodeSet
*   and other classes, such as "compiled", fast, read-only (immutable)
*   versions of UnicodeSet.
*/

class UnicodeContainable {
public:
    virtual ~UnicodeContainable() {}

    virtual UBool contains(UChar32 c) const = 0;

    virtual int32_t span(const UChar *s, int32_t length);

    virtual int32_t spanNot(const UChar *s, int32_t length);

    virtual int32_t spanUTF8(const UChar *s, int32_t length);

    virtual int32_t spanNotUTF8(const UChar *s, int32_t length);

    virtual UClassID getDynamicClassID(void) const;
};