+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
/*
**********************************************************************
-* Copyright (c) 2001-2008, International Business Machines
+* Copyright (c) 2001-2016 International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
* Date Name Description
U_NAMESPACE_BEGIN
-class Entry;
-class Spec;
+class TransliteratorEntry;
+class TransliteratorSpec;
class UnicodeString;
//------------------------------------------------------------------
// Private implementation
//----------------------------------------------------------------
- Entry* find(const UnicodeString& ID);
+ TransliteratorEntry* find(const UnicodeString& ID);
- Entry* find(UnicodeString& source,
+ TransliteratorEntry* find(UnicodeString& source,
UnicodeString& target,
UnicodeString& variant);
- Entry* findInDynamicStore(const Spec& src,
- const Spec& trg,
+ TransliteratorEntry* findInDynamicStore(const TransliteratorSpec& src,
+ const TransliteratorSpec& trg,
const UnicodeString& variant) const;
- Entry* findInStaticStore(const Spec& src,
- const Spec& trg,
+ TransliteratorEntry* findInStaticStore(const TransliteratorSpec& src,
+ const TransliteratorSpec& trg,
const UnicodeString& variant);
- static Entry* findInBundle(const Spec& specToOpen,
- const Spec& specToFind,
+ static TransliteratorEntry* findInBundle(const TransliteratorSpec& specToOpen,
+ const TransliteratorSpec& specToFind,
const UnicodeString& variant,
UTransDirection direction);
void registerEntry(const UnicodeString& source,
const UnicodeString& target,
const UnicodeString& variant,
- Entry* adopted,
+ TransliteratorEntry* adopted,
UBool visible);
void registerEntry(const UnicodeString& ID,
- Entry* adopted,
+ TransliteratorEntry* adopted,
UBool visible);
void registerEntry(const UnicodeString& ID,
const UnicodeString& source,
const UnicodeString& target,
const UnicodeString& variant,
- Entry* adopted,
+ TransliteratorEntry* adopted,
UBool visible);
void registerSTV(const UnicodeString& source,
const UnicodeString& variant);
Transliterator* instantiateEntry(const UnicodeString& ID,
- Entry *entry,
+ TransliteratorEntry *entry,
TransliteratorAlias*& aliasReturn,
UErrorCode& status);
/**
* DAG of visible IDs by spec. Hashtable: source => (Hashtable:
- * target => (UVector: variant)) The UVector of variants is never
- * empty. For a source-target with no variant, the special
- * variant NO_VARIANT (the empty string) is stored in slot zero of
- * the UVector.
+ * target => variant bitmask)
*/
Hashtable specDAG;
+ /**
+ * Vector of all variant names
+ */
+ UVector variantList;
+
/**
* Vector of public full IDs.
*/
U_NAMESPACE_END
+U_CFUNC UBool utrans_transliterator_cleanup(void);
+
#endif /* #if !UCONFIG_NO_TRANSLITERATION */
#endif