X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/efa1e6592fb03ce23b15276b2b91d885a3ee7da5..57a6839dcb3bba09e8228b822b290604668416fe:/icuSources/i18n/unicode/translit.h diff --git a/icuSources/i18n/unicode/translit.h b/icuSources/i18n/unicode/translit.h index 57f4f059..4973d424 100644 --- a/icuSources/i18n/unicode/translit.h +++ b/icuSources/i18n/unicode/translit.h @@ -1,6 +1,6 @@ /* ********************************************************************** -* Copyright (C) 1999-2013, International Business Machines +* Copyright (C) 1999-2014, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************** * Date Name Description @@ -965,6 +965,11 @@ public: /** * Registers a factory function that creates transliterators of * a given ID. + * + * Because ICU may choose to cache Transliterators internally, this must + * be called at application startup, prior to any calls to + * Transliterator::createXXX to avoid undefined behavior. + * * @param id the ID being registered * @param factory a function pointer that will be copied and * called later when the given ID is passed to createInstance() @@ -987,6 +992,10 @@ public: * After this call the Transliterator class owns the adoptedObj * and will delete it. * + * Because ICU may choose to cache Transliterators internally, this must + * be called at application startup, prior to any calls to + * Transliterator::createXXX to avoid undefined behavior. + * * @param adoptedObj an instance of subclass of * Transliterator that defines clone() * @see #createInstance @@ -1085,6 +1094,10 @@ public: * Any attempt to construct an unregistered transliterator based * on its ID will fail. * + * Because ICU may choose to cache Transliterators internally, this should + * be called during application shutdown, after all calls to + * Transliterator::createXXX to avoid undefined behavior. + * * @param ID the ID of the transliterator or class * @return the Object that was registered with * ID, or null if none was @@ -1308,6 +1321,7 @@ inline void Transliterator::setID(const UnicodeString& id) { ID.truncate(ID.length()-1); } +#ifndef U_HIDE_INTERNAL_API inline Transliterator::Token Transliterator::integerToken(int32_t i) { Token t; t.integer = i; @@ -1319,6 +1333,7 @@ inline Transliterator::Token Transliterator::pointerToken(void* p) { t.pointer = p; return t; } +#endif /* U_HIDE_INTERNAL_API */ U_NAMESPACE_END