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