• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 *******************************************************************************
3 *
4 *   Copyright (C) 2004-2007, International Business Machines
5 *   Corporation and others.  All Rights Reserved.
6 *
7 *******************************************************************************
8 *   file name:  uset_imp.h
9 *   encoding:   US-ASCII
10 *   tab size:   8 (not used)
11 *   indentation:4
12 *
13 *   created on: 2004sep07
14 *   created by: Markus W. Scherer
15 *
16 *   Internal USet definitions.
17 */
18 
19 #ifndef __USET_IMP_H__
20 #define __USET_IMP_H__
21 
22 #include "unicode/utypes.h"
23 #include "unicode/uset.h"
24 
25 U_CDECL_BEGIN
26 
27 typedef void U_CALLCONV
28 USetAdd(USet *set, UChar32 c);
29 
30 typedef void U_CALLCONV
31 USetAddRange(USet *set, UChar32 start, UChar32 end);
32 
33 typedef void U_CALLCONV
34 USetAddString(USet *set, const UChar *str, int32_t length);
35 
36 typedef void U_CALLCONV
37 USetRemove(USet *set, UChar32 c);
38 
39 typedef void U_CALLCONV
40 USetRemoveRange(USet *set, UChar32 start, UChar32 end);
41 
42 /**
43  * Interface for adding items to a USet, to keep low-level code from
44  * statically depending on the USet implementation.
45  * Calls will look like sa->add(sa->set, c);
46  */
47 struct USetAdder {
48     USet *set;
49     USetAdd *add;
50     USetAddRange *addRange;
51     USetAddString *addString;
52     USetRemove *remove;
53     USetRemoveRange *removeRange;
54 };
55 typedef struct USetAdder USetAdder;
56 
57 U_CDECL_END
58 
59 #endif
60 
61