X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/48b980fed3435926e0b3a8d72ecb58be703a1c7a..729e4ab9bc6618bc3d8a898e575df7f4019e29ca:/icuSources/tools/toolutil/propsvec.h diff --git a/icuSources/tools/toolutil/propsvec.h b/icuSources/tools/toolutil/propsvec.h deleted file mode 100644 index c899d588..00000000 --- a/icuSources/tools/toolutil/propsvec.h +++ /dev/null @@ -1,103 +0,0 @@ -/* -******************************************************************************* -* -* Copyright (C) 2002-2005, International Business Machines -* Corporation and others. All Rights Reserved. -* -******************************************************************************* -* file name: propsvec.h -* encoding: US-ASCII -* tab size: 8 (not used) -* indentation:4 -* -* created on: 2002feb22 -* created by: Markus W. Scherer -* -* Store additional Unicode character properties in bit set vectors. -*/ - -#ifndef __UPROPSVEC_H__ -#define __UPROPSVEC_H__ - -#include "unicode/utypes.h" -#include "utrie.h" - -/* - * Unicode Properties Vectors associated with code point ranges. - * Stored in an array of uint32_t. - * - * The array starts with a header, then rows of integers store - * the range limits and the properties vectors. - * - * In each row, row[0] contains the start code point and - * row[1] contains the limit code point, - * which is the start of the next range. - * - * Initially, there is only one range [0..0x110000[ with values 0. - * - * It would be possible to store only one range boundary per row, - * but self-contained rows allow to later sort them by contents. - */ -enum { - /* stores number of columns, plus two for start & limit values */ - UPVEC_COLUMNS, - UPVEC_MAXROWS, - UPVEC_ROWS, - /* search optimization: remember last row seen */ - UPVEC_PREV_ROW, - UPVEC_HEADER_LENGTH -}; - -U_CAPI uint32_t * U_EXPORT2 -upvec_open(int32_t columns, int32_t maxRows); - -U_CAPI void U_EXPORT2 -upvec_close(uint32_t *pv); - -U_CAPI UBool U_EXPORT2 -upvec_setValue(uint32_t *pv, - UChar32 start, UChar32 limit, - int32_t column, - uint32_t value, uint32_t mask, - UErrorCode *pErrorCode); - -U_CAPI uint32_t U_EXPORT2 -upvec_getValue(uint32_t *pv, UChar32 c, int32_t column); - -/* - * pRangeStart and pRangeLimit can be NULL. - * @return NULL if rowIndex out of range and for illegal arguments - */ -U_CAPI uint32_t * U_EXPORT2 -upvec_getRow(uint32_t *pv, int32_t rowIndex, - UChar32 *pRangeStart, UChar32 *pRangeLimit); - -/* - * Compact the vectors: - * - modify the memory - * - keep only unique vectors - * - store them contiguously from the beginning of the memory - * - for each (non-unique) row, call the handler function - * - * The handler's rowIndex is the uint32_t index of the row in the compacted - * memory block. - * (Therefore, it starts at 0 increases in increments of the columns value.) - */ - -typedef void U_CALLCONV -UPVecCompactHandler(void *context, - UChar32 start, UChar32 limit, - int32_t rowIndex, uint32_t *row, int32_t columns, - UErrorCode *pErrorCode); - -U_CAPI int32_t U_EXPORT2 -upvec_compact(uint32_t *pv, UPVecCompactHandler *handler, void *context, UErrorCode *pErrorCode); - -/* context=UNewTrie, stores the rowIndex values into the trie */ -U_CAPI void U_CALLCONV -upvec_compactToTrieHandler(void *context, - UChar32 start, UChar32 limit, - int32_t rowIndex, uint32_t *row, int32_t columns, - UErrorCode *pErrorCode); - -#endif