diff options
Diffstat (limited to 'intl/icu/source/i18n/collationdatawriter.h')
-rw-r--r-- | intl/icu/source/i18n/collationdatawriter.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/intl/icu/source/i18n/collationdatawriter.h b/intl/icu/source/i18n/collationdatawriter.h new file mode 100644 index 0000000000..197cd5309f --- /dev/null +++ b/intl/icu/source/i18n/collationdatawriter.h @@ -0,0 +1,57 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +/* +******************************************************************************* +* Copyright (C) 2013-2014, International Business Machines +* Corporation and others. All Rights Reserved. +******************************************************************************* +* collationdatawriter.h +* +* created on: 2013aug06 +* created by: Markus W. Scherer +*/ + +#ifndef __COLLATIONDATAWRITER_H__ +#define __COLLATIONDATAWRITER_H__ + +#include "unicode/utypes.h" + +#if !UCONFIG_NO_COLLATION + +U_NAMESPACE_BEGIN + +struct CollationData; +struct CollationSettings; +struct CollationTailoring; + +/** + * Collation-related code for tools & demos. + */ +class U_I18N_API CollationDataWriter /* all static */ { +public: + static int32_t writeBase(const CollationData &data, const CollationSettings &settings, + const void *rootElements, int32_t rootElementsLength, + int32_t indexes[], uint8_t *dest, int32_t capacity, + UErrorCode &errorCode); + + static int32_t writeTailoring(const CollationTailoring &t, const CollationSettings &settings, + int32_t indexes[], uint8_t *dest, int32_t capacity, + UErrorCode &errorCode); + +private: + CollationDataWriter(); // no constructor + + static int32_t write(UBool isBase, const UVersionInfo dataVersion, + const CollationData &data, const CollationSettings &settings, + const void *rootElements, int32_t rootElementsLength, + int32_t indexes[], uint8_t *dest, int32_t capacity, + UErrorCode &errorCode); + + static void copyData(const int32_t indexes[], int32_t startIndex, + const void *src, uint8_t *dest); +}; + +U_NAMESPACE_END + +#endif // !UCONFIG_NO_COLLATION +#endif // __COLLATIONDATAWRITER_H__ |