// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ******************************************************************************* * * Copyright (C) 2003-2015, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* * file name: ucol_swp.cpp * encoding: UTF-8 * tab size: 8 (not used) * indentation:4 * * created on: 2003sep10 * created by: Markus W. Scherer * * Swap collation binaries. */ #include "unicode/udata.h" /* UDataInfo */ #include "utrie.h" #include "utrie2.h" #include "udataswp.h" #include "cmemory.h" #include "ucol_data.h" #include "ucol_swp.h" /* swapping ----------------------------------------------------------------- */ #if !UCONFIG_NO_COLLATION U_CAPI UBool U_EXPORT2 ucol_looksLikeCollationBinary(const UDataSwapper *ds, const void *inData, int32_t length) { … } namespace { /* swap a header-less collation formatVersion=3 binary, inside a resource bundle or ucadata.icu */ int32_t swapFormatVersion3(const UDataSwapper *ds, const void *inData, int32_t length, void *outData, UErrorCode *pErrorCode) { … } // swap formatVersion 4 or 5 ----------------------------------------------- *** // The following are copied from CollationDataReader, trading an awkward copy of constants // for an awkward relocation of the i18n collationdatareader.h file into the common library. // Keep them in sync! enum { … }; int32_t swapFormatVersion4(const UDataSwapper *ds, const void *inData, int32_t length, void *outData, UErrorCode &errorCode) { … } } // namespace /* swap ICU collation data like ucadata.icu */ U_CAPI int32_t U_EXPORT2 ucol_swap(const UDataSwapper *ds, const void *inData, int32_t length, void *outData, UErrorCode *pErrorCode) { … } /* swap inverse UCA collation data (invuca.icu) */ U_CAPI int32_t U_EXPORT2 ucol_swapInverseUCA(const UDataSwapper *ds, const void *inData, int32_t length, void *outData, UErrorCode *pErrorCode) { … } #endif /* #if !UCONFIG_NO_COLLATION */