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