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