collationroot.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. #ifndef __COLLATIONROOT_H__
  14. #define __COLLATIONROOT_H__
  15. #include "unicode/utypes.h"
  16. #if !UCONFIG_NO_COLLATION
  17. U_NAMESPACE_BEGIN
  18. struct CollationCacheEntry;
  19. struct CollationData;
  20. struct CollationSettings;
  21. struct CollationTailoring;
  22. /**
  23. * Collation root provider.
  24. */
  25. class U_I18N_API CollationRoot { // purely static
  26. public:
  27. static const CollationCacheEntry *getRootCacheEntry(UErrorCode &errorCode);
  28. static const CollationTailoring *getRoot(UErrorCode &errorCode);
  29. static const CollationData *getData(UErrorCode &errorCode);
  30. static const CollationSettings *getSettings(UErrorCode &errorCode);
  31. private:
  32. static void U_CALLCONV load(UErrorCode &errorCode);
  33. };
  34. U_NAMESPACE_END
  35. #endif // !UCONFIG_NO_COLLATION
  36. #endif // __COLLATIONROOT_H__