tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

collationdatawriter.h (2006B)


      1 // © 2016 and later: Unicode, Inc. and others.
      2 // License & terms of use: http://www.unicode.org/copyright.html
      3 /*
      4 *******************************************************************************
      5 * Copyright (C) 2013-2014, International Business Machines
      6 * Corporation and others.  All Rights Reserved.
      7 *******************************************************************************
      8 * collationdatawriter.h
      9 *
     10 * created on: 2013aug06
     11 * created by: Markus W. Scherer
     12 */
     13 
     14 #ifndef __COLLATIONDATAWRITER_H__
     15 #define __COLLATIONDATAWRITER_H__
     16 
     17 #include "unicode/utypes.h"
     18 
     19 #if !UCONFIG_NO_COLLATION
     20 
     21 U_NAMESPACE_BEGIN
     22 
     23 struct CollationData;
     24 struct CollationSettings;
     25 struct CollationTailoring;
     26 
     27 /**
     28 * Collation-related code for tools & demos.
     29 */
     30 class U_I18N_API CollationDataWriter /* all static */ {
     31 public:
     32    static int32_t writeBase(const CollationData &data, const CollationSettings &settings,
     33                             const void *rootElements, int32_t rootElementsLength,
     34                             int32_t indexes[], uint8_t *dest, int32_t capacity,
     35                             UErrorCode &errorCode);
     36 
     37    static int32_t writeTailoring(const CollationTailoring &t, const CollationSettings &settings,
     38                                  int32_t indexes[], uint8_t *dest, int32_t capacity,
     39                                  UErrorCode &errorCode);
     40 
     41 private:
     42    CollationDataWriter() = delete;  // no constructor
     43 
     44    static int32_t write(UBool isBase, const UVersionInfo dataVersion,
     45                         const CollationData &data, const CollationSettings &settings,
     46                         const void *rootElements, int32_t rootElementsLength,
     47                         int32_t indexes[], uint8_t *dest, int32_t capacity,
     48                         UErrorCode &errorCode);
     49 
     50    static void copyData(const int32_t indexes[], int32_t startIndex,
     51                         const void *src, uint8_t *dest);
     52 };
     53 
     54 U_NAMESPACE_END
     55 
     56 #endif  // !UCONFIG_NO_COLLATION
     57 #endif  // __COLLATIONDATAWRITER_H__