Home | History | Annotate | Download | only in i18n
      1 //  2016 and later: Unicode, Inc. and others.
      2 // License & terms of use: http://www.unicode.org/copyright.html
      3 /*
      4 *******************************************************************************
      5 * Copyright (C) 2012-2014, International Business Machines
      6 * Corporation and others.  All Rights Reserved.
      7 *******************************************************************************
      8 * collationroot.h
      9 *
     10 * created on: 2012dec17
     11 * created by: Markus W. Scherer
     12 */
     13 
     14 #ifndef __COLLATIONROOT_H__
     15 #define __COLLATIONROOT_H__
     16 
     17 #include "unicode/utypes.h"
     18 
     19 #if !UCONFIG_NO_COLLATION
     20 
     21 U_NAMESPACE_BEGIN
     22 
     23 struct CollationCacheEntry;
     24 struct CollationData;
     25 struct CollationSettings;
     26 struct CollationTailoring;
     27 
     28 /**
     29  * Collation root provider.
     30  */
     31 class U_I18N_API CollationRoot {  // purely static
     32 public:
     33     static const CollationCacheEntry *getRootCacheEntry(UErrorCode &errorCode);
     34     static const CollationTailoring *getRoot(UErrorCode &errorCode);
     35     static const CollationData *getData(UErrorCode &errorCode);
     36     static const CollationSettings *getSettings(UErrorCode &errorCode);
     37 
     38 private:
     39     static void U_CALLCONV load(UErrorCode &errorCode);
     40 };
     41 
     42 U_NAMESPACE_END
     43 
     44 #endif  // !UCONFIG_NO_COLLATION
     45 #endif  // __COLLATIONROOT_H__
     46