summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-03-13 01:02:40 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-03-13 01:02:40 +0000
commitab7ed14d1aff7d396f9f398c3ec18c9ddfcc7dcd (patch)
tree40d7f14673987d3dfc895efe287f46fed913e183
parent2273ba3c5957b3094dcaec3a12961fd9800e3a9b (diff)
parent304410e63a5426aa480a450f7386b3e1ff240096 (diff)
downloadicu-androidx-datastore-release.tar.gz
Snap for 11565916 from 304410e63a5426aa480a450f7386b3e1ff240096 to androidx-datastore-releaseandroidx-datastore-release
Change-Id: Ie72617cf18f0becccb0d89cc431bac818a29389d
-rw-r--r--Android.bp1
-rw-r--r--android_icu4j/api/legacy_platform/current.txt1
-rw-r--r--android_icu4j/libcore_bridge/src/java/com/android/i18n/timezone/CountryZonesFinder.java43
-rw-r--r--android_icu4j/testing/src/com/android/i18n/test/timezone/CountryZonesFinderTest.java44
-rw-r--r--icu4c/source/common/CMakeLists.txt52
-rw-r--r--icu4c/source/common/unicode/platform.h2
-rw-r--r--icu4c/source/common/unicode/ustring.h6
-rw-r--r--icu4c/source/i18n/CMakeLists.txt42
-rw-r--r--icu4c/source/stubdata/Android.mk4
-rw-r--r--icu4c/source/stubdata/CMakeLists.txt36
-rw-r--r--libandroidicu/Android.bp2
-rw-r--r--libandroidicu/CMakeLists.txt41
-rw-r--r--libandroidicu/include/unicode/platform.h2
-rw-r--r--libandroidicu/include/unicode/ustring.h6
-rw-r--r--libandroidicu/static_shim/CMakeLists.txt48
-rw-r--r--libandroidicuinit/CMakeLists.txt40
-rw-r--r--libandroidicuinit/IcuRegistration.cpp10
-rw-r--r--libandroidicuinit/IcuRegistration.h9
-rw-r--r--libandroidicuinit/android_icu_init.cpp10
-rw-r--r--libicu/cts_headers/unicode/platform.h2
-rw-r--r--libicu/cts_headers/unicode/ustring.h6
-rw-r--r--libicu/ndk_headers/unicode/char16ptr.h46
-rw-r--r--libicu/ndk_headers/unicode/platform.h102
-rw-r--r--libicu/ndk_headers/unicode/ptypes.h6
-rw-r--r--libicu/ndk_headers/unicode/putil.h6
-rw-r--r--libicu/ndk_headers/unicode/stringoptions.h28
-rw-r--r--libicu/ndk_headers/unicode/ubidi.h158
-rw-r--r--libicu/ndk_headers/unicode/ubrk.h66
-rw-r--r--libicu/ndk_headers/unicode/uchar.h1564
-rw-r--r--libicu/ndk_headers/unicode/uconfig.h62
-rw-r--r--libicu/ndk_headers/unicode/ucpmap.h16
-rw-r--r--libicu/ndk_headers/unicode/udisplaycontext.h42
-rw-r--r--libicu/ndk_headers/unicode/uenum.h24
-rw-r--r--libicu/ndk_headers/unicode/uldnames.h44
-rw-r--r--libicu/ndk_headers/unicode/uloc.h174
-rw-r--r--libicu/ndk_headers/unicode/ulocdata.h20
-rw-r--r--libicu/ndk_headers/unicode/umachine.h76
-rw-r--r--libicu/ndk_headers/unicode/unorm2.h66
-rw-r--r--libicu/ndk_headers/unicode/uscript.h446
-rw-r--r--libicu/ndk_headers/unicode/ustring.h126
-rw-r--r--libicu/ndk_headers/unicode/utext.h42
-rw-r--r--libicu/ndk_headers/unicode/utf.h24
-rw-r--r--libicu/ndk_headers/unicode/utf16.h74
-rw-r--r--libicu/ndk_headers/unicode/utf8.h78
-rw-r--r--libicu/ndk_headers/unicode/utf_old.h290
-rw-r--r--libicu/ndk_headers/unicode/utypes.h104
-rw-r--r--libicu/ndk_headers/unicode/uvernum.h32
-rw-r--r--libicu/ndk_headers/unicode/uversion.h26
-rw-r--r--tools/i18nutil.py16
-rw-r--r--tools/icu4c_srcgen/doc_patches/patches/unicode/uloc.h.patch6
-rw-r--r--tools/icu4c_srcgen/doc_patches/patches/unicode/ulocdata.h.patch78
-rw-r--r--tools/icu4c_srcgen/doc_patches/patches/unicode/utext.h.patch132
-rwxr-xr-xtools/icu4c_srcgen/generate_libandroidicu.py10
-rwxr-xr-xtools/icu4c_srcgen/generate_ndk.py75
-rw-r--r--tools/icu4c_srcgen/genutil.py46
-rw-r--r--tools/icuutil.py2
-rwxr-xr-xtools/updatecldrdata.py15
-rwxr-xr-xtools/updateicudata.py15
-rw-r--r--tools/ziputil.py2
59 files changed, 2497 insertions, 2049 deletions
diff --git a/Android.bp b/Android.bp
index a45866e04..d7fb36bcf 100644
--- a/Android.bp
+++ b/Android.bp
@@ -67,7 +67,6 @@ cc_defaults {
"-Wno-unused-const-variable",
"-Wno-unneeded-internal-declaration",
"-Wno-deprecated-declarations",
- "-Wno-ignored-attributes",
],
// Upstream requires C++11 as the minimum version.
cppflags: [
diff --git a/android_icu4j/api/legacy_platform/current.txt b/android_icu4j/api/legacy_platform/current.txt
index a81a0c650..692b2b1bf 100644
--- a/android_icu4j/api/legacy_platform/current.txt
+++ b/android_icu4j/api/legacy_platform/current.txt
@@ -81,6 +81,7 @@ package com.android.i18n.timezone {
}
public final class CountryZonesFinder {
+ method @Nullable public String findCanonicalTimeZoneId(String);
method public java.util.List<java.lang.String> lookupAllCountryIsoCodes();
method public com.android.i18n.timezone.CountryTimeZones lookupCountryTimeZones(String);
method public java.util.List<com.android.i18n.timezone.CountryTimeZones> lookupCountryTimeZonesForZoneId(String);
diff --git a/android_icu4j/libcore_bridge/src/java/com/android/i18n/timezone/CountryZonesFinder.java b/android_icu4j/libcore_bridge/src/java/com/android/i18n/timezone/CountryZonesFinder.java
index 80a316e1f..61d9a1895 100644
--- a/android_icu4j/libcore_bridge/src/java/com/android/i18n/timezone/CountryZonesFinder.java
+++ b/android_icu4j/libcore_bridge/src/java/com/android/i18n/timezone/CountryZonesFinder.java
@@ -19,6 +19,7 @@ package com.android.i18n.timezone;
import static com.android.i18n.timezone.XmlUtils.normalizeCountryIso;
import com.android.i18n.timezone.CountryTimeZones.TimeZoneMapping;
+import libcore.util.Nullable;
import java.util.ArrayList;
import java.util.Collections;
@@ -57,10 +58,11 @@ public final class CountryZonesFinder {
/**
* Returns an immutable list of {@link CountryTimeZones} for countries that use the specified
- * time zone. An exact, case-sensitive match is performed on the zone ID. If the match but the method also
- * checks for alternative zone IDs. This method never returns null and will usually return a
- * list containing a single element. It can return an empty list if the zone ID is
- * not recognized or it is not associated with a country.
+ * time zone. An exact, case-sensitive match is performed on the zone ID. Search is done
+ * over currently used time zone IDs and also over no longer used deprecated(alternative) IDs.
+ * This method never returns null and will usually return a list containing a single element.
+ * It can return an empty list if the zone ID is not recognized or it is not associated with a
+ * country.
*/
@libcore.api.CorePlatformApi
public List<CountryTimeZones> lookupCountryTimeZonesForZoneId(String zoneId) {
@@ -104,4 +106,37 @@ public final class CountryZonesFinder {
}
return null;
}
+
+ /**
+ * Returns a canonical time zone ID for the {@code timeZoneId} specified. It is intended for use
+ * when behavioral equivalence of time zones needs to be determined.
+ *
+ * <p>When a time zone ID is returned, it is guaranteed to have the same offset / daylight
+ * savings behavior as the argument, but it might be used in a different country and could
+ * have different I18N properties like display name. The original {@code timeZoneId} will
+ * often be returned.
+ *
+ * <p>If {@code timeZoneId} is unknown or not associated with a country, {@code null} is
+ * returned. e.g. time zones such as Etc/GMT+-XX.
+ *
+ * This method behavior is based on tzlookup.xml file and works with Olson IDs attached to
+ * countries, unlike {@link android.icu.util.TimeZone} which works with wider set of arguments.
+ */
+ @libcore.api.CorePlatformApi
+ @Nullable
+ public String findCanonicalTimeZoneId(String timeZoneId) {
+ for (CountryTimeZones countryTimeZones : countryTimeZonesList) {
+
+ // notafter is ignored as timeZoneId might be deprecated a while ago
+ List<TimeZoneMapping> countryTimeZoneMappings = countryTimeZones.getTimeZoneMappings();
+ for (TimeZoneMapping timeZoneMapping : countryTimeZoneMappings) {
+ if (timeZoneMapping.getTimeZoneId().equals(timeZoneId)
+ || timeZoneMapping.getAlternativeIds().contains(timeZoneId)) {
+ return timeZoneMapping.getTimeZoneId();
+ }
+ }
+ }
+
+ return null;
+ }
}
diff --git a/android_icu4j/testing/src/com/android/i18n/test/timezone/CountryZonesFinderTest.java b/android_icu4j/testing/src/com/android/i18n/test/timezone/CountryZonesFinderTest.java
index 64ec0fd0d..549c8899f 100644
--- a/android_icu4j/testing/src/com/android/i18n/test/timezone/CountryZonesFinderTest.java
+++ b/android_icu4j/testing/src/com/android/i18n/test/timezone/CountryZonesFinderTest.java
@@ -16,22 +16,26 @@
package com.android.i18n.test.timezone;
-import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import android.icu.testsharding.MainTestShard;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.stream.Collectors;
import com.android.i18n.timezone.CountryTimeZones;
import com.android.i18n.timezone.CountryTimeZones.TimeZoneMapping;
import com.android.i18n.timezone.CountryZonesFinder;
-import android.icu.testsharding.MainTestShard;
+import org.junit.Test;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.fail;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
@MainTestShard
public class CountryZonesFinderTest {
@@ -119,6 +123,26 @@ public class CountryZonesFinderTest {
assertNull(countryZonesFinder.lookupCountryTimeZones("DOES_NOT_EXIST"));
}
+ @Test
+ public void findCanonicalTimeZoneId() {
+ TimeZoneMapping usesNewZoneId = timeZoneMappingWithAlts("America/Detroit",
+ list("US/Michigan"));
+ TimeZoneMapping usesOldZoneId = timeZoneMappingWithAlts("US/Central",
+ list("America/Chicago"));
+ CountryTimeZones countryWithAlternativeZones = CountryTimeZones.createValidated(
+ "us", "America/Detroit" /* defaultTimeZoneId */, false /* defaultTimeZoneBoost */,
+ false /* everUsesUtc */,
+ list(usesNewZoneId, usesOldZoneId),
+ "debug info");
+ CountryZonesFinder countryZonesFinder =
+ CountryZonesFinder.createForTests(list(countryWithAlternativeZones));
+
+ assertEquals(countryZonesFinder.findCanonicalTimeZoneId("America/Chicago"), "US/Central");
+ assertEquals(countryZonesFinder.findCanonicalTimeZoneId("US/Michigan"), "America/Detroit");
+ assertEquals(countryZonesFinder.findCanonicalTimeZoneId("America/Detroit"), "America/Detroit");
+ assertNull(countryZonesFinder.findCanonicalTimeZoneId("Mars/Base"));
+ }
+
private static <X> void assertEqualsAndImmutable(List<X> expected, List<X> actual) {
assertEquals(expected, actual);
assertImmutableList(actual);
diff --git a/icu4c/source/common/CMakeLists.txt b/icu4c/source/common/CMakeLists.txt
new file mode 100644
index 000000000..8ff8bced7
--- /dev/null
+++ b/icu4c/source/common/CMakeLists.txt
@@ -0,0 +1,52 @@
+# Minimum CMake required
+cmake_minimum_required(VERSION 3.1.3)
+
+# Project
+project(icuuc C CXX)
+
+add_definitions("-DANDROID_LINK_SHARED_ICU4C")
+add_definitions("-DU_COMMON_IMPLEMENTATION")
+add_definitions("-D_REENTRANT")
+
+# To suppress deprecated declarations for 'uidna_toASCII_68'
+add_definitions("-Wno-deprecated-declarations")
+
+# Compile icuuc_stubdata
+set(ICUUC_STUB_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../stubdata")
+set(ICUUC_STUB_TARGET_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/libicuuc_stubdata-target")
+add_subdirectory(${ICUUC_STUB_SOURCE_DIR} ${ICUUC_STUB_TARGET_BINARY_DIR})
+
+# Compile androidicuinit
+set(ANDROIDICUINIT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../libandroidicuinit")
+set(ANDROIDICUINIT_TARGET_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/androidicu_init-target")
+add_subdirectory(${ANDROIDICUINIT_SOURCE_DIR} ${ANDROIDICUINIT_TARGET_BINARY_DIR})
+
+# Add android_icu4c headers
+set(ICU_CONFIG_LOCAL_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../android_icu4c/include")
+
+# Glob icu common source files
+file(
+ GLOB_RECURSE
+ ICU_COMMON_CC_SOURCES
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ "*.h" "*.cpp"
+)
+message(STATUS "ICU_COMMON_CC_SOURCES=${ICU_COMMON_CC_SOURCES}")
+
+add_library(
+ # name
+ icuuc
+
+ # SHARED or STATIC
+ STATIC
+
+ # Provides a relative path to your source file(s).
+ ${ICU_COMMON_CC_SOURCES}
+)
+target_include_directories(icuuc PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
+target_include_directories(icuuc PRIVATE ${ICU_CONFIG_LOCAL_SOURCE_DIR})
+target_include_directories(icuuc PRIVATE "${ANDROIDICUINIT_SOURCE_DIR}/include")
+target_link_libraries(icuuc icuuc_stubdata androidicuinit)
+
+set_target_properties(icuuc PROPERTIES LINKER_LANGUAGE CXX)
+
diff --git a/icu4c/source/common/unicode/platform.h b/icu4c/source/common/unicode/platform.h
index 2bb2f8b31..cb3a833fe 100644
--- a/icu4c/source/common/unicode/platform.h
+++ b/icu4c/source/common/unicode/platform.h
@@ -880,6 +880,6 @@ namespace std {
#else
# define U_CALLCONV_FPTR
#endif
-/* @} */
+/** @} */
#endif // _PLATFORM_H
diff --git a/icu4c/source/common/unicode/ustring.h b/icu4c/source/common/unicode/ustring.h
index 10ea45ead..52356b23e 100644
--- a/icu4c/source/common/unicode/ustring.h
+++ b/icu4c/source/common/unicode/ustring.h
@@ -78,11 +78,6 @@
*/
/**
- * \defgroup ustring_ustrlen String Length
- * \ingroup ustring_strlen
- */
-/*@{*/
-/**
* Determine the length of an array of UChar.
*
* @param s The array of UChars, NULL (U+0000) terminated.
@@ -91,7 +86,6 @@
*/
U_CAPI int32_t U_EXPORT2
u_strlen(const UChar *s);
-/*@}*/
/**
* Count Unicode code points in the length UChar code units of the string.
diff --git a/icu4c/source/i18n/CMakeLists.txt b/icu4c/source/i18n/CMakeLists.txt
new file mode 100644
index 000000000..8e7a2b389
--- /dev/null
+++ b/icu4c/source/i18n/CMakeLists.txt
@@ -0,0 +1,42 @@
+# Minimum CMake required
+cmake_minimum_required(VERSION 3.1.3)
+
+# Project
+project(icui18n C CXX)
+
+add_definitions("-DU_I18N_IMPLEMENTATION")
+add_definitions("-D_REENTRANT")
+
+# Add other source dirs that icuuc uses
+set(ICU_CONFIG_LOCAL_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../android_icu4c/include")
+
+# Compile icuuc
+set(ICUUC_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../common")
+set(ICUUC_TARGET_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/libicuuc-target")
+add_subdirectory(${ICUUC_SOURCE_DIR} ${ICUUC_TARGET_BINARY_DIR})
+
+# Glob icu common source files
+file(
+ GLOB_RECURSE
+ ICU_I18N_CC_SOURCES
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ "*.h" "*.cpp"
+)
+message(STATUS "ICU_I18N_CC_SOURCES=${ICU_I18N_CC_SOURCES}")
+
+add_library(
+ # name
+ icui18n
+
+ # SHARED or STATIC
+ STATIC
+
+ # Provides a relative path to your source file(s).
+ ${ICU_I18N_CC_SOURCES}
+)
+target_include_directories(icui18n PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
+target_include_directories(icui18n PRIVATE ${ICUUC_SOURCE_DIR})
+target_include_directories(icui18n PRIVATE ${ICU_CONFIG_LOCAL_SOURCE_DIR})
+target_link_libraries(icui18n icuuc)
+
+set_target_properties(icui18n PROPERTIES LINKER_LANGUAGE CXX)
diff --git a/icu4c/source/stubdata/Android.mk b/icu4c/source/stubdata/Android.mk
index 3dd824936..b3db1d9b7 100644
--- a/icu4c/source/stubdata/Android.mk
+++ b/icu4c/source/stubdata/Android.mk
@@ -35,7 +35,9 @@ LOCAL_SRC_FILES := $(dat_file)
LOCAL_IS_HOST_MODULE := true
include $(BUILD_PREBUILT)
-$(call dist-for-goals, layoutlib, $(LOCAL_MODULE_PATH)/$(dat_file):layoutlib_native/icu/$(dat_file))
+ifneq (,$(wildcard frameworks/layoutlib))
+ $(call dist-for-goals, layoutlib, $(LOCAL_MODULE_PATH)/$(dat_file):layoutlib_native/icu/$(dat_file))
+endif
# Module definition producing ICU .dat prebuilt files in
# /system/etc/icu for standalone ART testing purposes. This is a
diff --git a/icu4c/source/stubdata/CMakeLists.txt b/icu4c/source/stubdata/CMakeLists.txt
new file mode 100644
index 000000000..9ffaa505a
--- /dev/null
+++ b/icu4c/source/stubdata/CMakeLists.txt
@@ -0,0 +1,36 @@
+# Minimum CMake required
+cmake_minimum_required(VERSION 3.1.3)
+
+# Project
+project(icuuc_stubdata C CXX)
+
+add_definitions("-DANDROID_LINK_SHARED_ICU4C")
+
+# Glob icu stub source files
+file(
+ GLOB_RECURSE
+ ICU_STUB_CC_SOURCES
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ "*.h" "*.cpp"
+)
+message(STATUS "ICU_STUB_CC_SOURCES=${ICU_STUB_CC_SOURCES}")
+
+# Add icuuc, android_icu4c headers
+set(ICU_COMMON_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../common")
+set(ICU_CONFIG_LOCAL_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../android_icu4c/include")
+
+add_library(
+ # name
+ icuuc_stubdata
+
+ # SHARED or STATIC
+ STATIC
+
+ # Provides a relative path to your source file(s).
+ ${ICU_STUB_CC_SOURCES}
+)
+target_include_directories(icuuc_stubdata PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
+target_include_directories(icuuc_stubdata PRIVATE ${ICU_COMMON_SOURCE_DIR})
+target_include_directories(icuuc_stubdata PRIVATE ${ICU_CONFIG_LOCAL_SOURCE_DIR})
+
+set_target_properties(icuuc_stubdata PROPERTIES LINKER_LANGUAGE CXX)
diff --git a/libandroidicu/Android.bp b/libandroidicu/Android.bp
index df3c0b84c..6415f48f8 100644
--- a/libandroidicu/Android.bp
+++ b/libandroidicu/Android.bp
@@ -42,8 +42,6 @@ cc_library_shared {
unique_host_soname: true,
apex_available: [
"com.android.i18n",
- // b/133140750 Clean this up. This is due to the dependency to from libmedia
- "//apex_available:platform",
],
// The implementation of libandroidicu depends on libicuuc and and libicui18n,
diff --git a/libandroidicu/CMakeLists.txt b/libandroidicu/CMakeLists.txt
deleted file mode 100644
index 60d2d07e9..000000000
--- a/libandroidicu/CMakeLists.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-# Minimum CMake required
-cmake_minimum_required(VERSION 3.1.3)
-
-# Project
-project(libandroidicu C CXX)
-
-set(ICU_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include")
-set(ICU_SHIM_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/static_shim")
-
-# Glob icu source files
-file(
- GLOB_RECURSE
- ICU_CC_SOURCES
- "${ICU_SOURCE_DIR}/*.cpp"
- "${ICU_SOURCE_DIR}/*.h"
-)
-message(STATUS "ICU_CC_SOURCES=${ICU_CC_SOURCES}")
-
-file(
- GLOB_RECURSE
- ICU_CC_SHIM_SOURCES
- "${ICU_SHIM_SOURCE_DIR}/*.cpp"
- "${ICU_SHIM_SOURCE_DIR}/*.h"
-)
-message(STATUS "ICU_CC_SHIM_SOURCES=${ICU_CC_SHIM_SOURCES}")
-
-add_library(
- # name
- libandroidicu
-
- # SHARED or STATIC
- STATIC
-
- # Provides a relative path to your source file(s).
- ${ICU_CC_SOURCES}
- ${ICU_CC_SHIM_SOURCES}
-)
-target_include_directories(libandroidicu PRIVATE ${ICU_SOURCE_DIR})
-target_include_directories(libandroidicu PRIVATE ${ICU_SHIM_SOURCE_DIR})
-
-set_target_properties(libandroidicu PROPERTIES LINKER_LANGUAGE CXX)
diff --git a/libandroidicu/include/unicode/platform.h b/libandroidicu/include/unicode/platform.h
index 2bb2f8b31..cb3a833fe 100644
--- a/libandroidicu/include/unicode/platform.h
+++ b/libandroidicu/include/unicode/platform.h
@@ -880,6 +880,6 @@ namespace std {
#else
# define U_CALLCONV_FPTR
#endif
-/* @} */
+/** @} */
#endif // _PLATFORM_H
diff --git a/libandroidicu/include/unicode/ustring.h b/libandroidicu/include/unicode/ustring.h
index 10ea45ead..52356b23e 100644
--- a/libandroidicu/include/unicode/ustring.h
+++ b/libandroidicu/include/unicode/ustring.h
@@ -78,11 +78,6 @@
*/
/**
- * \defgroup ustring_ustrlen String Length
- * \ingroup ustring_strlen
- */
-/*@{*/
-/**
* Determine the length of an array of UChar.
*
* @param s The array of UChars, NULL (U+0000) terminated.
@@ -91,7 +86,6 @@
*/
U_CAPI int32_t U_EXPORT2
u_strlen(const UChar *s);
-/*@}*/
/**
* Count Unicode code points in the length UChar code units of the string.
diff --git a/libandroidicu/static_shim/CMakeLists.txt b/libandroidicu/static_shim/CMakeLists.txt
new file mode 100644
index 000000000..472f3d88a
--- /dev/null
+++ b/libandroidicu/static_shim/CMakeLists.txt
@@ -0,0 +1,48 @@
+# Minimum CMake required
+cmake_minimum_required(VERSION 3.1.3)
+
+# Project
+project(libandroidicu C CXX)
+
+add_definitions("-DANDROID_LINK_SHARED_ICU4C")
+
+# Add other source dirs that icuuc uses
+set(ICU_CONFIG_LOCAL_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../android_icu4c/include")
+
+# Compile icuuc
+set(ICUUC_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../icu4c/source/common")
+
+# Compile icui18n
+set(ICU_I18N_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../icu4c/source/i18n")
+set(ICU_I18N_TARGET_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/libicui18n-target")
+add_subdirectory(${ICU_I18N_SOURCE_DIR} ${ICU_I18N_TARGET_BINARY_DIR})
+
+# Glob shim sources
+set(ICU_SHIM_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
+file(
+ GLOB_RECURSE
+ ICU_STATIC_SHIM_CC_SOURCES
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ "${ICU_SHIM_SOURCE_DIR}/*.cpp"
+ "${ICU_SHIM_SOURCE_DIR}/*.h"
+)
+message(STATUS "ICU_STATIC_SHIM_CC_SOURCES=${ICU_STATIC_SHIM_CC_SOURCES}")
+
+add_library(
+ # name
+ libandroidicu
+
+ # SHARED or STATIC
+ STATIC
+
+ # Provides a relative path to your source file(s).
+ ${ICU_STATIC_SHIM_CC_SOURCES}
+)
+target_include_directories(libandroidicu PRIVATE ${ICUUC_SOURCE_DIR})
+target_include_directories(libandroidicu PRIVATE ${ICU_CONFIG_LOCAL_SOURCE_DIR})
+target_include_directories(libandroidicu PRIVATE ${ICU_I18N_SOURCE_DIR})
+target_include_directories(libandroidicu PRIVATE ${ICU_STATIC_SHIM_CC_SOURCES})
+target_link_libraries(libandroidicu icui18n)
+
+set_target_properties(libandroidicu PROPERTIES LINKER_LANGUAGE CXX)
+
diff --git a/libandroidicuinit/CMakeLists.txt b/libandroidicuinit/CMakeLists.txt
new file mode 100644
index 000000000..53bce3a94
--- /dev/null
+++ b/libandroidicuinit/CMakeLists.txt
@@ -0,0 +1,40 @@
+# Minimum CMake required
+cmake_minimum_required(VERSION 3.1.3)
+
+# Project
+project(androidicuinit C CXX)
+
+add_definitions("-DANDROID_LINK_SHARED_ICU4C")
+add_definitions("-DANDROID_ICU_NO_DAT")
+add_definitions("-DNO_ANDROID_LIBLOG")
+
+# Glob libandroidicuinit source files
+file(
+ GLOB_RECURSE
+ ANDROIDICU_INIT_CC_SOURCES
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ "${CMAKE_CURRENT_SOURCE_DIR}/*.h"
+ "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp"
+)
+message(STATUS "ANDROIDICU_INIT_CC_SOURCES=${ANDROIDICU_INIT_CC_SOURCES}")
+
+# Add icuuc, android_icu4c headers
+set(ICU_COMMON_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../icu4c/source/common")
+set(ICU_CONFIG_LOCAL_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../android_icu4c/include")
+
+add_library(
+ # name
+ androidicuinit
+
+ # SHARED or STATIC
+ STATIC
+
+ # Provides a relative path to your source file(s).
+ ${ANDROIDICU_INIT_CC_SOURCES}
+)
+target_include_directories(androidicuinit PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
+target_include_directories(androidicuinit PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include")
+target_include_directories(androidicuinit PRIVATE ${ICU_COMMON_SOURCE_DIR})
+target_include_directories(androidicuinit PRIVATE ${ICU_CONFIG_LOCAL_SOURCE_DIR})
+
+set_target_properties(androidicuinit PROPERTIES LINKER_LANGUAGE CXX)
diff --git a/libandroidicuinit/IcuRegistration.cpp b/libandroidicuinit/IcuRegistration.cpp
index 195318de5..1d68e4c05 100644
--- a/libandroidicuinit/IcuRegistration.cpp
+++ b/libandroidicuinit/IcuRegistration.cpp
@@ -27,7 +27,7 @@
#include <unicode/udata.h>
#include <unicode/utypes.h>
-#ifndef __ANDROID__
+#if !defined(__ANDROID__) || defined(NO_ANDROID_LIBLOG)
static int PriorityToLevel(char priority) {
// Priority is just the array index of priority in kPriorities.
static const char* kPriorities = "VDIWEF";
@@ -57,12 +57,12 @@ bool AIcuHostShouldLog(char priority) {
static int g_LogLevel = GetHostLogLevel();
return PriorityToLevel(priority) >= g_LogLevel;
}
-#endif // __ANDROID__
+#endif // !defined(__ANDROID__) || defined(NO_ANDROID_LIBLOG)
namespace androidicuinit {
namespace impl {
-#ifndef __ANDROID__
+#if !defined(__ANDROID__) || defined(NO_ANDROID_LIBLOG)
// http://b/171371690 Avoid dependency on liblog and libbase on host
// Simplified version of android::base::unique_fd for host.
class simple_unique_fd final {
@@ -103,10 +103,10 @@ class simple_unique_fd final {
_rc; \
})
#endif
-#endif // #ifndef __ANDROID__
+#endif // !defined(__ANDROID__) || defined(NO_ANDROID_LIBLOG)
// http://b/171371690 Avoid dependency on liblog and libbase on host
-#ifdef __ANDROID__
+#if defined(__ANDROID__) && !defined(NO_ANDROID_LIBLOG)
typedef android::base::unique_fd aicu_unique_fd;
#else
typedef simple_unique_fd aicu_unique_fd;
diff --git a/libandroidicuinit/IcuRegistration.h b/libandroidicuinit/IcuRegistration.h
index ded6f5bf9..ca8007bbb 100644
--- a/libandroidicuinit/IcuRegistration.h
+++ b/libandroidicuinit/IcuRegistration.h
@@ -21,7 +21,14 @@
#include <string>
#include <cstdio>
-#ifdef __ANDROID__
+
+/**
+ * def NO_ANDROID_LOGGING
+ * This flag turns off the usage of liblog, and logs into stderr instead.
+ * This is not expected to be used in Android platform build, but is useful
+ * when building this ICU4C for unbundled library or app.
+ */
+#if defined(__ANDROID__) && !defined(NO_ANDROID_LIBLOG)
#include <android-base/logging.h>
#include <android-base/unique_fd.h>
#include <log/log.h>
diff --git a/libandroidicuinit/android_icu_init.cpp b/libandroidicuinit/android_icu_init.cpp
index 575370388..71fcec67e 100644
--- a/libandroidicuinit/android_icu_init.cpp
+++ b/libandroidicuinit/android_icu_init.cpp
@@ -24,7 +24,13 @@ void android_icu_init() {
// We know that the environment variables are exported early in init.environ.rc on Android.
#ifdef __ANDROID__
- runAndroidInit = true;
+ #ifdef ANDROID_ICU_NO_DAT
+ // If we're intentionally building ICU on Android without the .dat file, no
+ // need to run init.
+ runAndroidInit = false;
+ #else // !ANDROID_ICU_NO_DAT
+ runAndroidInit = true;
+ #endif
#else // ART host testing environment has these env variables set.
runAndroidInit = getenv("ANDROID_DATA") != NULL &&
getenv("ANDROID_TZDATA_ROOT") != NULL &&
@@ -47,4 +53,4 @@ void android_icu_cleanup() {
AICU_LOGW("libicuuc is not initialized and possibly never used, "
"but android_icu_cleanup() is called.");
}
-} \ No newline at end of file
+}
diff --git a/libicu/cts_headers/unicode/platform.h b/libicu/cts_headers/unicode/platform.h
index 2bb2f8b31..cb3a833fe 100644
--- a/libicu/cts_headers/unicode/platform.h
+++ b/libicu/cts_headers/unicode/platform.h
@@ -880,6 +880,6 @@ namespace std {
#else
# define U_CALLCONV_FPTR
#endif
-/* @} */
+/** @} */
#endif // _PLATFORM_H
diff --git a/libicu/cts_headers/unicode/ustring.h b/libicu/cts_headers/unicode/ustring.h
index 10ea45ead..52356b23e 100644
--- a/libicu/cts_headers/unicode/ustring.h
+++ b/libicu/cts_headers/unicode/ustring.h
@@ -78,11 +78,6 @@
*/
/**
- * \defgroup ustring_ustrlen String Length
- * \ingroup ustring_strlen
- */
-/*@{*/
-/**
* Determine the length of an array of UChar.
*
* @param s The array of UChars, NULL (U+0000) terminated.
@@ -91,7 +86,6 @@
*/
U_CAPI int32_t U_EXPORT2
u_strlen(const UChar *s);
-/*@}*/
/**
* Count Unicode code points in the length UChar code units of the string.
diff --git a/libicu/ndk_headers/unicode/char16ptr.h b/libicu/ndk_headers/unicode/char16ptr.h
index 1de179678..9209b6289 100644
--- a/libicu/ndk_headers/unicode/char16ptr.h
+++ b/libicu/ndk_headers/unicode/char16ptr.h
@@ -14,6 +14,8 @@
#include <cstddef>
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C++ API: char16_t pointer wrappers with
* implicit conversion from bit-compatible raw pointer types.
@@ -25,7 +27,7 @@ U_NAMESPACE_BEGIN
/**
* \def U_ALIASING_BARRIER
* Barrier for pointer anti-aliasing optimizations even across function boundaries.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_ALIASING_BARRIER
// Use the predefined value.
@@ -37,21 +39,21 @@ U_NAMESPACE_BEGIN
/**
* char16_t * wrapper with implicit conversion from distinct but bit-compatible pointer types.
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
class U_COMMON_API Char16Ptr U_FINAL {
public:
/**
* Copies the pointer.
* @param p pointer
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline Char16Ptr(char16_t *p);
#if !U_CHAR16_IS_TYPEDEF
/**
* Converts the pointer to char16_t *.
* @param p pointer to be converted
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline Char16Ptr(uint16_t *p);
#endif
@@ -60,32 +62,32 @@ public:
* Converts the pointer to char16_t *.
* (Only defined if U_SIZEOF_WCHAR_T==2.)
* @param p pointer to be converted
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline Char16Ptr(wchar_t *p);
#endif
/**
* nullptr constructor.
* @param p nullptr
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline Char16Ptr(std::nullptr_t p);
/**
* Destructor.
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline ~Char16Ptr();
/**
* Pointer access.
* @return the wrapped pointer
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline char16_t *get() const;
/**
* char16_t pointer access via type conversion (e.g., static_cast).
* @return the wrapped pointer
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline operator char16_t *() const { return get(); }
@@ -144,21 +146,21 @@ char16_t *Char16Ptr::get() const { return u_.cp; }
/**
* const char16_t * wrapper with implicit conversion from distinct but bit-compatible pointer types.
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
class U_COMMON_API ConstChar16Ptr U_FINAL {
public:
/**
* Copies the pointer.
* @param p pointer
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline ConstChar16Ptr(const char16_t *p);
#if !U_CHAR16_IS_TYPEDEF
/**
* Converts the pointer to char16_t *.
* @param p pointer to be converted
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline ConstChar16Ptr(const uint16_t *p);
#endif
@@ -167,33 +169,33 @@ public:
* Converts the pointer to char16_t *.
* (Only defined if U_SIZEOF_WCHAR_T==2.)
* @param p pointer to be converted
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline ConstChar16Ptr(const wchar_t *p);
#endif
/**
* nullptr constructor.
* @param p nullptr
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline ConstChar16Ptr(const std::nullptr_t p);
/**
* Destructor.
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline ~ConstChar16Ptr();
/**
* Pointer access.
* @return the wrapped pointer
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline const char16_t *get() const;
/**
* char16_t pointer access via type conversion (e.g., static_cast).
* @return the wrapped pointer
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline operator const char16_t *() const { return get(); }
@@ -255,7 +257,7 @@ const char16_t *ConstChar16Ptr::get() const { return u_.cp; }
* Includes an aliasing barrier if available.
* @param p pointer
* @return p as const UChar *
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline const UChar *toUCharPtr(const char16_t *p) {
#ifdef U_ALIASING_BARRIER
@@ -269,7 +271,7 @@ inline const UChar *toUCharPtr(const char16_t *p) {
* Includes an aliasing barrier if available.
* @param p pointer
* @return p as UChar *
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline UChar *toUCharPtr(char16_t *p) {
#ifdef U_ALIASING_BARRIER
@@ -283,7 +285,7 @@ inline UChar *toUCharPtr(char16_t *p) {
* Includes an aliasing barrier if available.
* @param p pointer
* @return p as const OldUChar *
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline const OldUChar *toOldUCharPtr(const char16_t *p) {
#ifdef U_ALIASING_BARRIER
@@ -297,7 +299,7 @@ inline const OldUChar *toOldUCharPtr(const char16_t *p) {
* Includes an aliasing barrier if available.
* @param p pointer
* @return p as OldUChar *
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
inline OldUChar *toOldUCharPtr(char16_t *p) {
#ifdef U_ALIASING_BARRIER
@@ -311,3 +313,5 @@ U_NAMESPACE_END
#endif /* LIBICU_U_SHOW_CPLUSPLUS_API */
#endif // __CHAR16PTR_H__
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/platform.h b/libicu/ndk_headers/unicode/platform.h
index 2bb2f8b31..47bb1e6a2 100644
--- a/libicu/ndk_headers/unicode/platform.h
+++ b/libicu/ndk_headers/unicode/platform.h
@@ -54,12 +54,12 @@
/**
* Define some things so that they can be documented.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_IN_DOXYGEN
/*
* Problem: "platform.h:335: warning: documentation for unknown define U_HAVE_STD_STRING found." means that U_HAVE_STD_STRING is not documented.
- * Solution: #define any defines for non @internal API here, so that they are visible in the docs. If you just set PREDEFINED in Doxyfile.in, they won't be documented.
+ * Solution: #define any defines for non \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. API here, so that they are visible in the docs. If you just set PREDEFINED in Doxyfile.in, they won't be documented.
*/
/* None for now. */
@@ -82,31 +82,31 @@
* on the market at that time: BSD, System V, and Xenix.
* This became Unix System V Release 4 (SVR4).
*
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
-/** Unknown platform. @internal */
+/** Unknown platform. \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
#define U_PF_UNKNOWN 0
-/** Windows @internal */
+/** Windows \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
#define U_PF_WINDOWS 1000
-/** MinGW. Windows, calls to Win32 API, but using GNU gcc and binutils. @internal */
+/** MinGW. Windows, calls to Win32 API, but using GNU gcc and binutils. \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
#define U_PF_MINGW 1800
/**
* Cygwin. Windows, calls to cygwin1.dll for Posix functions,
* using MSVC or GNU gcc and binutils.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#define U_PF_CYGWIN 1900
/* Reserve 2000 for U_PF_UNIX? */
-/** HP-UX is based on UNIX System V. @internal */
+/** HP-UX is based on UNIX System V. \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
#define U_PF_HPUX 2100
-/** Solaris is a Unix operating system based on SVR4. @internal */
+/** Solaris is a Unix operating system based on SVR4. \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
#define U_PF_SOLARIS 2600
-/** BSD is a UNIX operating system derivative. @internal */
+/** BSD is a UNIX operating system derivative. \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
#define U_PF_BSD 3000
-/** AIX is based on UNIX System V Releases and 4.3 BSD. @internal */
+/** AIX is based on UNIX System V Releases and 4.3 BSD. \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
#define U_PF_AIX 3100
-/** IRIX is based on UNIX System V with BSD extensions. @internal */
+/** IRIX is based on UNIX System V with BSD extensions. \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
#define U_PF_IRIX 3200
/**
* Darwin is a POSIX-compliant operating system, composed of code developed by Apple,
@@ -114,25 +114,25 @@
* built around the Mach kernel.
* Darwin forms the core set of components upon which Mac OS X, Apple TV, and iOS are based.
* (Original description modified from WikiPedia.)
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#define U_PF_DARWIN 3500
-/** iPhone OS (iOS) is a derivative of Mac OS X. @internal */
+/** iPhone OS (iOS) is a derivative of Mac OS X. \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
#define U_PF_IPHONE 3550
-/** QNX is a commercial Unix-like real-time operating system related to BSD. @internal */
+/** QNX is a commercial Unix-like real-time operating system related to BSD. \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
#define U_PF_QNX 3700
-/** Linux is a Unix-like operating system. @internal */
+/** Linux is a Unix-like operating system. \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
#define U_PF_LINUX 4000
/**
* Native Client is pretty close to Linux.
* See https://developer.chrome.com/native-client and
* http://www.chromium.org/nativeclient
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#define U_PF_BROWSER_NATIVE_CLIENT 4020
-/** Android is based on Linux. @internal */
+/** Android is based on Linux. \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
#define U_PF_ANDROID 4050
-/** Fuchsia is a POSIX-ish platform. @internal */
+/** Fuchsia is a POSIX-ish platform. \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
#define U_PF_FUCHSIA 4100
/* Maximum value for Linux-based platform is 4499 */
/**
@@ -140,12 +140,12 @@
* WebAssembly. It provides some POSIX-compatible wrappers and stubs and
* some Linux-like functionality, but is not fully compatible with
* either.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#define U_PF_EMSCRIPTEN 5010
-/** z/OS is the successor to OS/390 which was the successor to MVS. @internal */
+/** z/OS is the successor to OS/390 which was the successor to MVS. \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
#define U_PF_OS390 9000
-/** "IBM i" is the current name of what used to be i5/OS and earlier OS/400. @internal */
+/** "IBM i" is the current name of what used to be i5/OS and earlier OS/400. \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
#define U_PF_OS400 9400
#ifdef U_PLATFORM
@@ -210,7 +210,7 @@
* \def CYGWINMSVC
* Defined if this is Windows with Cygwin, but using MSVC rather than gcc.
* Otherwise undefined.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
/* Commented out because this is already set in mh-cygwin-msvc
#if U_PLATFORM == U_PF_CYGWIN && defined(_MSC_VER)
@@ -225,7 +225,7 @@
* \def U_PLATFORM_USES_ONLY_WIN32_API
* Defines whether the platform uses only the Win32 API.
* Set to 1 for Windows/MSVC and MinGW but not Cygwin.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_PLATFORM_USES_ONLY_WIN32_API
/* Use the predefined value. */
@@ -240,7 +240,7 @@
* \def U_PLATFORM_HAS_WIN32_API
* Defines whether the Win32 API is available on the platform.
* Set to 1 for Windows/MSVC, MinGW and Cygwin.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_PLATFORM_HAS_WIN32_API
/* Use the predefined value. */
@@ -254,7 +254,7 @@
* \def U_PLATFORM_HAS_WINUWP_API
* Defines whether target is intended for Universal Windows Platform API
* Set to 1 for Windows10 Release Solution Configuration
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_PLATFORM_HAS_WINUWP_API
/* Use the predefined value. */
@@ -266,7 +266,7 @@
* \def U_PLATFORM_IMPLEMENTS_POSIX
* Defines whether the platform implements (most of) the POSIX API.
* Set to 1 for Cygwin and most other platforms.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_PLATFORM_IMPLEMENTS_POSIX
/* Use the predefined value. */
@@ -279,7 +279,7 @@
/**
* \def U_PLATFORM_IS_LINUX_BASED
* Defines whether the platform is Linux or one of its derivatives.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_PLATFORM_IS_LINUX_BASED
/* Use the predefined value. */
@@ -292,7 +292,7 @@
/**
* \def U_PLATFORM_IS_DARWIN_BASED
* Defines whether the platform is Darwin or one of its derivatives.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_PLATFORM_IS_DARWIN_BASED
/* Use the predefined value. */
@@ -307,7 +307,7 @@
* Defines whether stdint.h is available. It is a C99 standard header.
* We used to include inttypes.h which includes stdint.h but we usually do not need
* the additional definitions from inttypes.h.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_HAVE_STDINT_H
/* Use the predefined value. */
@@ -332,7 +332,7 @@
* \def U_HAVE_INTTYPES_H
* Defines whether inttypes.h is available. It is a C99 standard header.
* We include inttypes.h where it is available but stdint.h is not.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_HAVE_INTTYPES_H
/* Use the predefined value. */
@@ -359,7 +359,7 @@
*
* For example, for testing for whether we have gcc, and whether it's 4.6 or higher,
* use "#if U_GCC_MAJOR_MINOR >= 406".
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef __GNUC__
# define U_GCC_MAJOR_MINOR (__GNUC__ * 100 + __GNUC_MINOR__)
@@ -370,7 +370,7 @@
/**
* \def U_IS_BIG_ENDIAN
* Determines the endianness of the platform.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_IS_BIG_ENDIAN
/* Use the predefined value. */
@@ -399,7 +399,7 @@
/**
* \def U_HAVE_PLACEMENT_NEW
* Determines whether to override placement new and delete for STL.
- * @stable ICU 2.6
+ * \xrefitem stable "Stable" "Stable List" ICU 2.6
*/
#ifdef U_HAVE_PLACEMENT_NEW
/* Use the predefined value. */
@@ -413,7 +413,7 @@
* \def U_HAVE_DEBUG_LOCATION_NEW
* Define this to define the MFC debug version of the operator new.
*
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
#ifdef U_HAVE_DEBUG_LOCATION_NEW
/* Use the predefined value. */
@@ -463,7 +463,7 @@
/**
* \def U_MALLOC_ATTR
* Attribute to mark functions as malloc-like
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#if defined(__GNUC__) && __GNUC__>=3
# define U_MALLOC_ATTR __attribute__ ((__malloc__))
@@ -474,7 +474,7 @@
/**
* \def U_ALLOC_SIZE_ATTR
* Attribute to specify the size of the allocated buffer for malloc-like functions
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#if (defined(__GNUC__) && \
(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) || \
@@ -490,7 +490,7 @@
* \def U_CPLUSPLUS_VERSION
* 0 if no C++; 1, 11, 14, ... if C++.
* Support for specific features cannot always be determined by the C++ version alone.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_CPLUSPLUS_VERSION
# if U_CPLUSPLUS_VERSION != 0 && !defined(__cplusplus)
@@ -521,7 +521,7 @@ namespace std {
* "noexcept" if supported, otherwise empty.
* Some code, especially STL containers, uses move semantics of objects only
* if the move constructor and the move operator are declared as not throwing exceptions.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_NOEXCEPT
/* Use the predefined value. */
@@ -533,7 +533,7 @@ namespace std {
* \def U_FALLTHROUGH
* Annotate intentional fall-through between switch labels.
* http://clang.llvm.org/docs/AttributeReference.html#fallthrough-clang-fallthrough
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef __cplusplus
// Not for C.
@@ -563,13 +563,13 @@ namespace std {
/**
* U_CHARSET_FAMILY is equal to this value when the platform is an ASCII based platform.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define U_ASCII_FAMILY 0
/**
* U_CHARSET_FAMILY is equal to this value when the platform is an EBCDIC based platform.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define U_EBCDIC_FAMILY 1
@@ -613,7 +613,7 @@ namespace std {
* '@' <commercial at>
* '`' <grave accent>
* \endcode
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#ifdef U_CHARSET_FAMILY
/* Use the predefined value. */
@@ -642,7 +642,7 @@ namespace std {
* configuration option (see unicode/uconfig.h)
* - the UCONFIG_NO_CONVERSION build option in uconfig.h is more usable
*
- * @stable ICU 4.2
+ * \xrefitem stable "Stable" "Stable List" ICU 4.2
* @see UCONFIG_NO_CONVERSION
*/
#ifdef U_CHARSET_IS_UTF8
@@ -664,7 +664,7 @@ namespace std {
* \def U_HAVE_WCHAR_H
* Indicates whether <wchar.h> is available (1) or not (0). Set to 1 by default.
*
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#ifdef U_HAVE_WCHAR_H
/* Use the predefined value. */
@@ -683,7 +683,7 @@ namespace std {
* \def U_SIZEOF_WCHAR_T
* U_SIZEOF_WCHAR_T==sizeof(wchar_t)
*
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#ifdef U_SIZEOF_WCHAR_T
/* Use the predefined value. */
@@ -759,7 +759,7 @@ namespace std {
* and u"abc" UTF-16 string literals are supported.
* This is a new standard type and standard string literal syntax in C++0x
* but has been available in some compilers before.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_HAVE_CHAR16_T
/* Use the predefined value. */
@@ -787,7 +787,7 @@ namespace std {
* \def U_DECLARE_UTF16
* Do not use this macro because it is not defined on all platforms.
* Use the UNICODE_STRING or U_STRING_DECL macros instead.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_DECLARE_UTF16
/* Use the predefined value. */
@@ -862,7 +862,7 @@ namespace std {
* NO : "static const char U_CALLCONV *func( . . . )"
* YES: "static const char* U_CALLCONV func( . . . )"
*
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#if U_PLATFORM == U_PF_OS390 && defined(__cplusplus)
# define U_CALLCONV __cdecl
@@ -873,13 +873,13 @@ namespace std {
/**
* \def U_CALLCONV_FPTR
* Similar to U_CALLCONV, but only used on function pointers.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#if U_PLATFORM == U_PF_OS390 && defined(__cplusplus)
# define U_CALLCONV_FPTR U_CALLCONV
#else
# define U_CALLCONV_FPTR
#endif
-/* @} */
+/** @} */
#endif // _PLATFORM_H
diff --git a/libicu/ndk_headers/unicode/ptypes.h b/libicu/ndk_headers/unicode/ptypes.h
index 70324ffee..08873c2cf 100644
--- a/libicu/ndk_headers/unicode/ptypes.h
+++ b/libicu/ndk_headers/unicode/ptypes.h
@@ -20,6 +20,8 @@
*/
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C API: Definitions of integer types of various widths
*/
@@ -33,7 +35,7 @@
* macros like INT32_MIN and UINTPTR_MAX should only be defined if explicitly requested.
* We need to define __STDC_LIMIT_MACROS before including stdint.h in C++ code
* that uses such limit macros.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef __STDC_LIMIT_MACROS
#define __STDC_LIMIT_MACROS
@@ -128,3 +130,5 @@ typedef unsigned int uint32_t;
#endif /* U_HAVE_STDINT_H / U_HAVE_INTTYPES_H */
#endif /* _PTYPES_H */
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/putil.h b/libicu/ndk_headers/unicode/putil.h
index 860014966..703521dbd 100644
--- a/libicu/ndk_headers/unicode/putil.h
+++ b/libicu/ndk_headers/unicode/putil.h
@@ -28,6 +28,8 @@
#include "unicode/utypes.h"
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C API: Platform Utilities
*/
@@ -58,7 +60,7 @@
* @{
* Filesystem file and path separator characters.
* Example: '/' and ':' on Unix, '\\' and ';' on Windows.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#if U_PLATFORM_USES_ONLY_WIN32_API
# define U_FILE_SEP_CHAR '\\'
@@ -83,3 +85,5 @@
#endif
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/stringoptions.h b/libicu/ndk_headers/unicode/stringoptions.h
index 7b9f70944..5f1a1c2c0 100644
--- a/libicu/ndk_headers/unicode/stringoptions.h
+++ b/libicu/ndk_headers/unicode/stringoptions.h
@@ -10,6 +10,8 @@
#include "unicode/utypes.h"
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C API: Bit set option bit constants for various string and character processing functions.
*/
@@ -17,7 +19,7 @@
/**
* Option value for case folding: Use default mappings defined in CaseFolding.txt.
*
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define U_FOLD_CASE_DEFAULT 0
@@ -35,7 +37,7 @@
* are to be excluded for default mappings and
* included for the Turkic-specific mappings.
*
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define U_FOLD_CASE_EXCLUDE_SPECIAL_I 1
@@ -48,7 +50,7 @@
* including both an options bit and an explicit BreakIterator.
*
* @see U_TITLECASE_ADJUST_TO_CASED
- * @stable ICU 60
+ * \xrefitem stable "Stable" "Stable List" ICU 60
*/
#define U_TITLECASE_WHOLE_STRING 0x20
@@ -61,7 +63,7 @@
* including both an options bit and an explicit BreakIterator.
*
* @see U_TITLECASE_ADJUST_TO_CASED
- * @stable ICU 60
+ * \xrefitem stable "Stable" "Stable List" ICU 60
*/
#define U_TITLECASE_SENTENCES 0x40
@@ -80,7 +82,7 @@
* @see ucasemap_setOptions
* @see ucasemap_toTitle
* @see ucasemap_utf8ToTitle
- * @stable ICU 3.8
+ * \xrefitem stable "Stable" "Stable List" ICU 3.8
*/
#define U_TITLECASE_NO_LOWERCASE 0x100
@@ -104,7 +106,7 @@
* @see ucasemap_setOptions
* @see ucasemap_toTitle
* @see ucasemap_utf8ToTitle
- * @stable ICU 3.8
+ * \xrefitem stable "Stable" "Stable List" ICU 3.8
*/
#define U_TITLECASE_NO_BREAK_ADJUSTMENT 0x200
@@ -124,7 +126,7 @@
* It is an error to specify multiple titlecasing adjustment options together.
*
* @see U_TITLECASE_NO_BREAK_ADJUSTMENT
- * @stable ICU 60
+ * \xrefitem stable "Stable" "Stable List" ICU 60
*/
#define U_TITLECASE_ADJUST_TO_CASED 0x400
@@ -135,7 +137,7 @@
* @see CaseMap
* @see Edits
* @see Normalizer2
- * @stable ICU 60
+ * \xrefitem stable "Stable" "Stable List" ICU 60
*/
#define U_EDITS_NO_RESET 0x2000
@@ -147,28 +149,28 @@
* @see CaseMap
* @see Edits
* @see Normalizer2
- * @stable ICU 60
+ * \xrefitem stable "Stable" "Stable List" ICU 60
*/
#define U_OMIT_UNCHANGED_TEXT 0x4000
/**
* Option bit for u_strCaseCompare, u_strcasecmp, unorm_compare, etc:
* Compare strings in code point order instead of code unit order.
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
#define U_COMPARE_CODE_POINT_ORDER 0x8000
/**
* Option bit for unorm_compare:
* Perform case-insensitive comparison.
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
#define U_COMPARE_IGNORE_CASE 0x10000
/**
* Option bit for unorm_compare:
* Both input strings are assumed to fulfill FCD conditions.
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
#define UNORM_INPUT_IS_FCD 0x20000
@@ -188,3 +190,5 @@
// unormcmp.cpp #define _COMPARE_EQUIV 0x80000
#endif // __STRINGOPTIONS_H__
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/ubidi.h b/libicu/ndk_headers/unicode/ubidi.h
index d5a1d745b..b55bebf4a 100644
--- a/libicu/ndk_headers/unicode/ubidi.h
+++ b/libicu/ndk_headers/unicode/ubidi.h
@@ -27,6 +27,8 @@
#endif // U_SHOW_CPLUSPLUS_API
/**
+ * @addtogroup ICU4C
+ * @{
*\file
* \brief C API: Bidi algorithm
*
@@ -334,7 +336,7 @@
* @see UBIDI_DEFAULT_RTL
* @see UBIDI_LEVEL_OVERRIDE
* @see UBIDI_MAX_EXPLICIT_LEVEL
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
typedef uint8_t UBiDiLevel;
@@ -360,7 +362,7 @@ typedef uint8_t UBiDiLevel;
* the original source text).
* @see UBIDI_REORDER_INVERSE_LIKE_DIRECT
* @see UBIDI_REORDER_INVERSE_FOR_NUMBERS_SPECIAL
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define UBIDI_DEFAULT_LTR 0xfe
@@ -387,7 +389,7 @@ typedef uint8_t UBiDiLevel;
* the original source text).
* @see UBIDI_REORDER_INVERSE_LIKE_DIRECT
* @see UBIDI_REORDER_INVERSE_FOR_NUMBERS_SPECIAL
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define UBIDI_DEFAULT_RTL 0xff
@@ -396,13 +398,13 @@ typedef uint8_t UBiDiLevel;
* Same as the max_depth value in the
* <a href="http://www.unicode.org/reports/tr9/#BD2">Unicode Bidirectional Algorithm</a>.
* (The maximum resolved level can be up to <code>UBIDI_MAX_EXPLICIT_LEVEL+1</code>).
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define UBIDI_MAX_EXPLICIT_LEVEL 125
/** Bit flag for level input.
* Overrides directional properties.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define UBIDI_LEVEL_OVERRIDE 0x80
@@ -417,13 +419,13 @@ typedef uint8_t UBiDiLevel;
* @see ubidi_getVisualMap
* @see ubidi_getLogicalIndex
* @see ubidi_getLogicalMap
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
#define UBIDI_MAP_NOWHERE (-1)
/**
* <code>UBiDiDirection</code> values indicate the text direction.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
enum UBiDiDirection {
/** Left-to-right text. This is a 0 value.
@@ -435,7 +437,7 @@ enum UBiDiDirection {
* means that the first strong character of the source string has
* a left-to-right direction.
* </ul>
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
UBIDI_LTR,
/** Right-to-left text. This is a 1 value.
@@ -447,26 +449,26 @@ enum UBiDiDirection {
* means that the first strong character of the source string has
* a right-to-left direction.
* </ul>
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
UBIDI_RTL,
/** Mixed-directional text.
* <p>As return value for <code>ubidi_getDirection()</code>, it means
* that the source string contains both left-to-right and
* right-to-left characters.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
UBIDI_MIXED,
/** No strongly directional text.
* <p>As return value for <code>ubidi_getBaseDirection()</code>, it means
* that the source string is missing or empty, or contains neither left-to-right
* nor right-to-left characters.
- * @stable ICU 4.6
+ * \xrefitem stable "Stable" "Stable List" ICU 4.6
*/
UBIDI_NEUTRAL
};
-/** @stable ICU 2.0 */
+/** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
typedef enum UBiDiDirection UBiDiDirection;
/**
@@ -477,11 +479,11 @@ typedef enum UBiDiDirection UBiDiDirection;
* such a paragraph.<p>
* Reordering can be done on a line, or on one or more paragraphs which are
* then interpreted each as one single line.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
struct UBiDi;
-/** @stable ICU 2.0 */
+/** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
typedef struct UBiDi UBiDi;
/**
@@ -497,7 +499,7 @@ typedef struct UBiDi UBiDi;
* additional memory for internal structures as necessary.
*
* @return An empty <code>UBiDi</code> object.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBiDi * U_EXPORT2
ubidi_open(void) __INTRODUCED_IN(31);
@@ -536,7 +538,7 @@ ubidi_open(void) __INTRODUCED_IN(31);
* @param pErrorCode must be a valid pointer to an error code value.
*
* @return An empty <code>UBiDi</code> object with preallocated memory.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBiDi * U_EXPORT2
ubidi_openSized(int32_t maxLength, int32_t maxRunCount, UErrorCode *pErrorCode) __INTRODUCED_IN(31);
@@ -561,7 +563,7 @@ ubidi_openSized(int32_t maxLength, int32_t maxRunCount, UErrorCode *pErrorCode)
*
* @see ubidi_setPara
* @see ubidi_setLine
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI void U_EXPORT2
ubidi_close(UBiDi *pBiDi) __INTRODUCED_IN(31);
@@ -579,7 +581,7 @@ U_NAMESPACE_BEGIN
*
* @see LocalPointerBase
* @see LocalPointer
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_DEFINE_LOCAL_OPEN_POINTER(LocalUBiDiPointer, UBiDi, ubidi_close);
@@ -633,7 +635,7 @@ U_NAMESPACE_END
* @see ubidi_setPara
* @see ubidi_writeReordered
* @see ubidi_setReorderingMode
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI void U_EXPORT2
ubidi_setInverse(UBiDi *pBiDi, UBool isInverse) __INTRODUCED_IN(31);
@@ -653,7 +655,7 @@ ubidi_setInverse(UBiDi *pBiDi, UBool isInverse) __INTRODUCED_IN(31);
*
* @see ubidi_setInverse
* @see ubidi_setReorderingMode
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
@@ -677,7 +679,7 @@ ubidi_isInverse(UBiDi *pBiDi);
* receive level 0, so that successive paragraphs progress from left to right.
*
* @see ubidi_setPara
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI void U_EXPORT2
ubidi_orderParagraphsLTR(UBiDi *pBiDi, UBool orderParagraphsLTR) __INTRODUCED_IN(31);
@@ -693,7 +695,7 @@ ubidi_orderParagraphsLTR(UBiDi *pBiDi, UBool orderParagraphsLTR) __INTRODUCED_IN
* separators.
*
* @see ubidi_orderParagraphsLTR
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI UBool U_EXPORT2
ubidi_isOrderParagraphsLTR(UBiDi *pBiDi) __INTRODUCED_IN(31);
@@ -705,20 +707,20 @@ ubidi_isOrderParagraphsLTR(UBiDi *pBiDi) __INTRODUCED_IN(31);
* algorithm to use.
*
* @see ubidi_setReorderingMode
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
typedef enum UBiDiReorderingMode {
/** Regular Logical to Visual Bidi algorithm according to Unicode.
* This is a 0 value.
- * @stable ICU 3.6 */
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6 */
UBIDI_REORDER_DEFAULT = 0,
/** Logical to Visual algorithm which handles numbers in a way which
* mimics the behavior of Windows XP.
- * @stable ICU 3.6 */
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6 */
UBIDI_REORDER_NUMBERS_SPECIAL,
/** Logical to Visual algorithm grouping numbers with adjacent R characters
* (reversible algorithm).
- * @stable ICU 3.6 */
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6 */
UBIDI_REORDER_GROUP_NUMBERS_WITH_R,
/** Reorder runs only to transform a Logical LTR string to the Logical RTL
* string with the same display, or vice-versa.<br>
@@ -726,25 +728,25 @@ typedef enum UBiDiReorderingMode {
* <code>#UBIDI_OPTION_INSERT_MARKS</code>, some Bidi controls in the source
* text may be removed and other controls may be added to produce the
* minimum combination which has the required display.
- * @stable ICU 3.6 */
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6 */
UBIDI_REORDER_RUNS_ONLY,
/** Visual to Logical algorithm which handles numbers like L
* (same algorithm as selected by <code>ubidi_setInverse(true)</code>.
* @see ubidi_setInverse
- * @stable ICU 3.6 */
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6 */
UBIDI_REORDER_INVERSE_NUMBERS_AS_L,
/** Visual to Logical algorithm equivalent to the regular Logical to Visual
* algorithm.
- * @stable ICU 3.6 */
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6 */
UBIDI_REORDER_INVERSE_LIKE_DIRECT,
/** Inverse Bidi (Visual to Logical) algorithm for the
* <code>UBIDI_REORDER_NUMBERS_SPECIAL</code> Bidi algorithm.
- * @stable ICU 3.6 */
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6 */
UBIDI_REORDER_INVERSE_FOR_NUMBERS_SPECIAL,
#ifndef U_HIDE_DEPRECATED_API
/**
* Number of values for reordering mode.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
UBIDI_REORDER_COUNT
#endif // U_HIDE_DEPRECATED_API
@@ -899,7 +901,7 @@ typedef enum UBiDiReorderingMode {
* @see ubidi_setInverse
* @see ubidi_setPara
* @see ubidi_writeReordered
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
U_CAPI void U_EXPORT2
ubidi_setReorderingMode(UBiDi *pBiDi, UBiDiReorderingMode reorderingMode) __INTRODUCED_IN(31);
@@ -912,7 +914,7 @@ ubidi_setReorderingMode(UBiDi *pBiDi, UBiDiReorderingMode reorderingMode) __INTR
* @param pBiDi is a <code>UBiDi</code> object.
* @return the current reordering mode of the Bidi object
* @see ubidi_setReorderingMode
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
U_CAPI UBiDiReorderingMode U_EXPORT2
ubidi_getReorderingMode(UBiDi *pBiDi) __INTRODUCED_IN(31);
@@ -924,14 +926,14 @@ ubidi_getReorderingMode(UBiDi *pBiDi) __INTRODUCED_IN(31);
* specified to affect the Bidi algorithm.
*
* @see ubidi_setReorderingOptions
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
typedef enum UBiDiReorderingOption {
/**
* option value for <code>ubidi_setReorderingOptions</code>:
* disable all the options which can be set with this function
* @see ubidi_setReorderingOptions
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
UBIDI_OPTION_DEFAULT = 0,
@@ -977,7 +979,7 @@ typedef enum UBiDiReorderingOption {
*
* @see ubidi_setReorderingMode
* @see ubidi_setReorderingOptions
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
UBIDI_OPTION_INSERT_MARKS = 1,
@@ -995,7 +997,7 @@ typedef enum UBiDiReorderingOption {
*
* @see ubidi_setReorderingMode
* @see ubidi_setReorderingOptions
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
UBIDI_OPTION_REMOVE_CONTROLS = 2,
@@ -1043,7 +1045,7 @@ typedef enum UBiDiReorderingOption {
* @see ubidi_setReorderingOptions
* @see ubidi_getProcessedLength
* @see ubidi_orderParagraphsLTR
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
UBIDI_OPTION_STREAMING = 4
} UBiDiReorderingOption;
@@ -1059,7 +1061,7 @@ typedef enum UBiDiReorderingOption {
* <code>#UBIDI_OPTION_REMOVE_CONTROLS</code>, <code>#UBIDI_OPTION_STREAMING</code>.
*
* @see ubidi_getReorderingOptions
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
U_CAPI void U_EXPORT2
ubidi_setReorderingOptions(UBiDi *pBiDi, uint32_t reorderingOptions) __INTRODUCED_IN(31);
@@ -1072,7 +1074,7 @@ ubidi_setReorderingOptions(UBiDi *pBiDi, uint32_t reorderingOptions) __INTRODUCE
* @param pBiDi is a <code>UBiDi</code> object.
* @return the current reordering options of the Bidi object
* @see ubidi_setReorderingOptions
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
U_CAPI uint32_t U_EXPORT2
ubidi_getReorderingOptions(UBiDi *pBiDi) __INTRODUCED_IN(31);
@@ -1161,7 +1163,7 @@ ubidi_getReorderingOptions(UBiDi *pBiDi) __INTRODUCED_IN(31);
* @param pErrorCode must be a valid pointer to an error code value.
*
* @see ubidi_setPara
- * @stable ICU 4.8
+ * \xrefitem stable "Stable" "Stable List" ICU 4.8
*/
U_CAPI void U_EXPORT2
ubidi_setContext(UBiDi *pBiDi,
@@ -1251,7 +1253,7 @@ ubidi_setContext(UBiDi *pBiDi,
* value is not necessary.
*
* @param pErrorCode must be a valid pointer to an error code value.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI void U_EXPORT2
ubidi_setPara(UBiDi *pBiDi, const UChar *text, int32_t length,
@@ -1304,7 +1306,7 @@ ubidi_setPara(UBiDi *pBiDi, const UChar *text, int32_t length,
*
* @see ubidi_setPara
* @see ubidi_getProcessedLength
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI void U_EXPORT2
ubidi_setLine(const UBiDi *pParaBiDi,
@@ -1327,7 +1329,7 @@ ubidi_setLine(const UBiDi *pParaBiDi,
* Note - The value <code>UBIDI_NEUTRAL</code> is never returned from this method.
*
* @see UBiDiDirection
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBiDiDirection U_EXPORT2
ubidi_getDirection(const UBiDi *pBiDi) __INTRODUCED_IN(31);
@@ -1359,7 +1361,7 @@ ubidi_getDirection(const UBiDi *pBiDi) __INTRODUCED_IN(31);
* <code>UBIDI_NEUTRAL</code>
*
* @see UBiDiDirection
- * @stable ICU 4.6
+ * \xrefitem stable "Stable" "Stable List" ICU 4.6
*/
U_CAPI UBiDiDirection U_EXPORT2
ubidi_getBaseDirection(const UChar *text, int32_t length ) __INTRODUCED_IN(31);
@@ -1375,7 +1377,7 @@ ubidi_getBaseDirection(const UChar *text, int32_t length ) __INTRODUCED_IN(31);
*
* @see ubidi_setPara
* @see ubidi_setLine
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI const UChar * U_EXPORT2
ubidi_getText(const UBiDi *pBiDi) __INTRODUCED_IN(31);
@@ -1388,7 +1390,7 @@ ubidi_getText(const UBiDi *pBiDi) __INTRODUCED_IN(31);
* @param pBiDi is the paragraph or line <code>UBiDi</code> object.
*
* @return The length of the text that the UBiDi object was created for.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
ubidi_getLength(const UBiDi *pBiDi) __INTRODUCED_IN(31);
@@ -1408,7 +1410,7 @@ ubidi_getLength(const UBiDi *pBiDi) __INTRODUCED_IN(31);
* @see UBiDiLevel
* @see ubidi_getParagraph
* @see ubidi_getParagraphByIndex
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBiDiLevel U_EXPORT2
ubidi_getParaLevel(const UBiDi *pBiDi) __INTRODUCED_IN(31);
@@ -1421,7 +1423,7 @@ ubidi_getParaLevel(const UBiDi *pBiDi) __INTRODUCED_IN(31);
* @param pBiDi is the paragraph or line <code>UBiDi</code> object.
*
* @return The number of paragraphs.
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI int32_t U_EXPORT2
ubidi_countParagraphs(UBiDi *pBiDi) __INTRODUCED_IN(31);
@@ -1460,7 +1462,7 @@ ubidi_countParagraphs(UBiDi *pBiDi) __INTRODUCED_IN(31);
* @return The index of the paragraph containing the specified position.
*
* @see ubidi_getProcessedLength
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI int32_t U_EXPORT2
ubidi_getParagraph(const UBiDi *pBiDi, int32_t charIndex, int32_t *pParaStart,
@@ -1494,7 +1496,7 @@ ubidi_getParagraph(const UBiDi *pBiDi, int32_t charIndex, int32_t *pParaStart,
*
* @param pErrorCode must be a valid pointer to an error code value.
*
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI void U_EXPORT2
ubidi_getParagraphByIndex(const UBiDi *pBiDi, int32_t paraIndex,
@@ -1516,7 +1518,7 @@ ubidi_getParagraphByIndex(const UBiDi *pBiDi, int32_t paraIndex,
*
* @see UBiDiLevel
* @see ubidi_getProcessedLength
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBiDiLevel U_EXPORT2
ubidi_getLevelAt(const UBiDi *pBiDi, int32_t charIndex) __INTRODUCED_IN(31);
@@ -1539,7 +1541,7 @@ ubidi_getLevelAt(const UBiDi *pBiDi, int32_t charIndex) __INTRODUCED_IN(31);
*
* @see UBiDiLevel
* @see ubidi_getProcessedLength
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI const UBiDiLevel * U_EXPORT2
ubidi_getLevels(UBiDi *pBiDi, UErrorCode *pErrorCode) __INTRODUCED_IN(31);
@@ -1568,7 +1570,7 @@ ubidi_getLevels(UBiDi *pBiDi, UErrorCode *pErrorCode) __INTRODUCED_IN(31);
* value is not necessary.
*
* @see ubidi_getProcessedLength
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI void U_EXPORT2
ubidi_getLogicalRun(const UBiDi *pBiDi, int32_t logicalPosition,
@@ -1589,7 +1591,7 @@ ubidi_getLogicalRun(const UBiDi *pBiDi, int32_t logicalPosition,
* @param pErrorCode must be a valid pointer to an error code value.
*
* @return The number of runs.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
ubidi_countRuns(UBiDi *pBiDi, UErrorCode *pErrorCode) __INTRODUCED_IN(31);
@@ -1650,7 +1652,7 @@ ubidi_countRuns(UBiDi *pBiDi, UErrorCode *pErrorCode) __INTRODUCED_IN(31);
* Use of <code>ubidi_writeReordered()</code>, optionally with the
* <code>#UBIDI_KEEP_BASE_COMBINING</code> option, can be considered in order
* to avoid these issues.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBiDiDirection U_EXPORT2
ubidi_getVisualRun(UBiDi *pBiDi, int32_t runIndex,
@@ -1693,7 +1695,7 @@ ubidi_getVisualRun(UBiDi *pBiDi, int32_t runIndex,
* @see ubidi_getLogicalMap
* @see ubidi_getLogicalIndex
* @see ubidi_getProcessedLength
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
ubidi_getVisualIndex(UBiDi *pBiDi, int32_t logicalIndex, UErrorCode *pErrorCode) __INTRODUCED_IN(31);
@@ -1730,7 +1732,7 @@ ubidi_getVisualIndex(UBiDi *pBiDi, int32_t logicalIndex, UErrorCode *pErrorCode)
* @see ubidi_getVisualMap
* @see ubidi_getVisualIndex
* @see ubidi_getResultLength
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
ubidi_getLogicalIndex(UBiDi *pBiDi, int32_t visualIndex, UErrorCode *pErrorCode) __INTRODUCED_IN(31);
@@ -1775,7 +1777,7 @@ ubidi_getLogicalIndex(UBiDi *pBiDi, int32_t visualIndex, UErrorCode *pErrorCode)
* @see ubidi_getVisualIndex
* @see ubidi_getProcessedLength
* @see ubidi_getResultLength
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI void U_EXPORT2
ubidi_getLogicalMap(UBiDi *pBiDi, int32_t *indexMap, UErrorCode *pErrorCode) __INTRODUCED_IN(31);
@@ -1813,7 +1815,7 @@ ubidi_getLogicalMap(UBiDi *pBiDi, int32_t *indexMap, UErrorCode *pErrorCode) __I
* @see ubidi_getLogicalIndex
* @see ubidi_getProcessedLength
* @see ubidi_getResultLength
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI void U_EXPORT2
ubidi_getVisualMap(UBiDi *pBiDi, int32_t *indexMap, UErrorCode *pErrorCode) __INTRODUCED_IN(31);
@@ -1838,7 +1840,7 @@ ubidi_getVisualMap(UBiDi *pBiDi, int32_t *indexMap, UErrorCode *pErrorCode) __IN
* indexes which will reflect the reordering of the characters.
* The array does not need to be initialized.<p>
* The index map will result in <code>indexMap[logicalIndex]==visualIndex</code>.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI void U_EXPORT2
ubidi_reorderLogical(const UBiDiLevel *levels, int32_t length, int32_t *indexMap) __INTRODUCED_IN(31);
@@ -1863,7 +1865,7 @@ ubidi_reorderLogical(const UBiDiLevel *levels, int32_t length, int32_t *indexMap
* indexes which will reflect the reordering of the characters.
* The array does not need to be initialized.<p>
* The index map will result in <code>indexMap[visualIndex]==logicalIndex</code>.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI void U_EXPORT2
ubidi_reorderVisual(const UBiDiLevel *levels, int32_t length, int32_t *indexMap) __INTRODUCED_IN(31);
@@ -1900,7 +1902,7 @@ ubidi_reorderVisual(const UBiDiLevel *levels, int32_t length, int32_t *indexMap)
*
* @param length is the length of each array.
* @see UBIDI_MAP_NOWHERE
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI void U_EXPORT2
ubidi_invertMap(const int32_t *srcMap, int32_t *destMap, int32_t length) __INTRODUCED_IN(31);
@@ -1914,7 +1916,7 @@ ubidi_invertMap(const int32_t *srcMap, int32_t *destMap, int32_t length) __INTRO
* keep combining characters after their base characters in RTL runs
*
* @see ubidi_writeReordered
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define UBIDI_KEEP_BASE_COMBINING 1
@@ -1924,7 +1926,7 @@ ubidi_invertMap(const int32_t *srcMap, int32_t *destMap, int32_t length) __INTRO
* by their mirror-image mappings
*
* @see ubidi_writeReordered
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define UBIDI_DO_MIRRORING 2
@@ -1938,7 +1940,7 @@ ubidi_invertMap(const int32_t *srcMap, int32_t *destMap, int32_t length) __INTRO
*
* @see ubidi_setInverse
* @see ubidi_writeReordered
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define UBIDI_INSERT_LRM_FOR_NUMERIC 4
@@ -1951,7 +1953,7 @@ ubidi_invertMap(const int32_t *srcMap, int32_t *destMap, int32_t length) __INTRO
* mappings.</p>
*
* @see ubidi_writeReordered
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define UBIDI_REMOVE_BIDI_CONTROLS 8
@@ -1967,7 +1969,7 @@ ubidi_invertMap(const int32_t *srcMap, int32_t *destMap, int32_t length) __INTRO
* is designed for RTL scripts and stores text in reverse order.</p>
*
* @see ubidi_writeReordered
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define UBIDI_OUTPUT_REVERSE 16
@@ -2007,7 +2009,7 @@ ubidi_invertMap(const int32_t *srcMap, int32_t *destMap, int32_t length) __INTRO
* the last call to <code>ubidi_setPara</code>.
* @see ubidi_setPara
* @see UBIDI_OPTION_STREAMING
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
U_CAPI int32_t U_EXPORT2
ubidi_getProcessedLength(const UBiDi *pBiDi) __INTRODUCED_IN(31);
@@ -2039,7 +2041,7 @@ ubidi_getProcessedLength(const UBiDi *pBiDi) __INTRODUCED_IN(31);
* @see ubidi_setPara
* @see UBIDI_OPTION_INSERT_MARKS
* @see UBIDI_OPTION_REMOVE_CONTROLS
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
U_CAPI int32_t U_EXPORT2
ubidi_getResultLength(const UBiDi *pBiDi) __INTRODUCED_IN(31);
@@ -2056,7 +2058,7 @@ U_CDECL_BEGIN
* This constant is deprecated; use u_getIntPropertyMaxValue(UCHAR_BIDI_CLASS)+1 instead.
*
* @see UBiDiClassCallback
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
#define U_BIDI_CLASS_DEFAULT U_CHAR_DIRECTION_COUNT
#endif // U_HIDE_DEPRECATED_API
@@ -2079,7 +2081,7 @@ U_CDECL_BEGIN
* if the standard Bidi class value for <code>c</code> is to be used.
* @see ubidi_setClassCallback
* @see ubidi_getClassCallback
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
typedef UCharDirection U_CALLCONV
UBiDiClassCallback(const void *context, UChar32 c);
@@ -2099,7 +2101,7 @@ U_CDECL_END
* @return The Bidi class for character <code>c</code> based
* on the given <code>pBiDi</code> instance.
* @see UBiDiClassCallback
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
U_CAPI UCharDirection U_EXPORT2
ubidi_getCustomizedClass(UBiDi *pBiDi, UChar32 c) __INTRODUCED_IN(31);
@@ -2131,7 +2133,7 @@ ubidi_getCustomizedClass(UBiDi *pBiDi, UChar32 c) __INTRODUCED_IN(31);
* @param pErrorCode must be a valid pointer to an error code value.
*
* @see ubidi_getClassCallback
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
U_CAPI void U_EXPORT2
ubidi_setClassCallback(UBiDi *pBiDi, UBiDiClassCallback *newFn,
@@ -2150,7 +2152,7 @@ ubidi_setClassCallback(UBiDi *pBiDi, UBiDiClassCallback *newFn,
* @param context fillin: Returns the callback's private context.
*
* @see ubidi_setClassCallback
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
U_CAPI void U_EXPORT2
ubidi_getClassCallback(UBiDi *pBiDi, UBiDiClassCallback **fn, const void **context) __INTRODUCED_IN(31);
@@ -2220,7 +2222,7 @@ ubidi_getClassCallback(UBiDi *pBiDi, UBiDiClassCallback **fn, const void **conte
* @return The length of the output string.
*
* @see ubidi_getProcessedLength
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
ubidi_writeReordered(UBiDi *pBiDi,
@@ -2274,7 +2276,7 @@ ubidi_writeReordered(UBiDi *pBiDi,
* @param pErrorCode must be a valid pointer to an error code value.
*
* @return The length of the output string.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
ubidi_writeReverse(const UChar *src, int32_t srcLength,
@@ -2288,3 +2290,5 @@ ubidi_writeReverse(const UChar *src, int32_t srcLength,
/*@}*/
#endif
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/ubrk.h b/libicu/ndk_headers/unicode/ubrk.h
index 2a61f5f5a..d7c61fda1 100644
--- a/libicu/ndk_headers/unicode/ubrk.h
+++ b/libicu/ndk_headers/unicode/ubrk.h
@@ -26,7 +26,7 @@
# define UBRK_TYPEDEF_UBREAK_ITERATOR
/**
* Opaque type representing an ICU Break iterator object.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
typedef struct UBreakIterator UBreakIterator;
#endif
@@ -35,6 +35,8 @@
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C API: BreakIterator
*
@@ -97,15 +99,15 @@
* and in the sample program icu/source/samples/break/break.cpp
*/
-/** The possible types of text boundaries. @stable ICU 2.0 */
+/** The possible types of text boundaries. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
typedef enum UBreakIteratorType {
- /** Character breaks @stable ICU 2.0 */
+ /** Character breaks \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBRK_CHARACTER = 0,
- /** Word breaks @stable ICU 2.0 */
+ /** Word breaks \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBRK_WORD = 1,
- /** Line breaks @stable ICU 2.0 */
+ /** Line breaks \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBRK_LINE = 2,
- /** Sentence breaks @stable ICU 2.0 */
+ /** Sentence breaks \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBRK_SENTENCE = 3,
#ifndef U_HIDE_DEPRECATED_API
@@ -115,19 +117,19 @@ typedef enum UBreakIteratorType {
* Unicode 3.2 only. For Unicode 4.0 and above title boundary iteration,
* please use Word Boundary iterator.
*
- * @deprecated ICU 2.8 Use the word break iterator for titlecasing for Unicode 4 and later.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.8 Use the word break iterator for titlecasing for Unicode 4 and later.
*/
UBRK_TITLE = 4,
/**
* One more than the highest normal UBreakIteratorType value.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
UBRK_COUNT = 5
#endif // U_HIDE_DEPRECATED_API
} UBreakIteratorType;
/** Value indicating all text boundaries have been returned.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define UBRK_DONE ((int32_t) -1)
@@ -141,7 +143,7 @@ typedef enum UBreakIteratorType {
*
* The numeric values of all of these constants are stable (will not change).
*
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
typedef enum UWordBreak {
/** Tag value for "words" that do not fit into any of other categories.
@@ -177,7 +179,7 @@ typedef enum UWordBreak {
*
* The numeric values of all of these constants are stable (will not change).
*
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
typedef enum ULineBreakTag {
/** Tag value for soft line breaks, positions at which a line break
@@ -202,7 +204,7 @@ typedef enum ULineBreakTag {
*
* The numeric values of all of these constants are stable (will not change).
*
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
typedef enum USentenceBreakTag {
/** Tag value for for sentences ending with a sentence terminator
@@ -238,7 +240,7 @@ typedef enum USentenceBreakTag {
* @param status A UErrorCode to receive any errors.
* @return A UBreakIterator for the specified locale.
* @see ubrk_openRules
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBreakIterator* U_EXPORT2
ubrk_open(UBreakIteratorType type,
@@ -265,7 +267,7 @@ ubrk_open(UBreakIteratorType type,
* @param bi iterator to be cloned
* @param status to indicate whether the operation went on smoothly or there were errors
* @return pointer to the new clone
- * @stable ICU 69
+ * \xrefitem stable "Stable" "Stable List" ICU 69
*/
U_CAPI UBreakIterator * U_EXPORT2
ubrk_clone(const UBreakIterator *bi,
@@ -278,7 +280,7 @@ ubrk_clone(const UBreakIterator *bi,
/**
* A recommended size (in bytes) for the memory buffer to be passed to ubrk_saveClone().
- * @deprecated ICU 52. Do not rely on ubrk_safeClone() cloning into any provided buffer.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 52. Do not rely on ubrk_safeClone() cloning into any provided buffer.
*/
#define U_BRK_SAFECLONE_BUFFERSIZE 1
@@ -288,7 +290,7 @@ ubrk_clone(const UBreakIterator *bi,
* Close a UBreakIterator.
* Once closed, a UBreakIterator may no longer be used.
* @param bi The break iterator to close.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI void U_EXPORT2
ubrk_close(UBreakIterator *bi) __INTRODUCED_IN(31);
@@ -306,7 +308,7 @@ U_NAMESPACE_BEGIN
*
* @see LocalPointerBase
* @see LocalPointer
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_DEFINE_LOCAL_OPEN_POINTER(LocalUBreakIteratorPointer, UBreakIterator, ubrk_close);
@@ -324,7 +326,7 @@ U_NAMESPACE_END
* @param text The text to be set
* @param textLength The length of the text
* @param status The error code
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI void U_EXPORT2
ubrk_setText(UBreakIterator* bi,
@@ -350,7 +352,7 @@ ubrk_setText(UBreakIterator* bi,
* UText that was passed as a parameter, but that the underlying text itself
* must not be altered while being referenced by the break iterator.
* @param status The error code
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI void U_EXPORT2
ubrk_setUText(UBreakIterator* bi,
@@ -367,7 +369,7 @@ ubrk_setUText(UBreakIterator* bi,
* @param bi The break iterator to use.
* @return The character index most recently returned by \ref ubrk_next, \ref ubrk_previous,
* \ref ubrk_first, or \ref ubrk_last.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
ubrk_current(const UBreakIterator *bi) __INTRODUCED_IN(31);
@@ -381,7 +383,7 @@ ubrk_current(const UBreakIterator *bi) __INTRODUCED_IN(31);
* @return The character index of the next text boundary, or UBRK_DONE
* if all text boundaries have been returned.
* @see ubrk_previous
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
ubrk_next(UBreakIterator *bi) __INTRODUCED_IN(31);
@@ -395,7 +397,7 @@ ubrk_next(UBreakIterator *bi) __INTRODUCED_IN(31);
* @return The character index of the preceding text boundary, or UBRK_DONE
* if all text boundaries have been returned.
* @see ubrk_next
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
ubrk_previous(UBreakIterator *bi) __INTRODUCED_IN(31);
@@ -407,7 +409,7 @@ ubrk_previous(UBreakIterator *bi) __INTRODUCED_IN(31);
* @param bi The break iterator to use.
* @return The new iterator position (zero).
* @see ubrk_last
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
ubrk_first(UBreakIterator *bi) __INTRODUCED_IN(31);
@@ -421,7 +423,7 @@ ubrk_first(UBreakIterator *bi) __INTRODUCED_IN(31);
* @return The character offset immediately <EM>beyond</EM> the last character in the
* text being scanned.
* @see ubrk_first
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
ubrk_last(UBreakIterator *bi) __INTRODUCED_IN(31);
@@ -435,7 +437,7 @@ ubrk_last(UBreakIterator *bi) __INTRODUCED_IN(31);
* @param offset The offset to begin scanning.
* @return The text boundary preceding offset, or UBRK_DONE.
* @see ubrk_following
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
ubrk_preceding(UBreakIterator *bi,
@@ -450,7 +452,7 @@ ubrk_preceding(UBreakIterator *bi,
* @param offset The offset to begin scanning.
* @return The text boundary following offset, or UBRK_DONE.
* @see ubrk_preceding
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
ubrk_following(UBreakIterator *bi,
@@ -465,7 +467,7 @@ ubrk_following(UBreakIterator *bi,
* @param index The index of the desired locale.
* @return A locale for which number text breaking information is available, or 0 if none.
* @see ubrk_countAvailable
-* @stable ICU 2.0
+* \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI const char* U_EXPORT2
ubrk_getAvailable(int32_t index) __INTRODUCED_IN(31);
@@ -478,7 +480,7 @@ ubrk_getAvailable(int32_t index) __INTRODUCED_IN(31);
* calls to \ref ubrk_getAvailable.
* @return The number of locales for which text breaking information is available.
* @see ubrk_getAvailable
-* @stable ICU 2.0
+* \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
ubrk_countAvailable(void) __INTRODUCED_IN(31);
@@ -493,7 +495,7 @@ ubrk_countAvailable(void) __INTRODUCED_IN(31);
* @param bi The break iterator to use.
* @param offset the offset to check.
* @return True if "offset" is a boundary position.
-* @stable ICU 2.0
+* \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
ubrk_isBoundary(UBreakIterator *bi, int32_t offset) __INTRODUCED_IN(31);
@@ -507,7 +509,7 @@ ubrk_isBoundary(UBreakIterator *bi, int32_t offset) __INTRODUCED_IN(31);
* status, a default value of 0 is returned.
* <p>
* For word break iterators, the possible values are defined in enum UWordBreak.
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
U_CAPI int32_t U_EXPORT2
ubrk_getRuleStatus(UBreakIterator *bi) __INTRODUCED_IN(31);
@@ -529,7 +531,7 @@ ubrk_getRuleStatus(UBreakIterator *bi) __INTRODUCED_IN(31);
* @param status receives error codes.
* @return The number of rule status values from rules that determined
* the most recent boundary returned by the break iterator.
- * @stable ICU 3.0
+ * \xrefitem stable "Stable" "Stable List" ICU 3.0
*/
U_CAPI int32_t U_EXPORT2
ubrk_getRuleStatusVec(UBreakIterator *bi, int32_t *fillInVec, int32_t capacity, UErrorCode *status) __INTRODUCED_IN(31);
@@ -546,3 +548,5 @@ ubrk_getRuleStatusVec(UBreakIterator *bi, int32_t *fillInVec, int32_t capacity,
#endif /* #if !UCONFIG_NO_BREAK_ITERATION */
#endif
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/uchar.h b/libicu/ndk_headers/unicode/uchar.h
index fdb4f5811..b8e21f262 100644
--- a/libicu/ndk_headers/unicode/uchar.h
+++ b/libicu/ndk_headers/unicode/uchar.h
@@ -39,7 +39,7 @@
* APIs are not used.
*
* @see ucnv_getUnicodeSet
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
typedef struct USet USet;
@@ -58,11 +58,13 @@ U_CDECL_BEGIN
* Call u_getUnicodeVersion to get the actual Unicode version of the data.
*
* @see u_getUnicodeVersion
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define U_UNICODE_VERSION "13.0"
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C API: Unicode Properties
*
@@ -153,7 +155,7 @@ U_CDECL_BEGIN
* Constants.
*/
-/** The lowest Unicode code point value. Code points are non-negative. @stable ICU 2.0 */
+/** The lowest Unicode code point value. Code points are non-negative. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define UCHAR_MIN_VALUE 0
/**
@@ -162,13 +164,13 @@ U_CDECL_BEGIN
* For a single character, UChar32 is a simple type that can hold any code point value.
*
* @see UChar32
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define UCHAR_MAX_VALUE 0x10ffff
/**
* Get a single-bit bit set (a flag) from a bit number 0..31.
- * @stable ICU 2.1
+ * \xrefitem stable "Stable" "Stable List" ICU 2.1
*/
#define U_MASK(x) ((uint32_t)1<<(x))
@@ -190,7 +192,7 @@ U_CDECL_BEGIN
* @see u_hasBinaryProperty
* @see u_getIntPropertyValue
* @see u_getUnicodeVersion
- * @stable ICU 2.1
+ * \xrefitem stable "Stable" "Stable List" ICU 2.1
*/
typedef enum UProperty {
/*
@@ -205,169 +207,169 @@ typedef enum UProperty {
identifiers. */
/** Binary property Alphabetic. Same as u_isUAlphabetic, different from u_isalpha.
- Lu+Ll+Lt+Lm+Lo+Nl+Other_Alphabetic @stable ICU 2.1 */
+ Lu+Ll+Lt+Lm+Lo+Nl+Other_Alphabetic \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_ALPHABETIC=0,
- /** First constant for binary Unicode properties. @stable ICU 2.1 */
+ /** First constant for binary Unicode properties. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_BINARY_START=UCHAR_ALPHABETIC,
- /** Binary property ASCII_Hex_Digit. 0-9 A-F a-f @stable ICU 2.1 */
+ /** Binary property ASCII_Hex_Digit. 0-9 A-F a-f \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_ASCII_HEX_DIGIT=1,
/** Binary property Bidi_Control.
Format controls which have specific functions
- in the Bidi Algorithm. @stable ICU 2.1 */
+ in the Bidi Algorithm. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_BIDI_CONTROL=2,
/** Binary property Bidi_Mirrored.
Characters that may change display in RTL text.
Same as u_isMirrored.
- See Bidi Algorithm, UTR 9. @stable ICU 2.1 */
+ See Bidi Algorithm, UTR 9. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_BIDI_MIRRORED=3,
- /** Binary property Dash. Variations of dashes. @stable ICU 2.1 */
+ /** Binary property Dash. Variations of dashes. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_DASH=4,
/** Binary property Default_Ignorable_Code_Point (new in Unicode 3.2).
Ignorable in most processing.
- <2060..206F, FFF0..FFFB, E0000..E0FFF>+Other_Default_Ignorable_Code_Point+(Cf+Cc+Cs-White_Space) @stable ICU 2.1 */
+ <2060..206F, FFF0..FFFB, E0000..E0FFF>+Other_Default_Ignorable_Code_Point+(Cf+Cc+Cs-White_Space) \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_DEFAULT_IGNORABLE_CODE_POINT=5,
/** Binary property Deprecated (new in Unicode 3.2).
- The usage of deprecated characters is strongly discouraged. @stable ICU 2.1 */
+ The usage of deprecated characters is strongly discouraged. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_DEPRECATED=6,
/** Binary property Diacritic. Characters that linguistically modify
- the meaning of another character to which they apply. @stable ICU 2.1 */
+ the meaning of another character to which they apply. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_DIACRITIC=7,
/** Binary property Extender.
Extend the value or shape of a preceding alphabetic character,
- e.g., length and iteration marks. @stable ICU 2.1 */
+ e.g., length and iteration marks. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_EXTENDER=8,
/** Binary property Full_Composition_Exclusion.
CompositionExclusions.txt+Singleton Decompositions+
- Non-Starter Decompositions. @stable ICU 2.1 */
+ Non-Starter Decompositions. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_FULL_COMPOSITION_EXCLUSION=9,
/** Binary property Grapheme_Base (new in Unicode 3.2).
For programmatic determination of grapheme cluster boundaries.
- [0..10FFFF]-Cc-Cf-Cs-Co-Cn-Zl-Zp-Grapheme_Link-Grapheme_Extend-CGJ @stable ICU 2.1 */
+ [0..10FFFF]-Cc-Cf-Cs-Co-Cn-Zl-Zp-Grapheme_Link-Grapheme_Extend-CGJ \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_GRAPHEME_BASE=10,
/** Binary property Grapheme_Extend (new in Unicode 3.2).
For programmatic determination of grapheme cluster boundaries.
- Me+Mn+Mc+Other_Grapheme_Extend-Grapheme_Link-CGJ @stable ICU 2.1 */
+ Me+Mn+Mc+Other_Grapheme_Extend-Grapheme_Link-CGJ \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_GRAPHEME_EXTEND=11,
/** Binary property Grapheme_Link (new in Unicode 3.2).
- For programmatic determination of grapheme cluster boundaries. @stable ICU 2.1 */
+ For programmatic determination of grapheme cluster boundaries. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_GRAPHEME_LINK=12,
/** Binary property Hex_Digit.
- Characters commonly used for hexadecimal numbers. @stable ICU 2.1 */
+ Characters commonly used for hexadecimal numbers. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_HEX_DIGIT=13,
/** Binary property Hyphen. Dashes used to mark connections
- between pieces of words, plus the Katakana middle dot. @stable ICU 2.1 */
+ between pieces of words, plus the Katakana middle dot. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_HYPHEN=14,
/** Binary property ID_Continue.
Characters that can continue an identifier.
DerivedCoreProperties.txt also says "NOTE: Cf characters should be filtered out."
- ID_Start+Mn+Mc+Nd+Pc @stable ICU 2.1 */
+ ID_Start+Mn+Mc+Nd+Pc \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_ID_CONTINUE=15,
/** Binary property ID_Start.
Characters that can start an identifier.
- Lu+Ll+Lt+Lm+Lo+Nl @stable ICU 2.1 */
+ Lu+Ll+Lt+Lm+Lo+Nl \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_ID_START=16,
/** Binary property Ideographic.
- CJKV ideographs. @stable ICU 2.1 */
+ CJKV ideographs. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_IDEOGRAPHIC=17,
/** Binary property IDS_Binary_Operator (new in Unicode 3.2).
For programmatic determination of
- Ideographic Description Sequences. @stable ICU 2.1 */
+ Ideographic Description Sequences. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_IDS_BINARY_OPERATOR=18,
/** Binary property IDS_Trinary_Operator (new in Unicode 3.2).
For programmatic determination of
- Ideographic Description Sequences. @stable ICU 2.1 */
+ Ideographic Description Sequences. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_IDS_TRINARY_OPERATOR=19,
/** Binary property Join_Control.
- Format controls for cursive joining and ligation. @stable ICU 2.1 */
+ Format controls for cursive joining and ligation. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_JOIN_CONTROL=20,
/** Binary property Logical_Order_Exception (new in Unicode 3.2).
Characters that do not use logical order and
- require special handling in most processing. @stable ICU 2.1 */
+ require special handling in most processing. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_LOGICAL_ORDER_EXCEPTION=21,
/** Binary property Lowercase. Same as u_isULowercase, different from u_islower.
- Ll+Other_Lowercase @stable ICU 2.1 */
+ Ll+Other_Lowercase \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_LOWERCASE=22,
- /** Binary property Math. Sm+Other_Math @stable ICU 2.1 */
+ /** Binary property Math. Sm+Other_Math \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_MATH=23,
/** Binary property Noncharacter_Code_Point.
Code points that are explicitly defined as illegal
- for the encoding of characters. @stable ICU 2.1 */
+ for the encoding of characters. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_NONCHARACTER_CODE_POINT=24,
- /** Binary property Quotation_Mark. @stable ICU 2.1 */
+ /** Binary property Quotation_Mark. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_QUOTATION_MARK=25,
/** Binary property Radical (new in Unicode 3.2).
For programmatic determination of
- Ideographic Description Sequences. @stable ICU 2.1 */
+ Ideographic Description Sequences. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_RADICAL=26,
/** Binary property Soft_Dotted (new in Unicode 3.2).
Characters with a "soft dot", like i or j.
An accent placed on these characters causes
- the dot to disappear. @stable ICU 2.1 */
+ the dot to disappear. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_SOFT_DOTTED=27,
/** Binary property Terminal_Punctuation.
Punctuation characters that generally mark
- the end of textual units. @stable ICU 2.1 */
+ the end of textual units. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_TERMINAL_PUNCTUATION=28,
/** Binary property Unified_Ideograph (new in Unicode 3.2).
For programmatic determination of
- Ideographic Description Sequences. @stable ICU 2.1 */
+ Ideographic Description Sequences. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_UNIFIED_IDEOGRAPH=29,
/** Binary property Uppercase. Same as u_isUUppercase, different from u_isupper.
- Lu+Other_Uppercase @stable ICU 2.1 */
+ Lu+Other_Uppercase \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_UPPERCASE=30,
/** Binary property White_Space.
Same as u_isUWhiteSpace, different from u_isspace and u_isWhitespace.
- Space characters+TAB+CR+LF-ZWSP-ZWNBSP @stable ICU 2.1 */
+ Space characters+TAB+CR+LF-ZWSP-ZWNBSP \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_WHITE_SPACE=31,
/** Binary property XID_Continue.
ID_Continue modified to allow closure under
- normalization forms NFKC and NFKD. @stable ICU 2.1 */
+ normalization forms NFKC and NFKD. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_XID_CONTINUE=32,
/** Binary property XID_Start. ID_Start modified to allow
- closure under normalization forms NFKC and NFKD. @stable ICU 2.1 */
+ closure under normalization forms NFKC and NFKD. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
UCHAR_XID_START=33,
/** Binary property Case_Sensitive. Either the source of a case
mapping or _in_ the target of a case mapping. Not the same as
- the general category Cased_Letter. @stable ICU 2.6 */
+ the general category Cased_Letter. \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UCHAR_CASE_SENSITIVE=34,
/** Binary property STerm (new in Unicode 4.0.1).
Sentence Terminal. Used in UAX #29: Text Boundaries
(http://www.unicode.org/reports/tr29/)
- @stable ICU 3.0 */
+ \xrefitem stable "Stable" "Stable List" ICU 3.0 */
UCHAR_S_TERM=35,
/** Binary property Variation_Selector (new in Unicode 4.0.1).
Indicates all those characters that qualify as Variation Selectors.
For details on the behavior of these characters,
see StandardizedVariants.html and 15.6 Variation Selectors.
- @stable ICU 3.0 */
+ \xrefitem stable "Stable" "Stable List" ICU 3.0 */
UCHAR_VARIATION_SELECTOR=36,
/** Binary property NFD_Inert.
ICU-specific property for characters that are inert under NFD,
i.e., they do not interact with adjacent characters.
See the documentation for the Normalizer2 class and the
Normalizer2::isInert() method.
- @stable ICU 3.0 */
+ \xrefitem stable "Stable" "Stable List" ICU 3.0 */
UCHAR_NFD_INERT=37,
/** Binary property NFKD_Inert.
ICU-specific property for characters that are inert under NFKD,
i.e., they do not interact with adjacent characters.
See the documentation for the Normalizer2 class and the
Normalizer2::isInert() method.
- @stable ICU 3.0 */
+ \xrefitem stable "Stable" "Stable List" ICU 3.0 */
UCHAR_NFKD_INERT=38,
/** Binary property NFC_Inert.
ICU-specific property for characters that are inert under NFC,
i.e., they do not interact with adjacent characters.
See the documentation for the Normalizer2 class and the
Normalizer2::isInert() method.
- @stable ICU 3.0 */
+ \xrefitem stable "Stable" "Stable List" ICU 3.0 */
UCHAR_NFC_INERT=39,
/** Binary property NFKC_Inert.
ICU-specific property for characters that are inert under NFKC,
i.e., they do not interact with adjacent characters.
See the documentation for the Normalizer2 class and the
Normalizer2::isInert() method.
- @stable ICU 3.0 */
+ \xrefitem stable "Stable" "Stable List" ICU 3.0 */
UCHAR_NFKC_INERT=40,
/** Binary Property Segment_Starter.
ICU-specific property for characters that are starters in terms of
@@ -378,230 +380,230 @@ typedef enum UProperty {
ICU uses this property for segmenting a string for generating a set of
canonically equivalent strings, e.g. for canonical closure while
processing collation tailoring rules.
- @stable ICU 3.0 */
+ \xrefitem stable "Stable" "Stable List" ICU 3.0 */
UCHAR_SEGMENT_STARTER=41,
/** Binary property Pattern_Syntax (new in Unicode 4.1).
See UAX #31 Identifier and Pattern Syntax
(http://www.unicode.org/reports/tr31/)
- @stable ICU 3.4 */
+ \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UCHAR_PATTERN_SYNTAX=42,
/** Binary property Pattern_White_Space (new in Unicode 4.1).
See UAX #31 Identifier and Pattern Syntax
(http://www.unicode.org/reports/tr31/)
- @stable ICU 3.4 */
+ \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UCHAR_PATTERN_WHITE_SPACE=43,
/** Binary property alnum (a C/POSIX character class).
Implemented according to the UTS #18 Annex C Standard Recommendation.
See the uchar.h file documentation.
- @stable ICU 3.4 */
+ \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UCHAR_POSIX_ALNUM=44,
/** Binary property blank (a C/POSIX character class).
Implemented according to the UTS #18 Annex C Standard Recommendation.
See the uchar.h file documentation.
- @stable ICU 3.4 */
+ \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UCHAR_POSIX_BLANK=45,
/** Binary property graph (a C/POSIX character class).
Implemented according to the UTS #18 Annex C Standard Recommendation.
See the uchar.h file documentation.
- @stable ICU 3.4 */
+ \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UCHAR_POSIX_GRAPH=46,
/** Binary property print (a C/POSIX character class).
Implemented according to the UTS #18 Annex C Standard Recommendation.
See the uchar.h file documentation.
- @stable ICU 3.4 */
+ \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UCHAR_POSIX_PRINT=47,
/** Binary property xdigit (a C/POSIX character class).
Implemented according to the UTS #18 Annex C Standard Recommendation.
See the uchar.h file documentation.
- @stable ICU 3.4 */
+ \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UCHAR_POSIX_XDIGIT=48,
- /** Binary property Cased. For Lowercase, Uppercase and Titlecase characters. @stable ICU 4.4 */
+ /** Binary property Cased. For Lowercase, Uppercase and Titlecase characters. \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UCHAR_CASED=49,
- /** Binary property Case_Ignorable. Used in context-sensitive case mappings. @stable ICU 4.4 */
+ /** Binary property Case_Ignorable. Used in context-sensitive case mappings. \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UCHAR_CASE_IGNORABLE=50,
- /** Binary property Changes_When_Lowercased. @stable ICU 4.4 */
+ /** Binary property Changes_When_Lowercased. \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UCHAR_CHANGES_WHEN_LOWERCASED=51,
- /** Binary property Changes_When_Uppercased. @stable ICU 4.4 */
+ /** Binary property Changes_When_Uppercased. \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UCHAR_CHANGES_WHEN_UPPERCASED=52,
- /** Binary property Changes_When_Titlecased. @stable ICU 4.4 */
+ /** Binary property Changes_When_Titlecased. \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UCHAR_CHANGES_WHEN_TITLECASED=53,
- /** Binary property Changes_When_Casefolded. @stable ICU 4.4 */
+ /** Binary property Changes_When_Casefolded. \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UCHAR_CHANGES_WHEN_CASEFOLDED=54,
- /** Binary property Changes_When_Casemapped. @stable ICU 4.4 */
+ /** Binary property Changes_When_Casemapped. \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UCHAR_CHANGES_WHEN_CASEMAPPED=55,
- /** Binary property Changes_When_NFKC_Casefolded. @stable ICU 4.4 */
+ /** Binary property Changes_When_NFKC_Casefolded. \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED=56,
/**
* Binary property Emoji.
* See http://www.unicode.org/reports/tr51/#Emoji_Properties
*
- * @stable ICU 57
+ * \xrefitem stable "Stable" "Stable List" ICU 57
*/
UCHAR_EMOJI=57,
/**
* Binary property Emoji_Presentation.
* See http://www.unicode.org/reports/tr51/#Emoji_Properties
*
- * @stable ICU 57
+ * \xrefitem stable "Stable" "Stable List" ICU 57
*/
UCHAR_EMOJI_PRESENTATION=58,
/**
* Binary property Emoji_Modifier.
* See http://www.unicode.org/reports/tr51/#Emoji_Properties
*
- * @stable ICU 57
+ * \xrefitem stable "Stable" "Stable List" ICU 57
*/
UCHAR_EMOJI_MODIFIER=59,
/**
* Binary property Emoji_Modifier_Base.
* See http://www.unicode.org/reports/tr51/#Emoji_Properties
*
- * @stable ICU 57
+ * \xrefitem stable "Stable" "Stable List" ICU 57
*/
UCHAR_EMOJI_MODIFIER_BASE=60,
/**
* Binary property Emoji_Component.
* See http://www.unicode.org/reports/tr51/#Emoji_Properties
*
- * @stable ICU 60
+ * \xrefitem stable "Stable" "Stable List" ICU 60
*/
UCHAR_EMOJI_COMPONENT=61,
/**
* Binary property Regional_Indicator.
- * @stable ICU 60
+ * \xrefitem stable "Stable" "Stable List" ICU 60
*/
UCHAR_REGIONAL_INDICATOR=62,
/**
* Binary property Prepended_Concatenation_Mark.
- * @stable ICU 60
+ * \xrefitem stable "Stable" "Stable List" ICU 60
*/
UCHAR_PREPENDED_CONCATENATION_MARK=63,
/**
* Binary property Extended_Pictographic.
* See http://www.unicode.org/reports/tr51/#Emoji_Properties
*
- * @stable ICU 62
+ * \xrefitem stable "Stable" "Stable List" ICU 62
*/
UCHAR_EXTENDED_PICTOGRAPHIC=64,
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the last constant for binary Unicode properties.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
UCHAR_BINARY_LIMIT,
#endif // U_HIDE_DEPRECATED_API
/** Enumerated property Bidi_Class.
- Same as u_charDirection, returns UCharDirection values. @stable ICU 2.2 */
+ Same as u_charDirection, returns UCharDirection values. \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UCHAR_BIDI_CLASS=0x1000,
- /** First constant for enumerated/integer Unicode properties. @stable ICU 2.2 */
+ /** First constant for enumerated/integer Unicode properties. \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UCHAR_INT_START=UCHAR_BIDI_CLASS,
/** Enumerated property Block.
- Same as ublock_getCode, returns UBlockCode values. @stable ICU 2.2 */
+ Same as ublock_getCode, returns UBlockCode values. \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UCHAR_BLOCK=0x1001,
/** Enumerated property Canonical_Combining_Class.
- Same as u_getCombiningClass, returns 8-bit numeric values. @stable ICU 2.2 */
+ Same as u_getCombiningClass, returns 8-bit numeric values. \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UCHAR_CANONICAL_COMBINING_CLASS=0x1002,
/** Enumerated property Decomposition_Type.
- Returns UDecompositionType values. @stable ICU 2.2 */
+ Returns UDecompositionType values. \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UCHAR_DECOMPOSITION_TYPE=0x1003,
/** Enumerated property East_Asian_Width.
See http://www.unicode.org/reports/tr11/
- Returns UEastAsianWidth values. @stable ICU 2.2 */
+ Returns UEastAsianWidth values. \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UCHAR_EAST_ASIAN_WIDTH=0x1004,
/** Enumerated property General_Category.
- Same as u_charType, returns UCharCategory values. @stable ICU 2.2 */
+ Same as u_charType, returns UCharCategory values. \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UCHAR_GENERAL_CATEGORY=0x1005,
/** Enumerated property Joining_Group.
- Returns UJoiningGroup values. @stable ICU 2.2 */
+ Returns UJoiningGroup values. \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UCHAR_JOINING_GROUP=0x1006,
/** Enumerated property Joining_Type.
- Returns UJoiningType values. @stable ICU 2.2 */
+ Returns UJoiningType values. \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UCHAR_JOINING_TYPE=0x1007,
/** Enumerated property Line_Break.
- Returns ULineBreak values. @stable ICU 2.2 */
+ Returns ULineBreak values. \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UCHAR_LINE_BREAK=0x1008,
/** Enumerated property Numeric_Type.
- Returns UNumericType values. @stable ICU 2.2 */
+ Returns UNumericType values. \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UCHAR_NUMERIC_TYPE=0x1009,
/** Enumerated property Script.
- Same as uscript_getScript, returns UScriptCode values. @stable ICU 2.2 */
+ Same as uscript_getScript, returns UScriptCode values. \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UCHAR_SCRIPT=0x100A,
/** Enumerated property Hangul_Syllable_Type, new in Unicode 4.
- Returns UHangulSyllableType values. @stable ICU 2.6 */
+ Returns UHangulSyllableType values. \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UCHAR_HANGUL_SYLLABLE_TYPE=0x100B,
/** Enumerated property NFD_Quick_Check.
- Returns UNormalizationCheckResult values. @stable ICU 3.0 */
+ Returns UNormalizationCheckResult values. \xrefitem stable "Stable" "Stable List" ICU 3.0 */
UCHAR_NFD_QUICK_CHECK=0x100C,
/** Enumerated property NFKD_Quick_Check.
- Returns UNormalizationCheckResult values. @stable ICU 3.0 */
+ Returns UNormalizationCheckResult values. \xrefitem stable "Stable" "Stable List" ICU 3.0 */
UCHAR_NFKD_QUICK_CHECK=0x100D,
/** Enumerated property NFC_Quick_Check.
- Returns UNormalizationCheckResult values. @stable ICU 3.0 */
+ Returns UNormalizationCheckResult values. \xrefitem stable "Stable" "Stable List" ICU 3.0 */
UCHAR_NFC_QUICK_CHECK=0x100E,
/** Enumerated property NFKC_Quick_Check.
- Returns UNormalizationCheckResult values. @stable ICU 3.0 */
+ Returns UNormalizationCheckResult values. \xrefitem stable "Stable" "Stable List" ICU 3.0 */
UCHAR_NFKC_QUICK_CHECK=0x100F,
/** Enumerated property Lead_Canonical_Combining_Class.
ICU-specific property for the ccc of the first code point
of the decomposition, or lccc(c)=ccc(NFD(c)[0]).
Useful for checking for canonically ordered text;
see UNORM_FCD and http://www.unicode.org/notes/tn5/#FCD .
- Returns 8-bit numeric values like UCHAR_CANONICAL_COMBINING_CLASS. @stable ICU 3.0 */
+ Returns 8-bit numeric values like UCHAR_CANONICAL_COMBINING_CLASS. \xrefitem stable "Stable" "Stable List" ICU 3.0 */
UCHAR_LEAD_CANONICAL_COMBINING_CLASS=0x1010,
/** Enumerated property Trail_Canonical_Combining_Class.
ICU-specific property for the ccc of the last code point
of the decomposition, or tccc(c)=ccc(NFD(c)[last]).
Useful for checking for canonically ordered text;
see UNORM_FCD and http://www.unicode.org/notes/tn5/#FCD .
- Returns 8-bit numeric values like UCHAR_CANONICAL_COMBINING_CLASS. @stable ICU 3.0 */
+ Returns 8-bit numeric values like UCHAR_CANONICAL_COMBINING_CLASS. \xrefitem stable "Stable" "Stable List" ICU 3.0 */
UCHAR_TRAIL_CANONICAL_COMBINING_CLASS=0x1011,
/** Enumerated property Grapheme_Cluster_Break (new in Unicode 4.1).
Used in UAX #29: Text Boundaries
(http://www.unicode.org/reports/tr29/)
- Returns UGraphemeClusterBreak values. @stable ICU 3.4 */
+ Returns UGraphemeClusterBreak values. \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UCHAR_GRAPHEME_CLUSTER_BREAK=0x1012,
/** Enumerated property Sentence_Break (new in Unicode 4.1).
Used in UAX #29: Text Boundaries
(http://www.unicode.org/reports/tr29/)
- Returns USentenceBreak values. @stable ICU 3.4 */
+ Returns USentenceBreak values. \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UCHAR_SENTENCE_BREAK=0x1013,
/** Enumerated property Word_Break (new in Unicode 4.1).
Used in UAX #29: Text Boundaries
(http://www.unicode.org/reports/tr29/)
- Returns UWordBreakValues values. @stable ICU 3.4 */
+ Returns UWordBreakValues values. \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UCHAR_WORD_BREAK=0x1014,
/** Enumerated property Bidi_Paired_Bracket_Type (new in Unicode 6.3).
Used in UAX #9: Unicode Bidirectional Algorithm
(http://www.unicode.org/reports/tr9/)
- Returns UBidiPairedBracketType values. @stable ICU 52 */
+ Returns UBidiPairedBracketType values. \xrefitem stable "Stable" "Stable List" ICU 52 */
UCHAR_BIDI_PAIRED_BRACKET_TYPE=0x1015,
/**
* Enumerated property Indic_Positional_Category.
* New in Unicode 6.0 as provisional property Indic_Matra_Category;
* renamed and changed to informative in Unicode 8.0.
* See http://www.unicode.org/reports/tr44/#IndicPositionalCategory.txt
- * @stable ICU 63
+ * \xrefitem stable "Stable" "Stable List" ICU 63
*/
UCHAR_INDIC_POSITIONAL_CATEGORY=0x1016,
/**
* Enumerated property Indic_Syllabic_Category.
* New in Unicode 6.0 as provisional; informative since Unicode 8.0.
* See http://www.unicode.org/reports/tr44/#IndicSyllabicCategory.txt
- * @stable ICU 63
+ * \xrefitem stable "Stable" "Stable List" ICU 63
*/
UCHAR_INDIC_SYLLABIC_CATEGORY=0x1017,
/**
* Enumerated property Vertical_Orientation.
* Used for UAX #50 Unicode Vertical Text Layout (https://www.unicode.org/reports/tr50/).
* New as a UCD property in Unicode 10.0.
- * @stable ICU 63
+ * \xrefitem stable "Stable" "Stable List" ICU 63
*/
UCHAR_VERTICAL_ORIENTATION=0x1018,
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the last constant for enumerated/integer Unicode properties.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
UCHAR_INT_LIMIT=0x1019,
#endif // U_HIDE_DEPRECATED_API
@@ -613,85 +615,85 @@ typedef enum UProperty {
When used with u_getPropertyValueName() and u_getPropertyValueEnum(),
a multi-bit mask is used for sets of categories like "Letters".
Mask values should be cast to uint32_t.
- @stable ICU 2.4 */
+ \xrefitem stable "Stable" "Stable List" ICU 2.4 */
UCHAR_GENERAL_CATEGORY_MASK=0x2000,
- /** First constant for bit-mask Unicode properties. @stable ICU 2.4 */
+ /** First constant for bit-mask Unicode properties. \xrefitem stable "Stable" "Stable List" ICU 2.4 */
UCHAR_MASK_START=UCHAR_GENERAL_CATEGORY_MASK,
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the last constant for bit-mask Unicode properties.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
UCHAR_MASK_LIMIT=0x2001,
#endif // U_HIDE_DEPRECATED_API
/** Double property Numeric_Value.
- Corresponds to u_getNumericValue. @stable ICU 2.4 */
+ Corresponds to u_getNumericValue. \xrefitem stable "Stable" "Stable List" ICU 2.4 */
UCHAR_NUMERIC_VALUE=0x3000,
- /** First constant for double Unicode properties. @stable ICU 2.4 */
+ /** First constant for double Unicode properties. \xrefitem stable "Stable" "Stable List" ICU 2.4 */
UCHAR_DOUBLE_START=UCHAR_NUMERIC_VALUE,
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the last constant for double Unicode properties.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
UCHAR_DOUBLE_LIMIT=0x3001,
#endif // U_HIDE_DEPRECATED_API
/** String property Age.
- Corresponds to u_charAge. @stable ICU 2.4 */
+ Corresponds to u_charAge. \xrefitem stable "Stable" "Stable List" ICU 2.4 */
UCHAR_AGE=0x4000,
- /** First constant for string Unicode properties. @stable ICU 2.4 */
+ /** First constant for string Unicode properties. \xrefitem stable "Stable" "Stable List" ICU 2.4 */
UCHAR_STRING_START=UCHAR_AGE,
/** String property Bidi_Mirroring_Glyph.
- Corresponds to u_charMirror. @stable ICU 2.4 */
+ Corresponds to u_charMirror. \xrefitem stable "Stable" "Stable List" ICU 2.4 */
UCHAR_BIDI_MIRRORING_GLYPH=0x4001,
/** String property Case_Folding.
- Corresponds to u_strFoldCase in ustring.h. @stable ICU 2.4 */
+ Corresponds to u_strFoldCase in ustring.h. \xrefitem stable "Stable" "Stable List" ICU 2.4 */
UCHAR_CASE_FOLDING=0x4002,
#ifndef U_HIDE_DEPRECATED_API
/** Deprecated string property ISO_Comment.
- Corresponds to u_getISOComment. @deprecated ICU 49 */
+ Corresponds to u_getISOComment. \xrefitem deprecated "Deprecated" "Deprecated List" ICU 49 */
UCHAR_ISO_COMMENT=0x4003,
#endif /* U_HIDE_DEPRECATED_API */
/** String property Lowercase_Mapping.
- Corresponds to u_strToLower in ustring.h. @stable ICU 2.4 */
+ Corresponds to u_strToLower in ustring.h. \xrefitem stable "Stable" "Stable List" ICU 2.4 */
UCHAR_LOWERCASE_MAPPING=0x4004,
/** String property Name.
- Corresponds to u_charName. @stable ICU 2.4 */
+ Corresponds to u_charName. \xrefitem stable "Stable" "Stable List" ICU 2.4 */
UCHAR_NAME=0x4005,
/** String property Simple_Case_Folding.
- Corresponds to u_foldCase. @stable ICU 2.4 */
+ Corresponds to u_foldCase. \xrefitem stable "Stable" "Stable List" ICU 2.4 */
UCHAR_SIMPLE_CASE_FOLDING=0x4006,
/** String property Simple_Lowercase_Mapping.
- Corresponds to u_tolower. @stable ICU 2.4 */
+ Corresponds to u_tolower. \xrefitem stable "Stable" "Stable List" ICU 2.4 */
UCHAR_SIMPLE_LOWERCASE_MAPPING=0x4007,
/** String property Simple_Titlecase_Mapping.
- Corresponds to u_totitle. @stable ICU 2.4 */
+ Corresponds to u_totitle. \xrefitem stable "Stable" "Stable List" ICU 2.4 */
UCHAR_SIMPLE_TITLECASE_MAPPING=0x4008,
/** String property Simple_Uppercase_Mapping.
- Corresponds to u_toupper. @stable ICU 2.4 */
+ Corresponds to u_toupper. \xrefitem stable "Stable" "Stable List" ICU 2.4 */
UCHAR_SIMPLE_UPPERCASE_MAPPING=0x4009,
/** String property Titlecase_Mapping.
- Corresponds to u_strToTitle in ustring.h. @stable ICU 2.4 */
+ Corresponds to u_strToTitle in ustring.h. \xrefitem stable "Stable" "Stable List" ICU 2.4 */
UCHAR_TITLECASE_MAPPING=0x400A,
#ifndef U_HIDE_DEPRECATED_API
/** String property Unicode_1_Name.
This property is of little practical value.
Beginning with ICU 49, ICU APIs return an empty string for this property.
- Corresponds to u_charName(U_UNICODE_10_CHAR_NAME). @deprecated ICU 49 */
+ Corresponds to u_charName(U_UNICODE_10_CHAR_NAME). \xrefitem deprecated "Deprecated" "Deprecated List" ICU 49 */
UCHAR_UNICODE_1_NAME=0x400B,
#endif /* U_HIDE_DEPRECATED_API */
/** String property Uppercase_Mapping.
- Corresponds to u_strToUpper in ustring.h. @stable ICU 2.4 */
+ Corresponds to u_strToUpper in ustring.h. \xrefitem stable "Stable" "Stable List" ICU 2.4 */
UCHAR_UPPERCASE_MAPPING=0x400C,
/** String property Bidi_Paired_Bracket (new in Unicode 6.3).
- Corresponds to u_getBidiPairedBracket. @stable ICU 52 */
+ Corresponds to u_getBidiPairedBracket. \xrefitem stable "Stable" "Stable List" ICU 52 */
UCHAR_BIDI_PAIRED_BRACKET=0x400D,
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the last constant for string Unicode properties.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
UCHAR_STRING_LIMIT=0x400E,
#endif // U_HIDE_DEPRECATED_API
@@ -700,26 +702,26 @@ typedef enum UProperty {
Some characters are commonly used in multiple scripts.
For more information, see UAX #24: http://www.unicode.org/reports/tr24/.
Corresponds to uscript_hasScript and uscript_getScriptExtensions in uscript.h.
- @stable ICU 4.6 */
+ \xrefitem stable "Stable" "Stable List" ICU 4.6 */
UCHAR_SCRIPT_EXTENSIONS=0x7000,
- /** First constant for Unicode properties with unusual value types. @stable ICU 4.6 */
+ /** First constant for Unicode properties with unusual value types. \xrefitem stable "Stable" "Stable List" ICU 4.6 */
UCHAR_OTHER_PROPERTY_START=UCHAR_SCRIPT_EXTENSIONS,
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the last constant for Unicode properties with unusual value types.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
UCHAR_OTHER_PROPERTY_LIMIT=0x7001,
#endif // U_HIDE_DEPRECATED_API
- /** Represents a nonexistent or invalid property or property value. @stable ICU 2.4 */
+ /** Represents a nonexistent or invalid property or property value. \xrefitem stable "Stable" "Stable List" ICU 2.4 */
UCHAR_INVALID_CODE = -1
} UProperty;
/**
* Data for enumerated Unicode general category types.
* See http://www.unicode.org/Public/UNIDATA/UnicodeData.html .
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
typedef enum UCharCategory
{
@@ -730,74 +732,74 @@ typedef enum UCharCategory
* U_<[A-Z_]+> = <integer>,
*/
- /** Non-category for unassigned and non-character code points. @stable ICU 2.0 */
+ /** Non-category for unassigned and non-character code points. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_UNASSIGNED = 0,
- /** Cn "Other, Not Assigned (no characters in [UnicodeData.txt] have this property)" (same as U_UNASSIGNED!) @stable ICU 2.0 */
+ /** Cn "Other, Not Assigned (no characters in [UnicodeData.txt] have this property)" (same as U_UNASSIGNED!) \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_GENERAL_OTHER_TYPES = 0,
- /** Lu @stable ICU 2.0 */
+ /** Lu \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_UPPERCASE_LETTER = 1,
- /** Ll @stable ICU 2.0 */
+ /** Ll \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_LOWERCASE_LETTER = 2,
- /** Lt @stable ICU 2.0 */
+ /** Lt \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_TITLECASE_LETTER = 3,
- /** Lm @stable ICU 2.0 */
+ /** Lm \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_MODIFIER_LETTER = 4,
- /** Lo @stable ICU 2.0 */
+ /** Lo \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_OTHER_LETTER = 5,
- /** Mn @stable ICU 2.0 */
+ /** Mn \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_NON_SPACING_MARK = 6,
- /** Me @stable ICU 2.0 */
+ /** Me \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_ENCLOSING_MARK = 7,
- /** Mc @stable ICU 2.0 */
+ /** Mc \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_COMBINING_SPACING_MARK = 8,
- /** Nd @stable ICU 2.0 */
+ /** Nd \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_DECIMAL_DIGIT_NUMBER = 9,
- /** Nl @stable ICU 2.0 */
+ /** Nl \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_LETTER_NUMBER = 10,
- /** No @stable ICU 2.0 */
+ /** No \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_OTHER_NUMBER = 11,
- /** Zs @stable ICU 2.0 */
+ /** Zs \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_SPACE_SEPARATOR = 12,
- /** Zl @stable ICU 2.0 */
+ /** Zl \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_LINE_SEPARATOR = 13,
- /** Zp @stable ICU 2.0 */
+ /** Zp \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_PARAGRAPH_SEPARATOR = 14,
- /** Cc @stable ICU 2.0 */
+ /** Cc \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_CONTROL_CHAR = 15,
- /** Cf @stable ICU 2.0 */
+ /** Cf \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_FORMAT_CHAR = 16,
- /** Co @stable ICU 2.0 */
+ /** Co \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_PRIVATE_USE_CHAR = 17,
- /** Cs @stable ICU 2.0 */
+ /** Cs \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_SURROGATE = 18,
- /** Pd @stable ICU 2.0 */
+ /** Pd \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_DASH_PUNCTUATION = 19,
- /** Ps @stable ICU 2.0 */
+ /** Ps \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_START_PUNCTUATION = 20,
- /** Pe @stable ICU 2.0 */
+ /** Pe \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_END_PUNCTUATION = 21,
- /** Pc @stable ICU 2.0 */
+ /** Pc \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_CONNECTOR_PUNCTUATION = 22,
- /** Po @stable ICU 2.0 */
+ /** Po \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_OTHER_PUNCTUATION = 23,
- /** Sm @stable ICU 2.0 */
+ /** Sm \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_MATH_SYMBOL = 24,
- /** Sc @stable ICU 2.0 */
+ /** Sc \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_CURRENCY_SYMBOL = 25,
- /** Sk @stable ICU 2.0 */
+ /** Sk \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_MODIFIER_SYMBOL = 26,
- /** So @stable ICU 2.0 */
+ /** So \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_OTHER_SYMBOL = 27,
- /** Pi @stable ICU 2.0 */
+ /** Pi \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_INITIAL_PUNCTUATION = 28,
- /** Pf @stable ICU 2.0 */
+ /** Pf \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_FINAL_PUNCTUATION = 29,
/**
* One higher than the last enum UCharCategory constant.
* This numeric value is stable (will not change), see
* http://www.unicode.org/policies/stability_policy.html#Property_Value
*
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CHAR_CATEGORY_COUNT
} UCharCategory;
@@ -814,109 +816,109 @@ typedef enum UCharCategory
* @see u_charType
* @see U_GET_GC_MASK
* @see UCharCategory
- * @stable ICU 2.1
+ * \xrefitem stable "Stable" "Stable List" ICU 2.1
*/
#define U_GC_CN_MASK U_MASK(U_GENERAL_OTHER_TYPES)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_LU_MASK U_MASK(U_UPPERCASE_LETTER)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_LL_MASK U_MASK(U_LOWERCASE_LETTER)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_LT_MASK U_MASK(U_TITLECASE_LETTER)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_LM_MASK U_MASK(U_MODIFIER_LETTER)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_LO_MASK U_MASK(U_OTHER_LETTER)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_MN_MASK U_MASK(U_NON_SPACING_MARK)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_ME_MASK U_MASK(U_ENCLOSING_MARK)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_MC_MASK U_MASK(U_COMBINING_SPACING_MARK)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_ND_MASK U_MASK(U_DECIMAL_DIGIT_NUMBER)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_NL_MASK U_MASK(U_LETTER_NUMBER)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_NO_MASK U_MASK(U_OTHER_NUMBER)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_ZS_MASK U_MASK(U_SPACE_SEPARATOR)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_ZL_MASK U_MASK(U_LINE_SEPARATOR)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_ZP_MASK U_MASK(U_PARAGRAPH_SEPARATOR)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_CC_MASK U_MASK(U_CONTROL_CHAR)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_CF_MASK U_MASK(U_FORMAT_CHAR)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_CO_MASK U_MASK(U_PRIVATE_USE_CHAR)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_CS_MASK U_MASK(U_SURROGATE)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_PD_MASK U_MASK(U_DASH_PUNCTUATION)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_PS_MASK U_MASK(U_START_PUNCTUATION)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_PE_MASK U_MASK(U_END_PUNCTUATION)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_PC_MASK U_MASK(U_CONNECTOR_PUNCTUATION)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_PO_MASK U_MASK(U_OTHER_PUNCTUATION)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_SM_MASK U_MASK(U_MATH_SYMBOL)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_SC_MASK U_MASK(U_CURRENCY_SYMBOL)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_SK_MASK U_MASK(U_MODIFIER_SYMBOL)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_SO_MASK U_MASK(U_OTHER_SYMBOL)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_PI_MASK U_MASK(U_INITIAL_PUNCTUATION)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
+/** Mask constant for a UCharCategory. \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_PF_MASK U_MASK(U_FINAL_PUNCTUATION)
-/** Mask constant for multiple UCharCategory bits (L Letters). @stable ICU 2.1 */
+/** Mask constant for multiple UCharCategory bits (L Letters). \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_L_MASK \
(U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK|U_GC_LM_MASK|U_GC_LO_MASK)
-/** Mask constant for multiple UCharCategory bits (LC Cased Letters). @stable ICU 2.1 */
+/** Mask constant for multiple UCharCategory bits (LC Cased Letters). \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_LC_MASK \
(U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK)
-/** Mask constant for multiple UCharCategory bits (M Marks). @stable ICU 2.1 */
+/** Mask constant for multiple UCharCategory bits (M Marks). \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_M_MASK (U_GC_MN_MASK|U_GC_ME_MASK|U_GC_MC_MASK)
-/** Mask constant for multiple UCharCategory bits (N Numbers). @stable ICU 2.1 */
+/** Mask constant for multiple UCharCategory bits (N Numbers). \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_N_MASK (U_GC_ND_MASK|U_GC_NL_MASK|U_GC_NO_MASK)
-/** Mask constant for multiple UCharCategory bits (Z Separators). @stable ICU 2.1 */
+/** Mask constant for multiple UCharCategory bits (Z Separators). \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_Z_MASK (U_GC_ZS_MASK|U_GC_ZL_MASK|U_GC_ZP_MASK)
-/** Mask constant for multiple UCharCategory bits (C Others). @stable ICU 2.1 */
+/** Mask constant for multiple UCharCategory bits (C Others). \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_C_MASK \
(U_GC_CN_MASK|U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CO_MASK|U_GC_CS_MASK)
-/** Mask constant for multiple UCharCategory bits (P Punctuation). @stable ICU 2.1 */
+/** Mask constant for multiple UCharCategory bits (P Punctuation). \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_P_MASK \
(U_GC_PD_MASK|U_GC_PS_MASK|U_GC_PE_MASK|U_GC_PC_MASK|U_GC_PO_MASK| \
U_GC_PI_MASK|U_GC_PF_MASK)
-/** Mask constant for multiple UCharCategory bits (S Symbols). @stable ICU 2.1 */
+/** Mask constant for multiple UCharCategory bits (S Symbols). \xrefitem stable "Stable" "Stable List" ICU 2.1 */
#define U_GC_S_MASK (U_GC_SM_MASK|U_GC_SC_MASK|U_GC_SK_MASK|U_GC_SO_MASK)
/**
* This specifies the language directional property of a character set.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
typedef enum UCharDirection {
/*
@@ -926,58 +928,58 @@ typedef enum UCharDirection {
* U_<[A-Z_]+> = <integer>,
*/
- /** L @stable ICU 2.0 */
+ /** L \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_LEFT_TO_RIGHT = 0,
- /** R @stable ICU 2.0 */
+ /** R \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_RIGHT_TO_LEFT = 1,
- /** EN @stable ICU 2.0 */
+ /** EN \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_EUROPEAN_NUMBER = 2,
- /** ES @stable ICU 2.0 */
+ /** ES \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_EUROPEAN_NUMBER_SEPARATOR = 3,
- /** ET @stable ICU 2.0 */
+ /** ET \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_EUROPEAN_NUMBER_TERMINATOR = 4,
- /** AN @stable ICU 2.0 */
+ /** AN \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_ARABIC_NUMBER = 5,
- /** CS @stable ICU 2.0 */
+ /** CS \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_COMMON_NUMBER_SEPARATOR = 6,
- /** B @stable ICU 2.0 */
+ /** B \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_BLOCK_SEPARATOR = 7,
- /** S @stable ICU 2.0 */
+ /** S \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_SEGMENT_SEPARATOR = 8,
- /** WS @stable ICU 2.0 */
+ /** WS \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_WHITE_SPACE_NEUTRAL = 9,
- /** ON @stable ICU 2.0 */
+ /** ON \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_OTHER_NEUTRAL = 10,
- /** LRE @stable ICU 2.0 */
+ /** LRE \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_LEFT_TO_RIGHT_EMBEDDING = 11,
- /** LRO @stable ICU 2.0 */
+ /** LRO \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_LEFT_TO_RIGHT_OVERRIDE = 12,
- /** AL @stable ICU 2.0 */
+ /** AL \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_RIGHT_TO_LEFT_ARABIC = 13,
- /** RLE @stable ICU 2.0 */
+ /** RLE \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_RIGHT_TO_LEFT_EMBEDDING = 14,
- /** RLO @stable ICU 2.0 */
+ /** RLO \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_RIGHT_TO_LEFT_OVERRIDE = 15,
- /** PDF @stable ICU 2.0 */
+ /** PDF \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_POP_DIRECTIONAL_FORMAT = 16,
- /** NSM @stable ICU 2.0 */
+ /** NSM \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_DIR_NON_SPACING_MARK = 17,
- /** BN @stable ICU 2.0 */
+ /** BN \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_BOUNDARY_NEUTRAL = 18,
- /** FSI @stable ICU 52 */
+ /** FSI \xrefitem stable "Stable" "Stable List" ICU 52 */
U_FIRST_STRONG_ISOLATE = 19,
- /** LRI @stable ICU 52 */
+ /** LRI \xrefitem stable "Stable" "Stable List" ICU 52 */
U_LEFT_TO_RIGHT_ISOLATE = 20,
- /** RLI @stable ICU 52 */
+ /** RLI \xrefitem stable "Stable" "Stable List" ICU 52 */
U_RIGHT_TO_LEFT_ISOLATE = 21,
- /** PDI @stable ICU 52 */
+ /** PDI \xrefitem stable "Stable" "Stable List" ICU 52 */
U_POP_DIRECTIONAL_ISOLATE = 22,
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest UCharDirection value.
* The highest value is available via u_getIntPropertyMaxValue(UCHAR_BIDI_CLASS).
*
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_CHAR_DIRECTION_COUNT
#endif // U_HIDE_DEPRECATED_API
@@ -987,7 +989,7 @@ typedef enum UCharDirection {
* Bidi Paired Bracket Type constants.
*
* @see UCHAR_BIDI_PAIRED_BRACKET_TYPE
- * @stable ICU 52
+ * \xrefitem stable "Stable" "Stable List" ICU 52
*/
typedef enum UBidiPairedBracketType {
/*
@@ -996,18 +998,18 @@ typedef enum UBidiPairedBracketType {
* U_BPT_<Unicode Bidi_Paired_Bracket_Type value name>
*/
- /** Not a paired bracket. @stable ICU 52 */
+ /** Not a paired bracket. \xrefitem stable "Stable" "Stable List" ICU 52 */
U_BPT_NONE,
- /** Open paired bracket. @stable ICU 52 */
+ /** Open paired bracket. \xrefitem stable "Stable" "Stable List" ICU 52 */
U_BPT_OPEN,
- /** Close paired bracket. @stable ICU 52 */
+ /** Close paired bracket. \xrefitem stable "Stable" "Stable List" ICU 52 */
U_BPT_CLOSE,
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal UBidiPairedBracketType value.
* The highest value is available via u_getIntPropertyMaxValue(UCHAR_BIDI_PAIRED_BRACKET_TYPE).
*
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_BPT_COUNT /* 3 */
#endif // U_HIDE_DEPRECATED_API
@@ -1015,7 +1017,7 @@ typedef enum UBidiPairedBracketType {
/**
* Constants for Unicode blocks, see the Unicode Data file Blocks.txt
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
enum UBlockCode {
/*
@@ -1024,244 +1026,244 @@ enum UBlockCode {
* UBLOCK_<Unicode Block value name> = <integer>,
*/
- /** New No_Block value in Unicode 4. @stable ICU 2.6 */
+ /** New No_Block value in Unicode 4. \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UBLOCK_NO_BLOCK = 0, /*[none]*/ /* Special range indicating No_Block */
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_BASIC_LATIN = 1, /*[0000]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_LATIN_1_SUPPLEMENT=2, /*[0080]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_LATIN_EXTENDED_A =3, /*[0100]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_LATIN_EXTENDED_B =4, /*[0180]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_IPA_EXTENSIONS =5, /*[0250]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_SPACING_MODIFIER_LETTERS =6, /*[02B0]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_COMBINING_DIACRITICAL_MARKS =7, /*[0300]*/
/**
* Unicode 3.2 renames this block to "Greek and Coptic".
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
UBLOCK_GREEK =8, /*[0370]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_CYRILLIC =9, /*[0400]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_ARMENIAN =10, /*[0530]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_HEBREW =11, /*[0590]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_ARABIC =12, /*[0600]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_SYRIAC =13, /*[0700]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_THAANA =14, /*[0780]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_DEVANAGARI =15, /*[0900]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_BENGALI =16, /*[0980]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_GURMUKHI =17, /*[0A00]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_GUJARATI =18, /*[0A80]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_ORIYA =19, /*[0B00]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_TAMIL =20, /*[0B80]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_TELUGU =21, /*[0C00]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_KANNADA =22, /*[0C80]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_MALAYALAM =23, /*[0D00]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_SINHALA =24, /*[0D80]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_THAI =25, /*[0E00]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_LAO =26, /*[0E80]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_TIBETAN =27, /*[0F00]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_MYANMAR =28, /*[1000]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_GEORGIAN =29, /*[10A0]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_HANGUL_JAMO =30, /*[1100]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_ETHIOPIC =31, /*[1200]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_CHEROKEE =32, /*[13A0]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS =33, /*[1400]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_OGHAM =34, /*[1680]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_RUNIC =35, /*[16A0]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_KHMER =36, /*[1780]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_MONGOLIAN =37, /*[1800]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_LATIN_EXTENDED_ADDITIONAL =38, /*[1E00]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_GREEK_EXTENDED =39, /*[1F00]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_GENERAL_PUNCTUATION =40, /*[2000]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS =41, /*[2070]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_CURRENCY_SYMBOLS =42, /*[20A0]*/
/**
* Unicode 3.2 renames this block to "Combining Diacritical Marks for Symbols".
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
UBLOCK_COMBINING_MARKS_FOR_SYMBOLS =43, /*[20D0]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_LETTERLIKE_SYMBOLS =44, /*[2100]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_NUMBER_FORMS =45, /*[2150]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_ARROWS =46, /*[2190]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_MATHEMATICAL_OPERATORS =47, /*[2200]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_MISCELLANEOUS_TECHNICAL =48, /*[2300]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_CONTROL_PICTURES =49, /*[2400]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_OPTICAL_CHARACTER_RECOGNITION =50, /*[2440]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_ENCLOSED_ALPHANUMERICS =51, /*[2460]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_BOX_DRAWING =52, /*[2500]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_BLOCK_ELEMENTS =53, /*[2580]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_GEOMETRIC_SHAPES =54, /*[25A0]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_MISCELLANEOUS_SYMBOLS =55, /*[2600]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_DINGBATS =56, /*[2700]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_BRAILLE_PATTERNS =57, /*[2800]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_CJK_RADICALS_SUPPLEMENT =58, /*[2E80]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_KANGXI_RADICALS =59, /*[2F00]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS =60, /*[2FF0]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION =61, /*[3000]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_HIRAGANA =62, /*[3040]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_KATAKANA =63, /*[30A0]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_BOPOMOFO =64, /*[3100]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_HANGUL_COMPATIBILITY_JAMO =65, /*[3130]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_KANBUN =66, /*[3190]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_BOPOMOFO_EXTENDED =67, /*[31A0]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS =68, /*[3200]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_CJK_COMPATIBILITY =69, /*[3300]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A =70, /*[3400]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_CJK_UNIFIED_IDEOGRAPHS =71, /*[4E00]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_YI_SYLLABLES =72, /*[A000]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_YI_RADICALS =73, /*[A490]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_HANGUL_SYLLABLES =74, /*[AC00]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_HIGH_SURROGATES =75, /*[D800]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_HIGH_PRIVATE_USE_SURROGATES =76, /*[DB80]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_LOW_SURROGATES =77, /*[DC00]*/
/**
@@ -1271,7 +1273,7 @@ enum UBlockCode {
* Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" and
* adds separate blocks for the supplementary PUAs.
*
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
UBLOCK_PRIVATE_USE_AREA =78, /*[E000]*/
/**
@@ -1281,530 +1283,530 @@ enum UBlockCode {
* Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" and
* adds separate blocks for the supplementary PUAs.
*
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
UBLOCK_PRIVATE_USE = UBLOCK_PRIVATE_USE_AREA,
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS =79, /*[F900]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_ALPHABETIC_PRESENTATION_FORMS =80, /*[FB00]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_ARABIC_PRESENTATION_FORMS_A =81, /*[FB50]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_COMBINING_HALF_MARKS =82, /*[FE20]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_CJK_COMPATIBILITY_FORMS =83, /*[FE30]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_SMALL_FORM_VARIANTS =84, /*[FE50]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_ARABIC_PRESENTATION_FORMS_B =85, /*[FE70]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_SPECIALS =86, /*[FFF0]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS =87, /*[FF00]*/
/* New blocks in Unicode 3.1 */
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_OLD_ITALIC = 88, /*[10300]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_GOTHIC = 89, /*[10330]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_DESERET = 90, /*[10400]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_BYZANTINE_MUSICAL_SYMBOLS = 91, /*[1D000]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_MUSICAL_SYMBOLS = 92, /*[1D100]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93, /*[1D400]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94, /*[20000]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95, /*[2F800]*/
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_TAGS = 96, /*[E0000]*/
/* New blocks in Unicode 3.2 */
- /** @stable ICU 3.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.0 */
UBLOCK_CYRILLIC_SUPPLEMENT = 97, /*[0500]*/
/**
* Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement".
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
UBLOCK_CYRILLIC_SUPPLEMENTARY = UBLOCK_CYRILLIC_SUPPLEMENT,
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UBLOCK_TAGALOG = 98, /*[1700]*/
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UBLOCK_HANUNOO = 99, /*[1720]*/
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UBLOCK_BUHID = 100, /*[1740]*/
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UBLOCK_TAGBANWA = 101, /*[1760]*/
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102, /*[27C0]*/
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UBLOCK_SUPPLEMENTAL_ARROWS_A = 103, /*[27F0]*/
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UBLOCK_SUPPLEMENTAL_ARROWS_B = 104, /*[2900]*/
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105, /*[2980]*/
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106, /*[2A00]*/
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UBLOCK_KATAKANA_PHONETIC_EXTENSIONS = 107, /*[31F0]*/
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UBLOCK_VARIATION_SELECTORS = 108, /*[FE00]*/
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109, /*[F0000]*/
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110, /*[100000]*/
/* New blocks in Unicode 4 */
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UBLOCK_LIMBU = 111, /*[1900]*/
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UBLOCK_TAI_LE = 112, /*[1950]*/
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UBLOCK_KHMER_SYMBOLS = 113, /*[19E0]*/
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UBLOCK_PHONETIC_EXTENSIONS = 114, /*[1D00]*/
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115, /*[2B00]*/
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UBLOCK_YIJING_HEXAGRAM_SYMBOLS = 116, /*[4DC0]*/
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UBLOCK_LINEAR_B_SYLLABARY = 117, /*[10000]*/
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UBLOCK_LINEAR_B_IDEOGRAMS = 118, /*[10080]*/
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UBLOCK_AEGEAN_NUMBERS = 119, /*[10100]*/
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UBLOCK_UGARITIC = 120, /*[10380]*/
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UBLOCK_SHAVIAN = 121, /*[10450]*/
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UBLOCK_OSMANYA = 122, /*[10480]*/
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UBLOCK_CYPRIOT_SYLLABARY = 123, /*[10800]*/
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UBLOCK_TAI_XUAN_JING_SYMBOLS = 124, /*[1D300]*/
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
UBLOCK_VARIATION_SELECTORS_SUPPLEMENT = 125, /*[E0100]*/
/* New blocks in Unicode 4.1 */
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION = 126, /*[1D200]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_ANCIENT_GREEK_NUMBERS = 127, /*[10140]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_ARABIC_SUPPLEMENT = 128, /*[0750]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_BUGINESE = 129, /*[1A00]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_CJK_STROKES = 130, /*[31C0]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 131, /*[1DC0]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_COPTIC = 132, /*[2C80]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_ETHIOPIC_EXTENDED = 133, /*[2D80]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_ETHIOPIC_SUPPLEMENT = 134, /*[1380]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_GEORGIAN_SUPPLEMENT = 135, /*[2D00]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_GLAGOLITIC = 136, /*[2C00]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_KHAROSHTHI = 137, /*[10A00]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_MODIFIER_TONE_LETTERS = 138, /*[A700]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_NEW_TAI_LUE = 139, /*[1980]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_OLD_PERSIAN = 140, /*[103A0]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT = 141, /*[1D80]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_SUPPLEMENTAL_PUNCTUATION = 142, /*[2E00]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_SYLOTI_NAGRI = 143, /*[A800]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_TIFINAGH = 144, /*[2D30]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
UBLOCK_VERTICAL_FORMS = 145, /*[FE10]*/
/* New blocks in Unicode 5.0 */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
UBLOCK_NKO = 146, /*[07C0]*/
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
UBLOCK_BALINESE = 147, /*[1B00]*/
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
UBLOCK_LATIN_EXTENDED_C = 148, /*[2C60]*/
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
UBLOCK_LATIN_EXTENDED_D = 149, /*[A720]*/
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
UBLOCK_PHAGS_PA = 150, /*[A840]*/
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
UBLOCK_PHOENICIAN = 151, /*[10900]*/
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
UBLOCK_CUNEIFORM = 152, /*[12000]*/
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION = 153, /*[12400]*/
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
UBLOCK_COUNTING_ROD_NUMERALS = 154, /*[1D360]*/
/* New blocks in Unicode 5.1 */
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
UBLOCK_SUNDANESE = 155, /*[1B80]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
UBLOCK_LEPCHA = 156, /*[1C00]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
UBLOCK_OL_CHIKI = 157, /*[1C50]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
UBLOCK_CYRILLIC_EXTENDED_A = 158, /*[2DE0]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
UBLOCK_VAI = 159, /*[A500]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
UBLOCK_CYRILLIC_EXTENDED_B = 160, /*[A640]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
UBLOCK_SAURASHTRA = 161, /*[A880]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
UBLOCK_KAYAH_LI = 162, /*[A900]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
UBLOCK_REJANG = 163, /*[A930]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
UBLOCK_CHAM = 164, /*[AA00]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
UBLOCK_ANCIENT_SYMBOLS = 165, /*[10190]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
UBLOCK_PHAISTOS_DISC = 166, /*[101D0]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
UBLOCK_LYCIAN = 167, /*[10280]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
UBLOCK_CARIAN = 168, /*[102A0]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
UBLOCK_LYDIAN = 169, /*[10920]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
UBLOCK_MAHJONG_TILES = 170, /*[1F000]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
UBLOCK_DOMINO_TILES = 171, /*[1F030]*/
/* New blocks in Unicode 5.2 */
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_SAMARITAN = 172, /*[0800]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 173, /*[18B0]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_TAI_THAM = 174, /*[1A20]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_VEDIC_EXTENSIONS = 175, /*[1CD0]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_LISU = 176, /*[A4D0]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_BAMUM = 177, /*[A6A0]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_COMMON_INDIC_NUMBER_FORMS = 178, /*[A830]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_DEVANAGARI_EXTENDED = 179, /*[A8E0]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_HANGUL_JAMO_EXTENDED_A = 180, /*[A960]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_JAVANESE = 181, /*[A980]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_MYANMAR_EXTENDED_A = 182, /*[AA60]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_TAI_VIET = 183, /*[AA80]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_MEETEI_MAYEK = 184, /*[ABC0]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_HANGUL_JAMO_EXTENDED_B = 185, /*[D7B0]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_IMPERIAL_ARAMAIC = 186, /*[10840]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_OLD_SOUTH_ARABIAN = 187, /*[10A60]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_AVESTAN = 188, /*[10B00]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_INSCRIPTIONAL_PARTHIAN = 189, /*[10B40]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_INSCRIPTIONAL_PAHLAVI = 190, /*[10B60]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_OLD_TURKIC = 191, /*[10C00]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_RUMI_NUMERAL_SYMBOLS = 192, /*[10E60]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_KAITHI = 193, /*[11080]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_EGYPTIAN_HIEROGLYPHS = 194, /*[13000]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 195, /*[1F100]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 196, /*[1F200]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 197, /*[2A700]*/
/* New blocks in Unicode 6.0 */
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
UBLOCK_MANDAIC = 198, /*[0840]*/
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
UBLOCK_BATAK = 199, /*[1BC0]*/
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
UBLOCK_ETHIOPIC_EXTENDED_A = 200, /*[AB00]*/
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
UBLOCK_BRAHMI = 201, /*[11000]*/
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
UBLOCK_BAMUM_SUPPLEMENT = 202, /*[16800]*/
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
UBLOCK_KANA_SUPPLEMENT = 203, /*[1B000]*/
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
UBLOCK_PLAYING_CARDS = 204, /*[1F0A0]*/
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 205, /*[1F300]*/
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
UBLOCK_EMOTICONS = 206, /*[1F600]*/
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
UBLOCK_TRANSPORT_AND_MAP_SYMBOLS = 207, /*[1F680]*/
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
UBLOCK_ALCHEMICAL_SYMBOLS = 208, /*[1F700]*/
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 209, /*[2B740]*/
/* New blocks in Unicode 6.1 */
- /** @stable ICU 49 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 49 */
UBLOCK_ARABIC_EXTENDED_A = 210, /*[08A0]*/
- /** @stable ICU 49 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 49 */
UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 211, /*[1EE00]*/
- /** @stable ICU 49 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 49 */
UBLOCK_CHAKMA = 212, /*[11100]*/
- /** @stable ICU 49 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 49 */
UBLOCK_MEETEI_MAYEK_EXTENSIONS = 213, /*[AAE0]*/
- /** @stable ICU 49 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 49 */
UBLOCK_MEROITIC_CURSIVE = 214, /*[109A0]*/
- /** @stable ICU 49 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 49 */
UBLOCK_MEROITIC_HIEROGLYPHS = 215, /*[10980]*/
- /** @stable ICU 49 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 49 */
UBLOCK_MIAO = 216, /*[16F00]*/
- /** @stable ICU 49 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 49 */
UBLOCK_SHARADA = 217, /*[11180]*/
- /** @stable ICU 49 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 49 */
UBLOCK_SORA_SOMPENG = 218, /*[110D0]*/
- /** @stable ICU 49 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 49 */
UBLOCK_SUNDANESE_SUPPLEMENT = 219, /*[1CC0]*/
- /** @stable ICU 49 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 49 */
UBLOCK_TAKRI = 220, /*[11680]*/
/* New blocks in Unicode 7.0 */
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_BASSA_VAH = 221, /*[16AD0]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_CAUCASIAN_ALBANIAN = 222, /*[10530]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_COPTIC_EPACT_NUMBERS = 223, /*[102E0]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED = 224, /*[1AB0]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_DUPLOYAN = 225, /*[1BC00]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_ELBASAN = 226, /*[10500]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_GEOMETRIC_SHAPES_EXTENDED = 227, /*[1F780]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_GRANTHA = 228, /*[11300]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_KHOJKI = 229, /*[11200]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_KHUDAWADI = 230, /*[112B0]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_LATIN_EXTENDED_E = 231, /*[AB30]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_LINEAR_A = 232, /*[10600]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_MAHAJANI = 233, /*[11150]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_MANICHAEAN = 234, /*[10AC0]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_MENDE_KIKAKUI = 235, /*[1E800]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_MODI = 236, /*[11600]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_MRO = 237, /*[16A40]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_MYANMAR_EXTENDED_B = 238, /*[A9E0]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_NABATAEAN = 239, /*[10880]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_OLD_NORTH_ARABIAN = 240, /*[10A80]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_OLD_PERMIC = 241, /*[10350]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_ORNAMENTAL_DINGBATS = 242, /*[1F650]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_PAHAWH_HMONG = 243, /*[16B00]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_PALMYRENE = 244, /*[10860]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_PAU_CIN_HAU = 245, /*[11AC0]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_PSALTER_PAHLAVI = 246, /*[10B80]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_SHORTHAND_FORMAT_CONTROLS = 247, /*[1BCA0]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_SIDDHAM = 248, /*[11580]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_SINHALA_ARCHAIC_NUMBERS = 249, /*[111E0]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_SUPPLEMENTAL_ARROWS_C = 250, /*[1F800]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_TIRHUTA = 251, /*[11480]*/
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
UBLOCK_WARANG_CITI = 252, /*[118A0]*/
/* New blocks in Unicode 8.0 */
- /** @stable ICU 56 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 56 */
UBLOCK_AHOM = 253, /*[11700]*/
- /** @stable ICU 56 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 56 */
UBLOCK_ANATOLIAN_HIEROGLYPHS = 254, /*[14400]*/
- /** @stable ICU 56 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 56 */
UBLOCK_CHEROKEE_SUPPLEMENT = 255, /*[AB70]*/
- /** @stable ICU 56 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 56 */
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E = 256, /*[2B820]*/
- /** @stable ICU 56 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 56 */
UBLOCK_EARLY_DYNASTIC_CUNEIFORM = 257, /*[12480]*/
- /** @stable ICU 56 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 56 */
UBLOCK_HATRAN = 258, /*[108E0]*/
- /** @stable ICU 56 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 56 */
UBLOCK_MULTANI = 259, /*[11280]*/
- /** @stable ICU 56 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 56 */
UBLOCK_OLD_HUNGARIAN = 260, /*[10C80]*/
- /** @stable ICU 56 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 56 */
UBLOCK_SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS = 261, /*[1F900]*/
- /** @stable ICU 56 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 56 */
UBLOCK_SUTTON_SIGNWRITING = 262, /*[1D800]*/
/* New blocks in Unicode 9.0 */
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
UBLOCK_ADLAM = 263, /*[1E900]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
UBLOCK_BHAIKSUKI = 264, /*[11C00]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
UBLOCK_CYRILLIC_EXTENDED_C = 265, /*[1C80]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
UBLOCK_GLAGOLITIC_SUPPLEMENT = 266, /*[1E000]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
UBLOCK_IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION = 267, /*[16FE0]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
UBLOCK_MARCHEN = 268, /*[11C70]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
UBLOCK_MONGOLIAN_SUPPLEMENT = 269, /*[11660]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
UBLOCK_NEWA = 270, /*[11400]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
UBLOCK_OSAGE = 271, /*[104B0]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
UBLOCK_TANGUT = 272, /*[17000]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
UBLOCK_TANGUT_COMPONENTS = 273, /*[18800]*/
// New blocks in Unicode 10.0
- /** @stable ICU 60 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 60 */
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F = 274, /*[2CEB0]*/
- /** @stable ICU 60 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 60 */
UBLOCK_KANA_EXTENDED_A = 275, /*[1B100]*/
- /** @stable ICU 60 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 60 */
UBLOCK_MASARAM_GONDI = 276, /*[11D00]*/
- /** @stable ICU 60 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 60 */
UBLOCK_NUSHU = 277, /*[1B170]*/
- /** @stable ICU 60 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 60 */
UBLOCK_SOYOMBO = 278, /*[11A50]*/
- /** @stable ICU 60 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 60 */
UBLOCK_SYRIAC_SUPPLEMENT = 279, /*[0860]*/
- /** @stable ICU 60 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 60 */
UBLOCK_ZANABAZAR_SQUARE = 280, /*[11A00]*/
// New blocks in Unicode 11.0
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
UBLOCK_CHESS_SYMBOLS = 281, /*[1FA00]*/
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
UBLOCK_DOGRA = 282, /*[11800]*/
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
UBLOCK_GEORGIAN_EXTENDED = 283, /*[1C90]*/
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
UBLOCK_GUNJALA_GONDI = 284, /*[11D60]*/
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
UBLOCK_HANIFI_ROHINGYA = 285, /*[10D00]*/
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
UBLOCK_INDIC_SIYAQ_NUMBERS = 286, /*[1EC70]*/
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
UBLOCK_MAKASAR = 287, /*[11EE0]*/
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
UBLOCK_MAYAN_NUMERALS = 288, /*[1D2E0]*/
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
UBLOCK_MEDEFAIDRIN = 289, /*[16E40]*/
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
UBLOCK_OLD_SOGDIAN = 290, /*[10F00]*/
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
UBLOCK_SOGDIAN = 291, /*[10F30]*/
// New blocks in Unicode 12.0
- /** @stable ICU 64 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 64 */
UBLOCK_EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS = 292, /*[13430]*/
- /** @stable ICU 64 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 64 */
UBLOCK_ELYMAIC = 293, /*[10FE0]*/
- /** @stable ICU 64 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 64 */
UBLOCK_NANDINAGARI = 294, /*[119A0]*/
- /** @stable ICU 64 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 64 */
UBLOCK_NYIAKENG_PUACHUE_HMONG = 295, /*[1E100]*/
- /** @stable ICU 64 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 64 */
UBLOCK_OTTOMAN_SIYAQ_NUMBERS = 296, /*[1ED00]*/
- /** @stable ICU 64 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 64 */
UBLOCK_SMALL_KANA_EXTENSION = 297, /*[1B130]*/
- /** @stable ICU 64 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 64 */
UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A = 298, /*[1FA70]*/
- /** @stable ICU 64 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 64 */
UBLOCK_TAMIL_SUPPLEMENT = 299, /*[11FC0]*/
- /** @stable ICU 64 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 64 */
UBLOCK_WANCHO = 300, /*[1E2C0]*/
// New blocks in Unicode 13.0
- /** @stable ICU 66 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 66 */
UBLOCK_CHORASMIAN = 301, /*[10FB0]*/
- /** @stable ICU 66 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 66 */
UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G = 302, /*[30000]*/
- /** @stable ICU 66 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 66 */
UBLOCK_DIVES_AKURU = 303, /*[11900]*/
- /** @stable ICU 66 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 66 */
UBLOCK_KHITAN_SMALL_SCRIPT = 304, /*[18B00]*/
- /** @stable ICU 66 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 66 */
UBLOCK_LISU_SUPPLEMENT = 305, /*[11FB0]*/
- /** @stable ICU 66 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 66 */
UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING = 306, /*[1FB00]*/
- /** @stable ICU 66 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 66 */
UBLOCK_TANGUT_SUPPLEMENT = 307, /*[18D00]*/
- /** @stable ICU 66 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 66 */
UBLOCK_YEZIDI = 308, /*[10E80]*/
#ifndef U_HIDE_DEPRECATED_API
@@ -1812,16 +1814,16 @@ enum UBlockCode {
* One more than the highest normal UBlockCode value.
* The highest value is available via u_getIntPropertyMaxValue(UCHAR_BLOCK).
*
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
UBLOCK_COUNT = 309,
#endif // U_HIDE_DEPRECATED_API
- /** @stable ICU 2.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
UBLOCK_INVALID_CODE=-1
};
-/** @stable ICU 2.0 */
+/** \xrefitem stable "Stable" "Stable List" ICU 2.0 */
typedef enum UBlockCode UBlockCode;
/**
@@ -1829,7 +1831,7 @@ typedef enum UBlockCode UBlockCode;
*
* @see UCHAR_EAST_ASIAN_WIDTH
* @see u_getIntPropertyValue
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
typedef enum UEastAsianWidth {
/*
@@ -1849,7 +1851,7 @@ typedef enum UEastAsianWidth {
* One more than the highest normal UEastAsianWidth value.
* The highest value is available via u_getIntPropertyMaxValue(UCHAR_EAST_ASIAN_WIDTH).
*
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_EA_COUNT
#endif // U_HIDE_DEPRECATED_API
@@ -1864,27 +1866,27 @@ typedef enum UEastAsianWidth {
* Unicode code point a unique name.
*
* @see u_charName
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
typedef enum UCharNameChoice {
- /** Unicode character name (Name property). @stable ICU 2.0 */
+ /** Unicode character name (Name property). \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_UNICODE_CHAR_NAME,
#ifndef U_HIDE_DEPRECATED_API
/**
* The Unicode_1_Name property value which is of little practical value.
* Beginning with ICU 49, ICU APIs return an empty string for this name choice.
- * @deprecated ICU 49
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 49
*/
U_UNICODE_10_CHAR_NAME,
#endif /* U_HIDE_DEPRECATED_API */
- /** Standard or synthetic character name. @stable ICU 2.0 */
+ /** Standard or synthetic character name. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
U_EXTENDED_CHAR_NAME = U_UNICODE_CHAR_NAME+2,
- /** Corrected name from NameAliases.txt. @stable ICU 4.4 */
+ /** Corrected name from NameAliases.txt. \xrefitem stable "Stable" "Stable List" ICU 4.4 */
U_CHAR_NAME_ALIAS,
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal UCharNameChoice value.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_CHAR_NAME_CHOICE_COUNT
#endif // U_HIDE_DEPRECATED_API
@@ -1901,7 +1903,7 @@ typedef enum UCharNameChoice {
*
* @see u_getPropertyName()
* @see u_getPropertyValueName()
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
typedef enum UPropertyNameChoice {
U_SHORT_PROPERTY_NAME,
@@ -1909,7 +1911,7 @@ typedef enum UPropertyNameChoice {
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal UPropertyNameChoice value.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_PROPERTY_NAME_CHOICE_COUNT
#endif // U_HIDE_DEPRECATED_API
@@ -1919,7 +1921,7 @@ typedef enum UPropertyNameChoice {
* Decomposition Type constants.
*
* @see UCHAR_DECOMPOSITION_TYPE
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
typedef enum UDecompositionType {
/*
@@ -1951,7 +1953,7 @@ typedef enum UDecompositionType {
* One more than the highest normal UDecompositionType value.
* The highest value is available via u_getIntPropertyMaxValue(UCHAR_DECOMPOSITION_TYPE).
*
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_DT_COUNT /* 18 */
#endif // U_HIDE_DEPRECATED_API
@@ -1961,7 +1963,7 @@ typedef enum UDecompositionType {
* Joining Type constants.
*
* @see UCHAR_JOINING_TYPE
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
typedef enum UJoiningType {
/*
@@ -1981,7 +1983,7 @@ typedef enum UJoiningType {
* One more than the highest normal UJoiningType value.
* The highest value is available via u_getIntPropertyMaxValue(UCHAR_JOINING_TYPE).
*
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_JT_COUNT /* 6 */
#endif // U_HIDE_DEPRECATED_API
@@ -1991,7 +1993,7 @@ typedef enum UJoiningType {
* Joining Group constants.
*
* @see UCHAR_JOINING_GROUP
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
typedef enum UJoiningGroup {
/*
@@ -2014,7 +2016,7 @@ typedef enum UJoiningGroup {
U_JG_GAF,
U_JG_GAMAL,
U_JG_HAH,
- U_JG_TEH_MARBUTA_GOAL, /**< @stable ICU 4.6 */
+ U_JG_TEH_MARBUTA_GOAL, /**< \xrefitem stable "Stable" "Stable List" ICU 4.6 */
U_JG_HAMZA_ON_HEH_GOAL=U_JG_TEH_MARBUTA_GOAL,
U_JG_HE,
U_JG_HEH,
@@ -2052,66 +2054,66 @@ typedef enum UJoiningGroup {
U_JG_YUDH,
U_JG_YUDH_HE,
U_JG_ZAIN,
- U_JG_FE, /**< @stable ICU 2.6 */
- U_JG_KHAPH, /**< @stable ICU 2.6 */
- U_JG_ZHAIN, /**< @stable ICU 2.6 */
- U_JG_BURUSHASKI_YEH_BARREE, /**< @stable ICU 4.0 */
- U_JG_FARSI_YEH, /**< @stable ICU 4.4 */
- U_JG_NYA, /**< @stable ICU 4.4 */
- U_JG_ROHINGYA_YEH, /**< @stable ICU 49 */
- U_JG_MANICHAEAN_ALEPH, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_AYIN, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_BETH, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_DALETH, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_DHAMEDH, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_FIVE, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_GIMEL, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_HETH, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_HUNDRED, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_KAPH, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_LAMEDH, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_MEM, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_NUN, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_ONE, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_PE, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_QOPH, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_RESH, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_SADHE, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_SAMEKH, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_TAW, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_TEN, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_TETH, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_THAMEDH, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_TWENTY, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_WAW, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_YODH, /**< @stable ICU 54 */
- U_JG_MANICHAEAN_ZAYIN, /**< @stable ICU 54 */
- U_JG_STRAIGHT_WAW, /**< @stable ICU 54 */
- U_JG_AFRICAN_FEH, /**< @stable ICU 58 */
- U_JG_AFRICAN_NOON, /**< @stable ICU 58 */
- U_JG_AFRICAN_QAF, /**< @stable ICU 58 */
-
- U_JG_MALAYALAM_BHA, /**< @stable ICU 60 */
- U_JG_MALAYALAM_JA, /**< @stable ICU 60 */
- U_JG_MALAYALAM_LLA, /**< @stable ICU 60 */
- U_JG_MALAYALAM_LLLA, /**< @stable ICU 60 */
- U_JG_MALAYALAM_NGA, /**< @stable ICU 60 */
- U_JG_MALAYALAM_NNA, /**< @stable ICU 60 */
- U_JG_MALAYALAM_NNNA, /**< @stable ICU 60 */
- U_JG_MALAYALAM_NYA, /**< @stable ICU 60 */
- U_JG_MALAYALAM_RA, /**< @stable ICU 60 */
- U_JG_MALAYALAM_SSA, /**< @stable ICU 60 */
- U_JG_MALAYALAM_TTA, /**< @stable ICU 60 */
-
- U_JG_HANIFI_ROHINGYA_KINNA_YA, /**< @stable ICU 62 */
- U_JG_HANIFI_ROHINGYA_PA, /**< @stable ICU 62 */
+ U_JG_FE, /**< \xrefitem stable "Stable" "Stable List" ICU 2.6 */
+ U_JG_KHAPH, /**< \xrefitem stable "Stable" "Stable List" ICU 2.6 */
+ U_JG_ZHAIN, /**< \xrefitem stable "Stable" "Stable List" ICU 2.6 */
+ U_JG_BURUSHASKI_YEH_BARREE, /**< \xrefitem stable "Stable" "Stable List" ICU 4.0 */
+ U_JG_FARSI_YEH, /**< \xrefitem stable "Stable" "Stable List" ICU 4.4 */
+ U_JG_NYA, /**< \xrefitem stable "Stable" "Stable List" ICU 4.4 */
+ U_JG_ROHINGYA_YEH, /**< \xrefitem stable "Stable" "Stable List" ICU 49 */
+ U_JG_MANICHAEAN_ALEPH, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_AYIN, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_BETH, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_DALETH, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_DHAMEDH, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_FIVE, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_GIMEL, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_HETH, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_HUNDRED, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_KAPH, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_LAMEDH, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_MEM, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_NUN, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_ONE, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_PE, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_QOPH, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_RESH, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_SADHE, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_SAMEKH, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_TAW, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_TEN, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_TETH, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_THAMEDH, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_TWENTY, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_WAW, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_YODH, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_MANICHAEAN_ZAYIN, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_STRAIGHT_WAW, /**< \xrefitem stable "Stable" "Stable List" ICU 54 */
+ U_JG_AFRICAN_FEH, /**< \xrefitem stable "Stable" "Stable List" ICU 58 */
+ U_JG_AFRICAN_NOON, /**< \xrefitem stable "Stable" "Stable List" ICU 58 */
+ U_JG_AFRICAN_QAF, /**< \xrefitem stable "Stable" "Stable List" ICU 58 */
+
+ U_JG_MALAYALAM_BHA, /**< \xrefitem stable "Stable" "Stable List" ICU 60 */
+ U_JG_MALAYALAM_JA, /**< \xrefitem stable "Stable" "Stable List" ICU 60 */
+ U_JG_MALAYALAM_LLA, /**< \xrefitem stable "Stable" "Stable List" ICU 60 */
+ U_JG_MALAYALAM_LLLA, /**< \xrefitem stable "Stable" "Stable List" ICU 60 */
+ U_JG_MALAYALAM_NGA, /**< \xrefitem stable "Stable" "Stable List" ICU 60 */
+ U_JG_MALAYALAM_NNA, /**< \xrefitem stable "Stable" "Stable List" ICU 60 */
+ U_JG_MALAYALAM_NNNA, /**< \xrefitem stable "Stable" "Stable List" ICU 60 */
+ U_JG_MALAYALAM_NYA, /**< \xrefitem stable "Stable" "Stable List" ICU 60 */
+ U_JG_MALAYALAM_RA, /**< \xrefitem stable "Stable" "Stable List" ICU 60 */
+ U_JG_MALAYALAM_SSA, /**< \xrefitem stable "Stable" "Stable List" ICU 60 */
+ U_JG_MALAYALAM_TTA, /**< \xrefitem stable "Stable" "Stable List" ICU 60 */
+
+ U_JG_HANIFI_ROHINGYA_KINNA_YA, /**< \xrefitem stable "Stable" "Stable List" ICU 62 */
+ U_JG_HANIFI_ROHINGYA_PA, /**< \xrefitem stable "Stable" "Stable List" ICU 62 */
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal UJoiningGroup value.
* The highest value is available via u_getIntPropertyMaxValue(UCHAR_JOINING_GROUP).
*
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_JG_COUNT
#endif // U_HIDE_DEPRECATED_API
@@ -2121,7 +2123,7 @@ typedef enum UJoiningGroup {
* Grapheme Cluster Break constants.
*
* @see UCHAR_GRAPHEME_CLUSTER_BREAK
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
typedef enum UGraphemeClusterBreak {
/*
@@ -2140,21 +2142,21 @@ typedef enum UGraphemeClusterBreak {
U_GCB_LVT = 7, /*[LVT]*/
U_GCB_T = 8, /*[T]*/
U_GCB_V = 9, /*[V]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
U_GCB_SPACING_MARK = 10, /*[SM]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
U_GCB_PREPEND = 11, /*[PP]*/
- /** @stable ICU 50 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 50 */
U_GCB_REGIONAL_INDICATOR = 12, /*[RI]*/ /* new in Unicode 6.2/ICU 50 */
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
U_GCB_E_BASE = 13, /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
U_GCB_E_BASE_GAZ = 14, /*[EBG]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
U_GCB_E_MODIFIER = 15, /*[EM]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
U_GCB_GLUE_AFTER_ZWJ = 16, /*[GAZ]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
U_GCB_ZWJ = 17, /*[ZWJ]*/
#ifndef U_HIDE_DEPRECATED_API
@@ -2162,7 +2164,7 @@ typedef enum UGraphemeClusterBreak {
* One more than the highest normal UGraphemeClusterBreak value.
* The highest value is available via u_getIntPropertyMaxValue(UCHAR_GRAPHEME_CLUSTER_BREAK).
*
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_GCB_COUNT = 18
#endif // U_HIDE_DEPRECATED_API
@@ -2173,7 +2175,7 @@ typedef enum UGraphemeClusterBreak {
* (UWordBreak is a pre-existing enum type in ubrk.h for word break status tags.)
*
* @see UCHAR_WORD_BREAK
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
typedef enum UWordBreakValues {
/*
@@ -2190,35 +2192,35 @@ typedef enum UWordBreakValues {
U_WB_MIDNUM = 5, /*[MN]*/
U_WB_NUMERIC = 6, /*[NU]*/
U_WB_EXTENDNUMLET = 7, /*[EX]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
U_WB_CR = 8, /*[CR]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
U_WB_EXTEND = 9, /*[Extend]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
U_WB_LF = 10, /*[LF]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
U_WB_MIDNUMLET =11, /*[MB]*/
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
U_WB_NEWLINE =12, /*[NL]*/
- /** @stable ICU 50 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 50 */
U_WB_REGIONAL_INDICATOR = 13, /*[RI]*/ /* new in Unicode 6.2/ICU 50 */
- /** @stable ICU 52 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 52 */
U_WB_HEBREW_LETTER = 14, /*[HL]*/ /* from here on: new in Unicode 6.3/ICU 52 */
- /** @stable ICU 52 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 52 */
U_WB_SINGLE_QUOTE = 15, /*[SQ]*/
- /** @stable ICU 52 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 52 */
U_WB_DOUBLE_QUOTE = 16, /*[DQ]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
U_WB_E_BASE = 17, /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
U_WB_E_BASE_GAZ = 18, /*[EBG]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
U_WB_E_MODIFIER = 19, /*[EM]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
U_WB_GLUE_AFTER_ZWJ = 20, /*[GAZ]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
U_WB_ZWJ = 21, /*[ZWJ]*/
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
U_WB_WSEGSPACE = 22, /*[WSEGSPACE]*/
#ifndef U_HIDE_DEPRECATED_API
@@ -2226,7 +2228,7 @@ typedef enum UWordBreakValues {
* One more than the highest normal UWordBreakValues value.
* The highest value is available via u_getIntPropertyMaxValue(UCHAR_WORD_BREAK).
*
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_WB_COUNT = 23
#endif // U_HIDE_DEPRECATED_API
@@ -2236,7 +2238,7 @@ typedef enum UWordBreakValues {
* Sentence Break constants.
*
* @see UCHAR_SENTENCE_BREAK
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
typedef enum USentenceBreak {
/*
@@ -2265,7 +2267,7 @@ typedef enum USentenceBreak {
* One more than the highest normal USentenceBreak value.
* The highest value is available via u_getIntPropertyMaxValue(UCHAR_SENTENCE_BREAK).
*
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_SB_COUNT = 15
#endif // U_HIDE_DEPRECATED_API
@@ -2275,7 +2277,7 @@ typedef enum USentenceBreak {
* Line Break constants.
*
* @see UCHAR_LINE_BREAK
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
typedef enum ULineBreak {
/*
@@ -2299,7 +2301,7 @@ typedef enum ULineBreak {
U_LB_GLUE = 12, /*[GL]*/
U_LB_HYPHEN = 13, /*[HY]*/
U_LB_IDEOGRAPHIC = 14, /*[ID]*/
- /** Renamed from the misspelled "inseperable" in Unicode 4.0.1/ICU 3.0 @stable ICU 3.0 */
+ /** Renamed from the misspelled "inseperable" in Unicode 4.0.1/ICU 3.0 \xrefitem stable "Stable" "Stable List" ICU 3.0 */
U_LB_INSEPARABLE = 15, /*[IN]*/
U_LB_INSEPERABLE = U_LB_INSEPARABLE,
U_LB_INFIX_NUMERIC = 16, /*[IS]*/
@@ -2315,40 +2317,40 @@ typedef enum ULineBreak {
U_LB_SPACE = 26, /*[SP]*/
U_LB_BREAK_SYMBOLS = 27, /*[SY]*/
U_LB_ZWSPACE = 28, /*[ZW]*/
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
U_LB_NEXT_LINE = 29, /*[NL]*/ /* from here on: new in Unicode 4/ICU 2.6 */
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
U_LB_WORD_JOINER = 30, /*[WJ]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
U_LB_H2 = 31, /*[H2]*/ /* from here on: new in Unicode 4.1/ICU 3.4 */
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
U_LB_H3 = 32, /*[H3]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
U_LB_JL = 33, /*[JL]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
U_LB_JT = 34, /*[JT]*/
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
U_LB_JV = 35, /*[JV]*/
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
U_LB_CLOSE_PARENTHESIS = 36, /*[CP]*/ /* new in Unicode 5.2/ICU 4.4 */
- /** @stable ICU 49 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 49 */
U_LB_CONDITIONAL_JAPANESE_STARTER = 37,/*[CJ]*/ /* new in Unicode 6.1/ICU 49 */
- /** @stable ICU 49 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 49 */
U_LB_HEBREW_LETTER = 38, /*[HL]*/ /* new in Unicode 6.1/ICU 49 */
- /** @stable ICU 50 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 50 */
U_LB_REGIONAL_INDICATOR = 39,/*[RI]*/ /* new in Unicode 6.2/ICU 50 */
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
U_LB_E_BASE = 40, /*[EB]*/ /* from here on: new in Unicode 9.0/ICU 58 */
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
U_LB_E_MODIFIER = 41, /*[EM]*/
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
U_LB_ZWJ = 42, /*[ZWJ]*/
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal ULineBreak value.
* The highest value is available via u_getIntPropertyMaxValue(UCHAR_LINE_BREAK).
*
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_LB_COUNT = 43
#endif // U_HIDE_DEPRECATED_API
@@ -2358,7 +2360,7 @@ typedef enum ULineBreak {
* Numeric Type constants.
*
* @see UCHAR_NUMERIC_TYPE
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
typedef enum UNumericType {
/*
@@ -2376,7 +2378,7 @@ typedef enum UNumericType {
* One more than the highest normal UNumericType value.
* The highest value is available via u_getIntPropertyMaxValue(UCHAR_NUMERIC_TYPE).
*
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_NT_COUNT
#endif // U_HIDE_DEPRECATED_API
@@ -2386,7 +2388,7 @@ typedef enum UNumericType {
* Hangul Syllable Type constants.
*
* @see UCHAR_HANGUL_SYLLABLE_TYPE
- * @stable ICU 2.6
+ * \xrefitem stable "Stable" "Stable List" ICU 2.6
*/
typedef enum UHangulSyllableType {
/*
@@ -2406,7 +2408,7 @@ typedef enum UHangulSyllableType {
* One more than the highest normal UHangulSyllableType value.
* The highest value is available via u_getIntPropertyMaxValue(UCHAR_HANGUL_SYLLABLE_TYPE).
*
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_HST_COUNT
#endif // U_HIDE_DEPRECATED_API
@@ -2416,7 +2418,7 @@ typedef enum UHangulSyllableType {
* Indic Positional Category constants.
*
* @see UCHAR_INDIC_POSITIONAL_CATEGORY
- * @stable ICU 63
+ * \xrefitem stable "Stable" "Stable List" ICU 63
*/
typedef enum UIndicPositionalCategory {
/*
@@ -2425,37 +2427,37 @@ typedef enum UIndicPositionalCategory {
* U_INPC_<Unicode Indic_Positional_Category value name>
*/
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INPC_NA,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INPC_BOTTOM,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INPC_BOTTOM_AND_LEFT,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INPC_BOTTOM_AND_RIGHT,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INPC_LEFT,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INPC_LEFT_AND_RIGHT,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INPC_OVERSTRUCK,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INPC_RIGHT,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INPC_TOP,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INPC_TOP_AND_BOTTOM,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INPC_TOP_AND_BOTTOM_AND_RIGHT,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INPC_TOP_AND_LEFT,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INPC_TOP_AND_LEFT_AND_RIGHT,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INPC_TOP_AND_RIGHT,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INPC_VISUAL_ORDER_LEFT,
- /** @stable ICU 66 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 66 */
U_INPC_TOP_AND_BOTTOM_AND_LEFT,
} UIndicPositionalCategory;
@@ -2463,7 +2465,7 @@ typedef enum UIndicPositionalCategory {
* Indic Syllabic Category constants.
*
* @see UCHAR_INDIC_SYLLABIC_CATEGORY
- * @stable ICU 63
+ * \xrefitem stable "Stable" "Stable List" ICU 63
*/
typedef enum UIndicSyllabicCategory {
/*
@@ -2472,77 +2474,77 @@ typedef enum UIndicSyllabicCategory {
* U_INSC_<Unicode Indic_Syllabic_Category value name>
*/
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_OTHER,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_AVAGRAHA,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_BINDU,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_BRAHMI_JOINING_NUMBER,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_CANTILLATION_MARK,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_CONSONANT,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_CONSONANT_DEAD,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_CONSONANT_FINAL,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_CONSONANT_HEAD_LETTER,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_CONSONANT_INITIAL_POSTFIXED,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_CONSONANT_KILLER,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_CONSONANT_MEDIAL,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_CONSONANT_PLACEHOLDER,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_CONSONANT_PRECEDING_REPHA,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_CONSONANT_PREFIXED,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_CONSONANT_SUBJOINED,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_CONSONANT_SUCCEEDING_REPHA,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_CONSONANT_WITH_STACKER,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_GEMINATION_MARK,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_INVISIBLE_STACKER,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_JOINER,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_MODIFYING_LETTER,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_NON_JOINER,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_NUKTA,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_NUMBER,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_NUMBER_JOINER,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_PURE_KILLER,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_REGISTER_SHIFTER,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_SYLLABLE_MODIFIER,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_TONE_LETTER,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_TONE_MARK,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_VIRAMA,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_VISARGA,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_VOWEL,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_VOWEL_DEPENDENT,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_INSC_VOWEL_INDEPENDENT,
} UIndicSyllabicCategory;
@@ -2550,7 +2552,7 @@ typedef enum UIndicSyllabicCategory {
* Vertical Orientation constants.
*
* @see UCHAR_VERTICAL_ORIENTATION
- * @stable ICU 63
+ * \xrefitem stable "Stable" "Stable List" ICU 63
*/
typedef enum UVerticalOrientation {
/*
@@ -2559,13 +2561,13 @@ typedef enum UVerticalOrientation {
* U_VO_<Unicode Vertical_Orientation value name>
*/
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_VO_ROTATED,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_VO_TRANSFORMED_ROTATED,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_VO_TRANSFORMED_UPRIGHT,
- /** @stable ICU 63 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 63 */
U_VO_UPRIGHT,
} UVerticalOrientation;
@@ -2594,7 +2596,7 @@ typedef enum UVerticalOrientation {
* @see u_getBinaryPropertySet
* @see u_getIntPropertyValue
* @see u_getUnicodeVersion
- * @stable ICU 2.1
+ * \xrefitem stable "Stable" "Stable List" ICU 2.1
*/
U_CAPI UBool U_EXPORT2
u_hasBinaryProperty(UChar32 c, UProperty which) __INTRODUCED_IN(31);
@@ -2613,7 +2615,7 @@ u_hasBinaryProperty(UChar32 c, UProperty which) __INTRODUCED_IN(31);
* @see UCHAR_ALPHABETIC
* @see u_isalpha
* @see u_hasBinaryProperty
- * @stable ICU 2.1
+ * \xrefitem stable "Stable" "Stable List" ICU 2.1
*/
U_CAPI UBool U_EXPORT2
u_isUAlphabetic(UChar32 c) __INTRODUCED_IN(31);
@@ -2630,7 +2632,7 @@ u_isUAlphabetic(UChar32 c) __INTRODUCED_IN(31);
* @see UCHAR_LOWERCASE
* @see u_islower
* @see u_hasBinaryProperty
- * @stable ICU 2.1
+ * \xrefitem stable "Stable" "Stable List" ICU 2.1
*/
U_CAPI UBool U_EXPORT2
u_isULowercase(UChar32 c) __INTRODUCED_IN(31);
@@ -2647,7 +2649,7 @@ u_isULowercase(UChar32 c) __INTRODUCED_IN(31);
* @see UCHAR_UPPERCASE
* @see u_isupper
* @see u_hasBinaryProperty
- * @stable ICU 2.1
+ * \xrefitem stable "Stable" "Stable List" ICU 2.1
*/
U_CAPI UBool U_EXPORT2
u_isUUppercase(UChar32 c) __INTRODUCED_IN(31);
@@ -2670,7 +2672,7 @@ u_isUUppercase(UChar32 c) __INTRODUCED_IN(31);
* @see u_isspace
* @see u_isJavaSpaceChar
* @see u_hasBinaryProperty
- * @stable ICU 2.1
+ * \xrefitem stable "Stable" "Stable List" ICU 2.1
*/
U_CAPI UBool U_EXPORT2
u_isUWhiteSpace(UChar32 c) __INTRODUCED_IN(31);
@@ -2713,7 +2715,7 @@ u_isUWhiteSpace(UChar32 c) __INTRODUCED_IN(31);
* @see u_getIntPropertyMaxValue
* @see u_getIntPropertyMap
* @see u_getUnicodeVersion
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
U_CAPI int32_t U_EXPORT2
u_getIntPropertyValue(UChar32 c, UProperty which) __INTRODUCED_IN(31);
@@ -2736,7 +2738,7 @@ u_getIntPropertyValue(UChar32 c, UProperty which) __INTRODUCED_IN(31);
* @see u_getUnicodeVersion
* @see u_getIntPropertyMaxValue
* @see u_getIntPropertyValue
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
U_CAPI int32_t U_EXPORT2
u_getIntPropertyMinValue(UProperty which) __INTRODUCED_IN(31);
@@ -2767,7 +2769,7 @@ u_getIntPropertyMinValue(UProperty which) __INTRODUCED_IN(31);
* @see u_getUnicodeVersion
* @see u_getIntPropertyMaxValue
* @see u_getIntPropertyValue
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
U_CAPI int32_t U_EXPORT2
u_getIntPropertyMaxValue(UProperty which) __INTRODUCED_IN(31);
@@ -2796,7 +2798,7 @@ u_getIntPropertyMaxValue(UProperty which) __INTRODUCED_IN(31);
* @return Numeric value of c, or U_NO_NUMERIC_VALUE if none is defined.
*
* @see U_NO_NUMERIC_VALUE
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
U_CAPI double U_EXPORT2
u_getNumericValue(UChar32 c) __INTRODUCED_IN(31);
@@ -2808,7 +2810,7 @@ u_getNumericValue(UChar32 c) __INTRODUCED_IN(31);
* no numeric value is defined for a code point.
*
* @see u_getNumericValue
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
#define U_NO_NUMERIC_VALUE ((double)-123456789.)
@@ -2833,7 +2835,7 @@ u_getNumericValue(UChar32 c) __INTRODUCED_IN(31);
* @see UCHAR_LOWERCASE
* @see u_isupper
* @see u_istitle
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_islower(UChar32 c) __INTRODUCED_IN(31);
@@ -2862,7 +2864,7 @@ u_islower(UChar32 c) __INTRODUCED_IN(31);
* @see u_islower
* @see u_istitle
* @see u_tolower
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_isupper(UChar32 c) __INTRODUCED_IN(31);
@@ -2881,7 +2883,7 @@ u_isupper(UChar32 c) __INTRODUCED_IN(31);
* @see u_isupper
* @see u_islower
* @see u_totitle
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_istitle(UChar32 c) __INTRODUCED_IN(31);
@@ -2904,7 +2906,7 @@ u_istitle(UChar32 c) __INTRODUCED_IN(31);
* @param c the code point to be tested
* @return true if the code point is a digit character according to Character.isDigit()
*
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_isdigit(UChar32 c) __INTRODUCED_IN(31);
@@ -2927,7 +2929,7 @@ u_isdigit(UChar32 c) __INTRODUCED_IN(31);
*
* @see u_isdigit
* @see u_isalnum
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_isalpha(UChar32 c) __INTRODUCED_IN(31);
@@ -2950,7 +2952,7 @@ u_isalpha(UChar32 c) __INTRODUCED_IN(31);
* @param c the code point to be tested
* @return true if the code point is an alphanumeric character according to Character.isLetterOrDigit()
*
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_isalnum(UChar32 c) __INTRODUCED_IN(31);
@@ -2975,7 +2977,7 @@ u_isalnum(UChar32 c) __INTRODUCED_IN(31);
* @param c the code point to be tested
* @return true if the code point is a hexadecimal digit
*
- * @stable ICU 2.6
+ * \xrefitem stable "Stable" "Stable List" ICU 2.6
*/
U_CAPI UBool U_EXPORT2
u_isxdigit(UChar32 c) __INTRODUCED_IN(31);
@@ -2993,7 +2995,7 @@ u_isxdigit(UChar32 c) __INTRODUCED_IN(31);
* @param c the code point to be tested
* @return true if the code point is a punctuation character
*
- * @stable ICU 2.6
+ * \xrefitem stable "Stable" "Stable List" ICU 2.6
*/
U_CAPI UBool U_EXPORT2
u_ispunct(UChar32 c) __INTRODUCED_IN(31);
@@ -3014,7 +3016,7 @@ u_ispunct(UChar32 c) __INTRODUCED_IN(31);
* @param c the code point to be tested
* @return true if the code point is a "graphic" character
*
- * @stable ICU 2.6
+ * \xrefitem stable "Stable" "Stable List" ICU 2.6
*/
U_CAPI UBool U_EXPORT2
u_isgraph(UChar32 c) __INTRODUCED_IN(31);
@@ -3044,7 +3046,7 @@ u_isgraph(UChar32 c) __INTRODUCED_IN(31);
* @param c the code point to be tested
* @return true if the code point is a "blank"
*
- * @stable ICU 2.6
+ * \xrefitem stable "Stable" "Stable List" ICU 2.6
*/
U_CAPI UBool U_EXPORT2
u_isblank(UChar32 c) __INTRODUCED_IN(31);
@@ -3071,7 +3073,7 @@ u_isblank(UChar32 c) __INTRODUCED_IN(31);
* @see u_isupper
* @see u_islower
* @see u_istitle
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_isdefined(UChar32 c) __INTRODUCED_IN(31);
@@ -3094,7 +3096,7 @@ u_isdefined(UChar32 c) __INTRODUCED_IN(31);
* @see u_isJavaSpaceChar
* @see u_isWhitespace
* @see u_isUWhiteSpace
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_isspace(UChar32 c) __INTRODUCED_IN(31);
@@ -3117,7 +3119,7 @@ u_isspace(UChar32 c) __INTRODUCED_IN(31);
* @see u_isspace
* @see u_isWhitespace
* @see u_isUWhiteSpace
- * @stable ICU 2.6
+ * \xrefitem stable "Stable" "Stable List" ICU 2.6
*/
U_CAPI UBool U_EXPORT2
u_isJavaSpaceChar(UChar32 c) __INTRODUCED_IN(31);
@@ -3159,7 +3161,7 @@ u_isJavaSpaceChar(UChar32 c) __INTRODUCED_IN(31);
* @see u_isspace
* @see u_isJavaSpaceChar
* @see u_isUWhiteSpace
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_isWhitespace(UChar32 c) __INTRODUCED_IN(31);
@@ -3185,7 +3187,7 @@ u_isWhitespace(UChar32 c) __INTRODUCED_IN(31);
*
* @see UCHAR_DEFAULT_IGNORABLE_CODE_POINT
* @see u_isprint
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_iscntrl(UChar32 c) __INTRODUCED_IN(31);
@@ -3202,7 +3204,7 @@ u_iscntrl(UChar32 c) __INTRODUCED_IN(31);
* @return true if the code point is an ISO control code
*
* @see u_iscntrl
- * @stable ICU 2.6
+ * \xrefitem stable "Stable" "Stable List" ICU 2.6
*/
U_CAPI UBool U_EXPORT2
u_isISOControl(UChar32 c) __INTRODUCED_IN(31);
@@ -3222,7 +3224,7 @@ u_isISOControl(UChar32 c) __INTRODUCED_IN(31);
*
* @see UCHAR_DEFAULT_IGNORABLE_CODE_POINT
* @see u_iscntrl
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_isprint(UChar32 c) __INTRODUCED_IN(31);
@@ -3244,7 +3246,7 @@ u_isprint(UChar32 c) __INTRODUCED_IN(31);
*
* @see u_isalpha
* @see u_isdigit
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_isbase(UChar32 c) __INTRODUCED_IN(31);
@@ -3265,7 +3267,7 @@ u_isbase(UChar32 c) __INTRODUCED_IN(31);
* @return the bidirectional category (UCharDirection) value
*
* @see UCharDirection
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UCharDirection U_EXPORT2
u_charDirection(UChar32 c) __INTRODUCED_IN(31);
@@ -3285,7 +3287,7 @@ u_charDirection(UChar32 c) __INTRODUCED_IN(31);
* @return true if the character has the Bidi_Mirrored property
*
* @see UCHAR_BIDI_MIRRORED
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_isMirrored(UChar32 c) __INTRODUCED_IN(31);
@@ -3309,7 +3311,7 @@ u_isMirrored(UChar32 c) __INTRODUCED_IN(31);
*
* @see UCHAR_BIDI_MIRRORED
* @see u_isMirrored
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UChar32 U_EXPORT2
u_charMirror(UChar32 c) __INTRODUCED_IN(31);
@@ -3330,7 +3332,7 @@ u_charMirror(UChar32 c) __INTRODUCED_IN(31);
* @see UCHAR_BIDI_PAIRED_BRACKET
* @see UCHAR_BIDI_PAIRED_BRACKET_TYPE
* @see u_charMirror
- * @stable ICU 52
+ * \xrefitem stable "Stable" "Stable List" ICU 52
*/
U_CAPI UChar32 U_EXPORT2
u_getBidiPairedBracket(UChar32 c) __INTRODUCED_IN(31);
@@ -3346,7 +3348,7 @@ u_getBidiPairedBracket(UChar32 c) __INTRODUCED_IN(31);
* @return the general category (UCharCategory) value
*
* @see UCharCategory
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int8_t U_EXPORT2
u_charType(UChar32 c) __INTRODUCED_IN(31);
@@ -3364,7 +3366,7 @@ u_charType(UChar32 c) __INTRODUCED_IN(31);
* @see u_charType
* @see UCharCategory
* @see U_GC_CN_MASK
- * @stable ICU 2.1
+ * \xrefitem stable "Stable" "Stable List" ICU 2.1
*/
#define U_GET_GC_MASK(c) U_MASK(u_charType(c))
@@ -3381,7 +3383,7 @@ u_charType(UChar32 c) __INTRODUCED_IN(31);
* @param type the general category for all code points in [start..limit[
* @return false to stop the enumeration
*
- * @stable ICU 2.1
+ * \xrefitem stable "Stable" "Stable List" ICU 2.1
* @see UCharCategory
* @see u_enumCharTypes
*/
@@ -3403,7 +3405,7 @@ UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCateg
* of code points with the same general category
* @param context an opaque pointer that is passed on to the callback function
*
- * @stable ICU 2.1
+ * \xrefitem stable "Stable" "Stable List" ICU 2.1
* @see UCharCategory
* @see UCharEnumTypeRange
*/
@@ -3419,7 +3421,7 @@ u_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context) __INTRODUCED
*
* @param c the code point of the character
* @return the combining class of the character
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI uint8_t U_EXPORT2
u_getCombiningClass(UChar32 c) __INTRODUCED_IN(31);
@@ -3449,7 +3451,7 @@ u_getCombiningClass(UChar32 c) __INTRODUCED_IN(31);
* or -1 if c is not a decimal digit character
*
* @see u_getNumericValue
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_charDigitValue(UChar32 c) __INTRODUCED_IN(31);
@@ -3488,7 +3490,7 @@ u_charDigitValue(UChar32 c) __INTRODUCED_IN(31);
* @see UCharNameChoice
* @see u_charFromName
* @see u_enumCharNames
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_charName(UChar32 code, UCharNameChoice nameChoice,
@@ -3519,7 +3521,7 @@ u_charName(UChar32 code, UCharNameChoice nameChoice,
* @see UCharNameChoice
* @see u_charName
* @see u_enumCharNames
- * @stable ICU 1.7
+ * \xrefitem stable "Stable" "Stable List" ICU 1.7
*/
U_CAPI UChar32 U_EXPORT2
u_charFromName(UCharNameChoice nameChoice,
@@ -3543,7 +3545,7 @@ u_charFromName(UCharNameChoice nameChoice,
*
* @see UCharNameChoice
* @see u_enumCharNames
- * @stable ICU 1.7
+ * \xrefitem stable "Stable" "Stable List" ICU 1.7
*/
typedef UBool U_CALLCONV UEnumCharNamesFn(void *context,
UChar32 code,
@@ -3570,7 +3572,7 @@ typedef UBool U_CALLCONV UEnumCharNamesFn(void *context,
* @see UEnumCharNamesFn
* @see u_charName
* @see u_charFromName
- * @stable ICU 1.7
+ * \xrefitem stable "Stable" "Stable List" ICU 1.7
*/
U_CAPI void U_EXPORT2
u_enumCharNames(UChar32 start, UChar32 limit,
@@ -3610,7 +3612,7 @@ u_enumCharNames(UChar32 start, UChar32 limit,
*
* @see UProperty
* @see UPropertyNameChoice
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
U_CAPI const char* U_EXPORT2
u_getPropertyName(UProperty property,
@@ -3635,7 +3637,7 @@ u_getPropertyName(UProperty property,
* does not match any property.
*
* @see UProperty
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
U_CAPI UProperty U_EXPORT2
u_getPropertyEnum(const char* alias) __INTRODUCED_IN(31);
@@ -3687,7 +3689,7 @@ u_getPropertyEnum(const char* alias) __INTRODUCED_IN(31);
*
* @see UProperty
* @see UPropertyNameChoice
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
U_CAPI const char* U_EXPORT2
u_getPropertyValueName(UProperty property,
@@ -3725,7 +3727,7 @@ u_getPropertyValueName(UProperty property,
* categories such as [:L:] to be represented.
*
* @see UProperty
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
U_CAPI int32_t U_EXPORT2
u_getPropertyValueEnum(UProperty property,
@@ -3748,7 +3750,7 @@ u_getPropertyValueEnum(UProperty property,
* @see UCHAR_ID_START
* @see u_isalpha
* @see u_isIDPart
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_isIDStart(UChar32 c) __INTRODUCED_IN(31);
@@ -3774,7 +3776,7 @@ u_isIDStart(UChar32 c) __INTRODUCED_IN(31);
* @see UCHAR_ID_CONTINUE
* @see u_isIDStart
* @see u_isIDIgnorable
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_isIDPart(UChar32 c) __INTRODUCED_IN(31);
@@ -3799,7 +3801,7 @@ u_isIDPart(UChar32 c) __INTRODUCED_IN(31);
* @see UCHAR_DEFAULT_IGNORABLE_CODE_POINT
* @see u_isIDStart
* @see u_isIDPart
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_isIDIgnorable(UChar32 c) __INTRODUCED_IN(31);
@@ -3820,7 +3822,7 @@ u_isIDIgnorable(UChar32 c) __INTRODUCED_IN(31);
* @see u_isJavaIDPart
* @see u_isalpha
* @see u_isIDStart
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_isJavaIDStart(UChar32 c) __INTRODUCED_IN(31);
@@ -3843,7 +3845,7 @@ u_isJavaIDStart(UChar32 c) __INTRODUCED_IN(31);
* @see u_isalpha
* @see u_isdigit
* @see u_isIDPart
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UBool U_EXPORT2
u_isJavaIDPart(UChar32 c) __INTRODUCED_IN(31);
@@ -3870,7 +3872,7 @@ u_isJavaIDPart(UChar32 c) __INTRODUCED_IN(31);
* @param c the code point to be mapped
* @return the Simple_Lowercase_Mapping of the code point, if any;
* otherwise the code point itself.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UChar32 U_EXPORT2
u_tolower(UChar32 c) __INTRODUCED_IN(31);
@@ -3897,7 +3899,7 @@ u_tolower(UChar32 c) __INTRODUCED_IN(31);
* @param c the code point to be mapped
* @return the Simple_Uppercase_Mapping of the code point, if any;
* otherwise the code point itself.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UChar32 U_EXPORT2
u_toupper(UChar32 c) __INTRODUCED_IN(31);
@@ -3924,7 +3926,7 @@ u_toupper(UChar32 c) __INTRODUCED_IN(31);
* @param c the code point to be mapped
* @return the Simple_Titlecase_Mapping of the code point, if any;
* otherwise the code point itself.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UChar32 U_EXPORT2
u_totitle(UChar32 c) __INTRODUCED_IN(31);
@@ -3951,7 +3953,7 @@ u_totitle(UChar32 c) __INTRODUCED_IN(31);
* @param options Either U_FOLD_CASE_DEFAULT or U_FOLD_CASE_EXCLUDE_SPECIAL_I
* @return the Simple_Case_Folding of the code point, if any;
* otherwise the code point itself.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UChar32 U_EXPORT2
u_foldCase(UChar32 c, uint32_t options) __INTRODUCED_IN(31);
@@ -3994,7 +3996,7 @@ u_foldCase(UChar32 c, uint32_t options) __INTRODUCED_IN(31);
* @see u_forDigit
* @see u_charDigitValue
* @see u_isdigit
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_digit(UChar32 ch, int8_t radix) __INTRODUCED_IN(31);
@@ -4027,7 +4029,7 @@ u_digit(UChar32 ch, int8_t radix) __INTRODUCED_IN(31);
* @see u_digit
* @see u_charDigitValue
* @see u_isdigit
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UChar32 U_EXPORT2
u_forDigit(int32_t digit, int8_t radix) __INTRODUCED_IN(31);
@@ -4046,7 +4048,7 @@ u_forDigit(int32_t digit, int8_t radix) __INTRODUCED_IN(31);
* @param c The code point.
* @param versionArray The Unicode version number array, to be filled in.
*
- * @stable ICU 2.1
+ * \xrefitem stable "Stable" "Stable List" ICU 2.1
*/
U_CAPI void U_EXPORT2
u_charAge(UChar32 c, UVersionInfo versionArray) __INTRODUCED_IN(31);
@@ -4062,7 +4064,7 @@ u_charAge(UChar32 c, UVersionInfo versionArray) __INTRODUCED_IN(31);
*
* @param versionArray an output array that will be filled in with
* the Unicode version number
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI void U_EXPORT2
u_getUnicodeVersion(UVersionInfo versionArray) __INTRODUCED_IN(31);
@@ -4079,3 +4081,5 @@ U_CDECL_END
#endif /*_UCHAR*/
/*eof*/
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/uconfig.h b/libicu/ndk_headers/unicode/uconfig.h
index 0fabff8b5..5739b4e23 100644
--- a/libicu/ndk_headers/unicode/uconfig.h
+++ b/libicu/ndk_headers/unicode/uconfig.h
@@ -55,14 +55,14 @@
* After building the ICU data library, you should rebuild the ICU
* libraries with these switches customized to your needs.
*
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
/**
* If this switch is defined, ICU will attempt to load a header file named "uconfig_local.h"
* prior to determining default settings for uconfig variables.
*
- * @internal ICU 4.0
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. ICU 4.0
*/
#if defined(UCONFIG_USE_LOCAL)
#include "uconfig_local.h"
@@ -73,7 +73,7 @@
* Determines whether to include debugging code.
* Automatically set on Windows, but most compilers do not have
* related predefined macros.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_DEBUG
/* Use the predefined value. */
@@ -90,7 +90,7 @@
/**
* Determines whether to enable auto cleanup of libraries.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef UCLN_NO_AUTO_CLEANUP
#define UCLN_NO_AUTO_CLEANUP 1
@@ -99,7 +99,7 @@
/**
* \def U_DISABLE_RENAMING
* Determines whether to disable renaming or not.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef U_DISABLE_RENAMING
#define U_DISABLE_RENAMING 0
@@ -111,7 +111,7 @@
* utypes.h includes those headers if this macro is defined to 0.
* Otherwise, each those headers must be included explicitly when using one of their macros.
* Defaults to 0 for backward compatibility, except inside ICU.
- * @stable ICU 49
+ * \xrefitem stable "Stable" "Stable List" ICU 49
*/
#ifdef U_NO_DEFAULT_INCLUDE_UTF_HEADERS
/* Use the predefined value. */
@@ -134,7 +134,7 @@
* For example, on Windows, this allows the ICU DLL to be used by
* applications that statically link the C Runtime library.
*
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
#ifndef U_OVERRIDE_CXX_ALLOCATION
#define U_OVERRIDE_CXX_ALLOCATION 1
@@ -143,7 +143,7 @@
/**
* \def U_ENABLE_TRACING
* Determines whether to enable tracing.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef U_ENABLE_TRACING
#define U_ENABLE_TRACING 0
@@ -152,7 +152,7 @@
/**
* \def UCONFIG_ENABLE_PLUGINS
* Determines whether to enable ICU plugins.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef UCONFIG_ENABLE_PLUGINS
#define UCONFIG_ENABLE_PLUGINS 0
@@ -161,7 +161,7 @@
/**
* \def U_ENABLE_DYLOAD
* Whether to enable Dynamic loading in ICU.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef U_ENABLE_DYLOAD
#define U_ENABLE_DYLOAD 1
@@ -170,7 +170,7 @@
/**
* \def U_CHECK_DYLOAD
* Whether to test Dynamic loading as an OS capability.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef U_CHECK_DYLOAD
#define U_CHECK_DYLOAD 1
@@ -179,7 +179,7 @@
/**
* \def U_DEFAULT_SHOW_DRAFT
* Do we allow ICU users to use the draft APIs by default?
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef U_DEFAULT_SHOW_DRAFT
#define U_DEFAULT_SHOW_DRAFT 1
@@ -192,7 +192,7 @@
/**
* \def U_HAVE_LIB_SUFFIX
* 1 if a custom library suffix is set.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_HAVE_LIB_SUFFIX
/* Use the predefined value. */
@@ -203,7 +203,7 @@
/**
* \def U_LIB_SUFFIX_C_NAME_STRING
* Defines the library suffix as a string with C syntax.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_LIB_SUFFIX_C_NAME_STRING
/* Use the predefined value. */
@@ -225,7 +225,7 @@
* If you want "only collation" and do not build for EBCDIC,
* then you can define UCONFIG_NO_CONVERSION or UCONFIG_NO_LEGACY_CONVERSION to 1 as well.
*
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#ifndef UCONFIG_ONLY_COLLATION
# define UCONFIG_ONLY_COLLATION 0
@@ -263,7 +263,7 @@
* File access cannot be turned off for the icuio library or for the ICU
* test suites and ICU tools.
*
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
#ifndef UCONFIG_NO_FILE_IO
# define UCONFIG_NO_FILE_IO 0
@@ -282,7 +282,7 @@
* You may want to use this together with U_CHARSET_IS_UTF8 defined to 1
* in utypes.h if char* strings in your environment are always in UTF-8.
*
- * @stable ICU 3.2
+ * \xrefitem stable "Stable" "Stable List" ICU 3.2
* @see U_CHARSET_IS_UTF8
*/
#ifndef UCONFIG_NO_CONVERSION
@@ -302,7 +302,7 @@
* This is not possible on EBCDIC platforms
* because they need ibm-37 or ibm-1047 default converters.
*
- * @stable ICU 55
+ * \xrefitem stable "Stable" "Stable List" ICU 55
*/
#ifndef UCONFIG_ONLY_HTML_CONVERSION
# define UCONFIG_ONLY_HTML_CONVERSION 0
@@ -318,7 +318,7 @@
* Turning off legacy conversion is not possible on EBCDIC platforms
* because they need ibm-37 or ibm-1047 default converters.
*
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#ifndef UCONFIG_NO_LEGACY_CONVERSION
# define UCONFIG_NO_LEGACY_CONVERSION 0
@@ -330,7 +330,7 @@
* It implies turning off several other services as well, for example
* collation and IDNA.
*
- * @stable ICU 2.6
+ * \xrefitem stable "Stable" "Stable List" ICU 2.6
*/
#ifndef UCONFIG_NO_NORMALIZATION
# define UCONFIG_NO_NORMALIZATION 0
@@ -355,7 +355,7 @@
* \def UCONFIG_NO_BREAK_ITERATION
* This switch turns off break iteration.
*
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#ifndef UCONFIG_NO_BREAK_ITERATION
# define UCONFIG_NO_BREAK_ITERATION 0
@@ -365,7 +365,7 @@
* \def UCONFIG_NO_IDNA
* This switch turns off IDNA.
*
- * @stable ICU 2.6
+ * \xrefitem stable "Stable" "Stable List" ICU 2.6
*/
#ifndef UCONFIG_NO_IDNA
# define UCONFIG_NO_IDNA 0
@@ -376,7 +376,7 @@
* Determines the default UMessagePatternApostropheMode.
* See the documentation for that enum.
*
- * @stable ICU 4.8
+ * \xrefitem stable "Stable" "Stable List" ICU 4.8
*/
#ifndef UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE
# define UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE UMSGPAT_APOS_DOUBLE_OPTIONAL
@@ -388,7 +388,7 @@
* if the Windows platform APIs are used for LCID<->Locale Name conversions.
* Otherwise, only the built-in ICU tables are used.
*
- * @internal ICU 64
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. ICU 64
*/
#ifndef UCONFIG_USE_WINDOWS_LCID_MAPPING_API
# define UCONFIG_USE_WINDOWS_LCID_MAPPING_API 1
@@ -400,7 +400,7 @@
* \def UCONFIG_NO_COLLATION
* This switch turns off collation and collation-based string search.
*
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#ifndef UCONFIG_NO_COLLATION
# define UCONFIG_NO_COLLATION 0
@@ -410,7 +410,7 @@
* \def UCONFIG_NO_FORMATTING
* This switch turns off formatting and calendar/timezone services.
*
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#ifndef UCONFIG_NO_FORMATTING
# define UCONFIG_NO_FORMATTING 0
@@ -420,7 +420,7 @@
* \def UCONFIG_NO_TRANSLITERATION
* This switch turns off transliteration.
*
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#ifndef UCONFIG_NO_TRANSLITERATION
# define UCONFIG_NO_TRANSLITERATION 0
@@ -430,7 +430,7 @@
* \def UCONFIG_NO_REGULAR_EXPRESSIONS
* This switch turns off regular expressions.
*
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#ifndef UCONFIG_NO_REGULAR_EXPRESSIONS
# define UCONFIG_NO_REGULAR_EXPRESSIONS 0
@@ -440,7 +440,7 @@
* \def UCONFIG_NO_SERVICE
* This switch turns off service registration.
*
- * @stable ICU 3.2
+ * \xrefitem stable "Stable" "Stable List" ICU 3.2
*/
#ifndef UCONFIG_NO_SERVICE
# define UCONFIG_NO_SERVICE 0
@@ -450,7 +450,7 @@
* \def UCONFIG_HAVE_PARSEALLINPUT
* This switch turns on the "parse all input" attribute. Binary incompatible.
*
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef UCONFIG_HAVE_PARSEALLINPUT
# define UCONFIG_HAVE_PARSEALLINPUT 1
@@ -460,7 +460,7 @@
* \def UCONFIG_NO_FILTERED_BREAK_ITERATION
* This switch turns off filtered break iteration code.
*
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef UCONFIG_NO_FILTERED_BREAK_ITERATION
# define UCONFIG_NO_FILTERED_BREAK_ITERATION 0
diff --git a/libicu/ndk_headers/unicode/ucpmap.h b/libicu/ndk_headers/unicode/ucpmap.h
index 0e5b5a46a..f2ab1caaa 100644
--- a/libicu/ndk_headers/unicode/ucpmap.h
+++ b/libicu/ndk_headers/unicode/ucpmap.h
@@ -12,6 +12,8 @@
U_CDECL_BEGIN
/**
+ * @addtogroup ICU4C
+ * @{
* \file
*
* This file defines an abstract map from Unicode code points to integer values.
@@ -26,7 +28,7 @@ U_CDECL_BEGIN
*
* @see UCPTrie
* @see UMutableCPTrie
- * @stable ICU 63
+ * \xrefitem stable "Stable" "Stable List" ICU 63
*/
typedef struct UCPMap UCPMap;
@@ -37,13 +39,13 @@ typedef struct UCPMap UCPMap;
* @see ucpmap_getRange
* @see ucptrie_getRange
* @see umutablecptrie_getRange
- * @stable ICU 63
+ * \xrefitem stable "Stable" "Stable List" ICU 63
*/
enum UCPMapRangeOption {
/**
* ucpmap_getRange() enumerates all same-value ranges as stored in the map.
* Most users should use this option.
- * @stable ICU 63
+ * \xrefitem stable "Stable" "Stable List" ICU 63
*/
UCPMAP_RANGE_NORMAL,
/**
@@ -59,7 +61,7 @@ enum UCPMapRangeOption {
* special values optimized for UTF-16 string processing
* or for special error behavior for unpaired surrogates,
* but those values are not to be associated with the lead surrogate code *points*.
- * @stable ICU 63
+ * \xrefitem stable "Stable" "Stable List" ICU 63
*/
UCPMAP_RANGE_FIXED_LEAD_SURROGATES,
/**
@@ -75,7 +77,7 @@ enum UCPMapRangeOption {
* special values optimized for UTF-16 string processing
* or for special error behavior for unpaired surrogates,
* but those values are not to be associated with the lead surrogate code *points*.
- * @stable ICU 63
+ * \xrefitem stable "Stable" "Stable List" ICU 63
*/
UCPMAP_RANGE_FIXED_ALL_SURROGATES
};
@@ -97,7 +99,7 @@ typedef enum UCPMapRangeOption UCPMapRangeOption;
* @param context an opaque pointer, as passed into the getRange function
* @param value a value from the map
* @return the modified value
- * @stable ICU 63
+ * \xrefitem stable "Stable" "Stable List" ICU 63
*/
typedef uint32_t U_CALLCONV
UCPMapValueFilter(const void *context, uint32_t value);
@@ -107,3 +109,5 @@ UCPMapValueFilter(const void *context, uint32_t value);
U_CDECL_END
#endif
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/udisplaycontext.h b/libicu/ndk_headers/unicode/udisplaycontext.h
index 6e1421798..5210f4ef9 100644
--- a/libicu/ndk_headers/unicode/udisplaycontext.h
+++ b/libicu/ndk_headers/unicode/udisplaycontext.h
@@ -15,6 +15,8 @@
#if !UCONFIG_NO_FORMATTING
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C API: Display context types (enum values)
*/
@@ -22,44 +24,44 @@
/**
* Display context types, for getting values of a particular setting.
* Note, the specific numeric values are internal and may change.
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
enum UDisplayContextType {
/**
* Type to retrieve the dialect handling setting, e.g.
* UDISPCTX_STANDARD_NAMES or UDISPCTX_DIALECT_NAMES.
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
UDISPCTX_TYPE_DIALECT_HANDLING = 0,
/**
* Type to retrieve the capitalization context setting, e.g.
* UDISPCTX_CAPITALIZATION_NONE, UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE,
* UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE, etc.
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
UDISPCTX_TYPE_CAPITALIZATION = 1,
/**
* Type to retrieve the display length setting, e.g.
* UDISPCTX_LENGTH_FULL, UDISPCTX_LENGTH_SHORT.
- * @stable ICU 54
+ * \xrefitem stable "Stable" "Stable List" ICU 54
*/
UDISPCTX_TYPE_DISPLAY_LENGTH = 2,
/**
* Type to retrieve the substitute handling setting, e.g.
* UDISPCTX_SUBSTITUTE, UDISPCTX_NO_SUBSTITUTE.
- * @stable ICU 58
+ * \xrefitem stable "Stable" "Stable List" ICU 58
*/
UDISPCTX_TYPE_SUBSTITUTE_HANDLING = 3
};
/**
-* @stable ICU 51
+* \xrefitem stable "Stable" "Stable List" ICU 51
*/
typedef enum UDisplayContextType UDisplayContextType;
/**
* Display context settings.
* Note, the specific numeric values are internal and may change.
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
enum UDisplayContext {
/**
@@ -72,14 +74,14 @@ enum UDisplayContext {
* A possible setting for DIALECT_HANDLING:
* use standard names when generating a locale name,
* e.g. en_GB displays as 'English (United Kingdom)'.
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
UDISPCTX_STANDARD_NAMES = (UDISPCTX_TYPE_DIALECT_HANDLING<<8) + 0,
/**
* A possible setting for DIALECT_HANDLING:
* use dialect names, when generating a locale name,
* e.g. en_GB displays as 'British English'.
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
UDISPCTX_DIALECT_NAMES = (UDISPCTX_TYPE_DIALECT_HANDLING<<8) + 1,
/**
@@ -93,32 +95,32 @@ enum UDisplayContext {
*/
/**
* The capitalization context to be used is unknown (this is the default value).
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
UDISPCTX_CAPITALIZATION_NONE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 0,
/**
* The capitalization context if a date, date symbol or display name is to be
* formatted with capitalization appropriate for the middle of a sentence.
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 1,
/**
* The capitalization context if a date, date symbol or display name is to be
* formatted with capitalization appropriate for the beginning of a sentence.
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 2,
/**
* The capitalization context if a date, date symbol or display name is to be
* formatted with capitalization appropriate for a user-interface list or menu item.
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 3,
/**
* The capitalization context if a date, date symbol or display name is to be
* formatted with capitalization appropriate for stand-alone usage such as an
* isolated name on a calendar page.
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
UDISPCTX_CAPITALIZATION_FOR_STANDALONE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 4,
/**
@@ -131,14 +133,14 @@ enum UDisplayContext {
* A possible setting for DISPLAY_LENGTH:
* use full names when generating a locale name,
* e.g. "United States" for US.
- * @stable ICU 54
+ * \xrefitem stable "Stable" "Stable List" ICU 54
*/
UDISPCTX_LENGTH_FULL = (UDISPCTX_TYPE_DISPLAY_LENGTH<<8) + 0,
/**
* A possible setting for DISPLAY_LENGTH:
* use short names when generating a locale name,
* e.g. "U.S." for US.
- * @stable ICU 54
+ * \xrefitem stable "Stable" "Stable List" ICU 54
*/
UDISPCTX_LENGTH_SHORT = (UDISPCTX_TYPE_DISPLAY_LENGTH<<8) + 1,
/**
@@ -151,23 +153,25 @@ enum UDisplayContext {
* A possible setting for SUBSTITUTE_HANDLING:
* Returns a fallback value (e.g., the input code) when no data is available.
* This is the default value.
- * @stable ICU 58
+ * \xrefitem stable "Stable" "Stable List" ICU 58
*/
UDISPCTX_SUBSTITUTE = (UDISPCTX_TYPE_SUBSTITUTE_HANDLING<<8) + 0,
/**
* A possible setting for SUBSTITUTE_HANDLING:
* Returns a null value with error code set to U_ILLEGAL_ARGUMENT_ERROR when no
* data is available.
- * @stable ICU 58
+ * \xrefitem stable "Stable" "Stable List" ICU 58
*/
UDISPCTX_NO_SUBSTITUTE = (UDISPCTX_TYPE_SUBSTITUTE_HANDLING<<8) + 1
};
/**
-* @stable ICU 51
+* \xrefitem stable "Stable" "Stable List" ICU 51
*/
typedef enum UDisplayContext UDisplayContext;
#endif /* #if !UCONFIG_NO_FORMATTING */
#endif
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/uenum.h b/libicu/ndk_headers/unicode/uenum.h
index e47a1c4e5..dd96db0fe 100644
--- a/libicu/ndk_headers/unicode/uenum.h
+++ b/libicu/ndk_headers/unicode/uenum.h
@@ -30,6 +30,8 @@ U_NAMESPACE_END
#endif // U_SHOW_CPLUSPLUS_API
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C API: String Enumeration
*/
@@ -37,10 +39,10 @@ U_NAMESPACE_END
/**
* An enumeration object.
* For usage in C programs.
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
struct UEnumeration;
-/** structure representing an enumeration object instance @stable ICU 2.2 */
+/** structure representing an enumeration object instance \xrefitem stable "Stable" "Stable List" ICU 2.2 */
typedef struct UEnumeration UEnumeration;
/**
@@ -48,7 +50,7 @@ typedef struct UEnumeration UEnumeration;
* does nothing. After this call, any char* or UChar* pointer
* returned by uenum_unext() or uenum_next() is invalid.
* @param en UEnumeration structure pointer
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
U_CAPI void U_EXPORT2
uenum_close(UEnumeration* en) __INTRODUCED_IN(31);
@@ -66,7 +68,7 @@ U_NAMESPACE_BEGIN
*
* @see LocalPointerBase
* @see LocalPointer
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close);
@@ -86,7 +88,7 @@ U_NAMESPACE_END
* @param status error code, can be U_ENUM_OUT_OF_SYNC_ERROR if the
* iterator is out of sync.
* @return number of elements in the iterator
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
U_CAPI int32_t U_EXPORT2
uenum_count(UEnumeration* en, UErrorCode* status) __INTRODUCED_IN(31);
@@ -112,7 +114,7 @@ uenum_count(UEnumeration* en, UErrorCode* status) __INTRODUCED_IN(31);
* until the next call to any uenum_... method, including
* uenum_next() or uenum_unext(). When all strings have been
* traversed, returns NULL.
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
U_CAPI const UChar* U_EXPORT2
uenum_unext(UEnumeration* en,
@@ -147,7 +149,7 @@ uenum_unext(UEnumeration* en,
* until the next call to any uenum_... method, including
* uenum_next() or uenum_unext(). When all strings have been
* traversed, returns NULL.
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
U_CAPI const char* U_EXPORT2
uenum_next(UEnumeration* en,
@@ -163,7 +165,7 @@ uenum_next(UEnumeration* en,
* @param en the iterator object
* @param status the error code, set to U_ENUM_OUT_OF_SYNC_ERROR if
* the iterator is out of sync with its service.
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
U_CAPI void U_EXPORT2
uenum_reset(UEnumeration* en, UErrorCode* status) __INTRODUCED_IN(31);
@@ -185,7 +187,7 @@ uenum_reset(UEnumeration* en, UErrorCode* status) __INTRODUCED_IN(31);
* @param ec error code
* @return the new UEnumeration object. Caller is responsible for calling uenum_close to free memory.
* @see uenum_close
- * @stable ICU 50
+ * \xrefitem stable "Stable" "Stable List" ICU 50
*/
U_CAPI UEnumeration* U_EXPORT2
uenum_openUCharStringsEnumeration(const UChar* const strings[], int32_t count,
@@ -202,7 +204,7 @@ uenum_openUCharStringsEnumeration(const UChar* const strings[], int32_t count,
* @param ec error code
* @return the new UEnumeration object. Caller is responsible for calling uenum_close to free memory
* @see uenum_close
- * @stable ICU 50
+ * \xrefitem stable "Stable" "Stable List" ICU 50
*/
U_CAPI UEnumeration* U_EXPORT2
uenum_openCharStringsEnumeration(const char* const strings[], int32_t count,
@@ -211,3 +213,5 @@ uenum_openCharStringsEnumeration(const char* const strings[], int32_t count,
#endif
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/uldnames.h b/libicu/ndk_headers/unicode/uldnames.h
index d8a555744..c33df5b6c 100644
--- a/libicu/ndk_headers/unicode/uldnames.h
+++ b/libicu/ndk_headers/unicode/uldnames.h
@@ -11,6 +11,8 @@
#define __ULDNAMES_H__
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C API: Provides display names of Locale ids and their components.
*/
@@ -25,32 +27,32 @@
/**
* Enum used in LocaleDisplayNames::createInstance.
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
typedef enum {
/**
* Use standard names when generating a locale name,
* e.g. en_GB displays as 'English (United Kingdom)'.
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
ULDN_STANDARD_NAMES = 0,
/**
* Use dialect names, when generating a locale name,
* e.g. en_GB displays as 'British English'.
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
ULDN_DIALECT_NAMES
} UDialectHandling;
/**
* Opaque C service object type for the locale display names API
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
struct ULocaleDisplayNames;
/**
* C typedef for struct ULocaleDisplayNames.
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
typedef struct ULocaleDisplayNames ULocaleDisplayNames;
@@ -66,7 +68,7 @@ typedef struct ULocaleDisplayNames ULocaleDisplayNames;
* @param dialectHandling how to select names for locales
* @return a ULocaleDisplayNames instance
* @param pErrorCode the status code
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI ULocaleDisplayNames * U_EXPORT2
uldn_open(const char * locale,
@@ -78,7 +80,7 @@ uldn_open(const char * locale,
/**
* Closes a ULocaleDisplayNames instance obtained from uldn_open().
* @param ldn the ULocaleDisplayNames instance to be closed
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI void U_EXPORT2
uldn_close(ULocaleDisplayNames *ldn) __INTRODUCED_IN(31);
@@ -96,7 +98,7 @@ U_NAMESPACE_BEGIN
*
* @see LocalPointerBase
* @see LocalPointer
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_DEFINE_LOCAL_OPEN_POINTER(LocalULocaleDisplayNamesPointer, ULocaleDisplayNames, uldn_close);
@@ -111,7 +113,7 @@ U_NAMESPACE_END
* not necessarily the same locale passed to {@link #uldn_open}.
* @param ldn the LocaleDisplayNames instance
* @return the display locale
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI const char * U_EXPORT2
uldn_getLocale(const ULocaleDisplayNames *ldn) __INTRODUCED_IN(31);
@@ -122,7 +124,7 @@ uldn_getLocale(const ULocaleDisplayNames *ldn) __INTRODUCED_IN(31);
* Returns the dialect handling used in the display names.
* @param ldn the LocaleDisplayNames instance
* @return the dialect handling enum
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI UDialectHandling U_EXPORT2
uldn_getDialectHandling(const ULocaleDisplayNames *ldn) __INTRODUCED_IN(31);
@@ -140,7 +142,7 @@ uldn_getDialectHandling(const ULocaleDisplayNames *ldn) __INTRODUCED_IN(31);
* @param pErrorCode the status code
* @return the actual buffer size needed for the display name. If it's
* greater than maxResultSize, the returned name will be truncated.
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI int32_t U_EXPORT2
uldn_localeDisplayName(const ULocaleDisplayNames *ldn,
@@ -162,7 +164,7 @@ uldn_localeDisplayName(const ULocaleDisplayNames *ldn,
* @param pErrorCode the status code
* @return the actual buffer size needed for the display name. If it's
* greater than maxResultSize, the returned name will be truncated.
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI int32_t U_EXPORT2
uldn_languageDisplayName(const ULocaleDisplayNames *ldn,
@@ -182,7 +184,7 @@ uldn_languageDisplayName(const ULocaleDisplayNames *ldn,
* @param pErrorCode the status code
* @return the actual buffer size needed for the display name. If it's
* greater than maxResultSize, the returned name will be truncated.
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI int32_t U_EXPORT2
uldn_scriptDisplayName(const ULocaleDisplayNames *ldn,
@@ -202,7 +204,7 @@ uldn_scriptDisplayName(const ULocaleDisplayNames *ldn,
* @param pErrorCode the status code
* @return the actual buffer size needed for the display name. If it's
* greater than maxResultSize, the returned name will be truncated.
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI int32_t U_EXPORT2
uldn_scriptCodeDisplayName(const ULocaleDisplayNames *ldn,
@@ -222,7 +224,7 @@ uldn_scriptCodeDisplayName(const ULocaleDisplayNames *ldn,
* @param pErrorCode the status code
* @return the actual buffer size needed for the display name. If it's
* greater than maxResultSize, the returned name will be truncated.
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI int32_t U_EXPORT2
uldn_regionDisplayName(const ULocaleDisplayNames *ldn,
@@ -242,7 +244,7 @@ uldn_regionDisplayName(const ULocaleDisplayNames *ldn,
* @param pErrorCode the status code
* @return the actual buffer size needed for the display name. If it's
* greater than maxResultSize, the returned name will be truncated.
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI int32_t U_EXPORT2
uldn_variantDisplayName(const ULocaleDisplayNames *ldn,
@@ -262,7 +264,7 @@ uldn_variantDisplayName(const ULocaleDisplayNames *ldn,
* @param pErrorCode the status code
* @return the actual buffer size needed for the display name. If it's
* greater than maxResultSize, the returned name will be truncated.
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI int32_t U_EXPORT2
uldn_keyDisplayName(const ULocaleDisplayNames *ldn,
@@ -283,7 +285,7 @@ uldn_keyDisplayName(const ULocaleDisplayNames *ldn,
* @param pErrorCode the status code
* @return the actual buffer size needed for the display name. If it's
* greater than maxResultSize, the returned name will be truncated.
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI int32_t U_EXPORT2
uldn_keyValueDisplayName(const ULocaleDisplayNames *ldn,
@@ -307,7 +309,7 @@ uldn_keyValueDisplayName(const ULocaleDisplayNames *ldn,
* a failure status, the function will do nothing; otherwise this will be
* updated with any new status from the function.
* @return a ULocaleDisplayNames instance
-* @stable ICU 51
+* \xrefitem stable "Stable" "Stable List" ICU 51
*/
U_CAPI ULocaleDisplayNames * U_EXPORT2
uldn_openForContext(const char * locale, UDisplayContext *contexts,
@@ -323,7 +325,7 @@ uldn_openForContext(const char * locale, UDisplayContext *contexts,
* a failure status, the function will do nothing; otherwise this will be
* updated with any new status from the function.
* @return the UDisplayContextValue for the specified type.
-* @stable ICU 51
+* \xrefitem stable "Stable" "Stable List" ICU 51
*/
U_CAPI UDisplayContext U_EXPORT2
uldn_getContext(const ULocaleDisplayNames *ldn, UDisplayContextType type,
@@ -333,3 +335,5 @@ uldn_getContext(const ULocaleDisplayNames *ldn, UDisplayContextType type,
#endif /* !UCONFIG_NO_FORMATTING */
#endif /* __ULDNAMES_H__ */
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/uloc.h b/libicu/ndk_headers/unicode/uloc.h
index d0e9bacb3..1f7be48a6 100644
--- a/libicu/ndk_headers/unicode/uloc.h
+++ b/libicu/ndk_headers/unicode/uloc.h
@@ -27,6 +27,8 @@
#include "unicode/uenum.h"
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C API: Locale
*
@@ -199,125 +201,125 @@
* @see UResourceBundle
*/
-/** Useful constant for this language. @stable ICU 2.0 */
+/** Useful constant for this language. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_CHINESE "zh"
-/** Useful constant for this language. @stable ICU 2.0 */
+/** Useful constant for this language. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_ENGLISH "en"
-/** Useful constant for this language. @stable ICU 2.0 */
+/** Useful constant for this language. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_FRENCH "fr"
-/** Useful constant for this language. @stable ICU 2.0 */
+/** Useful constant for this language. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_GERMAN "de"
-/** Useful constant for this language. @stable ICU 2.0 */
+/** Useful constant for this language. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_ITALIAN "it"
-/** Useful constant for this language. @stable ICU 2.0 */
+/** Useful constant for this language. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_JAPANESE "ja"
-/** Useful constant for this language. @stable ICU 2.0 */
+/** Useful constant for this language. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_KOREAN "ko"
-/** Useful constant for this language. @stable ICU 2.0 */
+/** Useful constant for this language. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_SIMPLIFIED_CHINESE "zh_CN"
-/** Useful constant for this language. @stable ICU 2.0 */
+/** Useful constant for this language. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_TRADITIONAL_CHINESE "zh_TW"
-/** Useful constant for this country/region. @stable ICU 2.0 */
+/** Useful constant for this country/region. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_CANADA "en_CA"
-/** Useful constant for this country/region. @stable ICU 2.0 */
+/** Useful constant for this country/region. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_CANADA_FRENCH "fr_CA"
-/** Useful constant for this country/region. @stable ICU 2.0 */
+/** Useful constant for this country/region. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_CHINA "zh_CN"
-/** Useful constant for this country/region. @stable ICU 2.0 */
+/** Useful constant for this country/region. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_PRC "zh_CN"
-/** Useful constant for this country/region. @stable ICU 2.0 */
+/** Useful constant for this country/region. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_FRANCE "fr_FR"
-/** Useful constant for this country/region. @stable ICU 2.0 */
+/** Useful constant for this country/region. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_GERMANY "de_DE"
-/** Useful constant for this country/region. @stable ICU 2.0 */
+/** Useful constant for this country/region. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_ITALY "it_IT"
-/** Useful constant for this country/region. @stable ICU 2.0 */
+/** Useful constant for this country/region. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_JAPAN "ja_JP"
-/** Useful constant for this country/region. @stable ICU 2.0 */
+/** Useful constant for this country/region. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_KOREA "ko_KR"
-/** Useful constant for this country/region. @stable ICU 2.0 */
+/** Useful constant for this country/region. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_TAIWAN "zh_TW"
-/** Useful constant for this country/region. @stable ICU 2.0 */
+/** Useful constant for this country/region. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_UK "en_GB"
-/** Useful constant for this country/region. @stable ICU 2.0 */
+/** Useful constant for this country/region. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define ULOC_US "en_US"
/**
* Useful constant for the maximum size of the language part of a locale ID.
* (including the terminating NULL).
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define ULOC_LANG_CAPACITY 12
/**
* Useful constant for the maximum size of the country part of a locale ID
* (including the terminating NULL).
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define ULOC_COUNTRY_CAPACITY 4
/**
* Useful constant for the maximum size of the whole locale ID
* (including the terminating NULL and all keywords).
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define ULOC_FULLNAME_CAPACITY 157
/**
* Useful constant for the maximum size of the script part of a locale ID
* (including the terminating NULL).
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
#define ULOC_SCRIPT_CAPACITY 6
/**
* Useful constant for the maximum size of keywords in a locale
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
#define ULOC_KEYWORDS_CAPACITY 96
/**
* Useful constant for the maximum total size of keywords and their values in a locale
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
#define ULOC_KEYWORD_AND_VALUES_CAPACITY 100
/**
* Invariant character separating keywords from the locale string
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
#define ULOC_KEYWORD_SEPARATOR '@'
/**
* Unicode code point for '@' separating keywords from the locale string.
* @see ULOC_KEYWORD_SEPARATOR
- * @stable ICU 4.6
+ * \xrefitem stable "Stable" "Stable List" ICU 4.6
*/
#define ULOC_KEYWORD_SEPARATOR_UNICODE 0x40
/**
* Invariant character for assigning value to a keyword
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
#define ULOC_KEYWORD_ASSIGN '='
/**
* Unicode code point for '=' for assigning value to a keyword.
* @see ULOC_KEYWORD_ASSIGN
- * @stable ICU 4.6
+ * \xrefitem stable "Stable" "Stable List" ICU 4.6
*/
#define ULOC_KEYWORD_ASSIGN_UNICODE 0x3D
/**
* Invariant character separating keywords
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
#define ULOC_KEYWORD_ITEM_SEPARATOR ';'
/**
* Unicode code point for ';' separating keywords
* @see ULOC_KEYWORD_ITEM_SEPARATOR
- * @stable ICU 4.6
+ * \xrefitem stable "Stable" "Stable List" ICU 4.6
*/
#define ULOC_KEYWORD_ITEM_SEPARATOR_UNICODE 0x3B
@@ -333,27 +335,27 @@
* from the UCA)
* The locale is considered supported by ICU if there is a core ICU bundle
* for that locale (although it may be empty).
- * @stable ICU 2.1
+ * \xrefitem stable "Stable" "Stable List" ICU 2.1
*/
typedef enum {
/** This is locale the data actually comes from
- * @stable ICU 2.1
+ * \xrefitem stable "Stable" "Stable List" ICU 2.1
*/
ULOC_ACTUAL_LOCALE = 0,
/** This is the most specific locale supported by ICU
- * @stable ICU 2.1
+ * \xrefitem stable "Stable" "Stable List" ICU 2.1
*/
ULOC_VALID_LOCALE = 1,
#ifndef U_HIDE_DEPRECATED_API
/** This is the requested locale
- * @deprecated ICU 2.8
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.8
*/
ULOC_REQUESTED_LOCALE = 2,
/**
* One more than the highest normal ULocDataLocaleType value.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
ULOC_DATA_LOCALE_TYPE_LIMIT = 3
#endif // U_HIDE_DEPRECATED_API
@@ -371,8 +373,8 @@ typedef enum {
* java.util.Locale#setDefault in java or by reverse JNI.
*
* @return the ICU default locale
- * @system
- * @stable ICU 2.0
+ * \xrefitem system "System" "System List" Do not use unless you know what you are doing.
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI const char* U_EXPORT2
uloc_getDefault(void) __INTRODUCED_IN(31);
@@ -392,7 +394,7 @@ uloc_getDefault(void) __INTRODUCED_IN(31);
* @param err error information if retrieving the language code failed
* @return the actual buffer size needed for the language code. If it's greater
* than languageCapacity, the returned language code will be truncated.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
uloc_getLanguage(const char* localeID,
@@ -412,7 +414,7 @@ uloc_getLanguage(const char* localeID,
* @param err error information if retrieving the language code failed
* @return the actual buffer size needed for the language code. If it's greater
* than scriptCapacity, the returned language code will be truncated.
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
U_CAPI int32_t U_EXPORT2
uloc_getScript(const char* localeID,
@@ -432,7 +434,7 @@ uloc_getScript(const char* localeID,
* @param err error information if retrieving the country code failed
* @return the actual buffer size needed for the country code. If it's greater
* than countryCapacity, the returned country code will be truncated.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
uloc_getCountry(const char* localeID,
@@ -452,7 +454,7 @@ uloc_getCountry(const char* localeID,
* @param err error information if retrieving the variant code failed
* @return the actual buffer size needed for the variant code. If it's greater
* than variantCapacity, the returned variant code will be truncated.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
uloc_getVariant(const char* localeID,
@@ -477,7 +479,7 @@ uloc_getVariant(const char* localeID,
* @param err error information if retrieving the full name failed
* @return the actual buffer size needed for the full name. If it's greater
* than nameCapacity, the returned full name will be truncated.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
uloc_getName(const char* localeID,
@@ -502,7 +504,7 @@ uloc_getName(const char* localeID,
* @param err error information if retrieving the full name failed
* @return the actual buffer size needed for the full name. If it's greater
* than nameCapacity, the returned full name will be truncated.
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
U_CAPI int32_t U_EXPORT2
uloc_canonicalize(const char* localeID,
@@ -517,7 +519,7 @@ uloc_canonicalize(const char* localeID,
*
* @param localeID the locale to get the ISO language code with
* @return language the ISO language code for localeID
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI const char* U_EXPORT2
uloc_getISO3Language(const char* localeID) __INTRODUCED_IN(31);
@@ -530,7 +532,7 @@ uloc_getISO3Language(const char* localeID) __INTRODUCED_IN(31);
*
* @param localeID the locale to get the ISO country code with
* @return country the ISO country code for localeID
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI const char* U_EXPORT2
uloc_getISO3Country(const char* localeID) __INTRODUCED_IN(31);
@@ -558,7 +560,7 @@ uloc_getISO3Country(const char* localeID) __INTRODUCED_IN(31);
* @return the actual buffer size needed for the displayable language code. If
* it's greater than languageCapacity, the returned language
* code will be truncated.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
uloc_getDisplayLanguage(const char* locale,
@@ -589,7 +591,7 @@ uloc_getDisplayLanguage(const char* locale,
* @return the actual buffer size needed for the displayable script code. If
* it's greater than scriptCapacity, the returned displayable
* script code will be truncated.
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
U_CAPI int32_t U_EXPORT2
uloc_getDisplayScript(const char* locale,
@@ -623,7 +625,7 @@ uloc_getDisplayScript(const char* locale,
* @return the actual buffer size needed for the displayable country code. If
* it's greater than countryCapacity, the returned displayable
* country code will be truncated.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
uloc_getDisplayCountry(const char* locale,
@@ -655,7 +657,7 @@ uloc_getDisplayCountry(const char* locale,
* @return the actual buffer size needed for the displayable variant code. If
* it's greater than variantCapacity, the returned displayable
* variant code will be truncated.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
uloc_getDisplayVariant(const char* locale,
@@ -706,7 +708,7 @@ uloc_getDisplayVariant(const char* locale,
* resources and the keyword is placed into dest as fallback.
* @return the actual buffer size needed for the displayable variant code.
* @see #uloc_openKeywords
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
U_CAPI int32_t U_EXPORT2
uloc_getDisplayKeyword(const char* keyword,
@@ -736,7 +738,7 @@ uloc_getDisplayKeyword(const char* keyword,
* U_USING_DEFAULT_WARNING indicates that no data was found from the locale
* resources and the value of the keyword is placed into dest as fallback.
* @return the actual buffer size needed for the displayable variant code.
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
U_CAPI int32_t U_EXPORT2
uloc_getDisplayKeywordValue( const char* locale,
@@ -761,7 +763,7 @@ uloc_getDisplayKeywordValue( const char* locale,
* @param err error information if retrieving the displayable name failed
* @return the actual buffer size needed for the displayable name. If it's greater
* than maxResultSize, the returned displayable name will be truncated.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
uloc_getDisplayName(const char* localeID,
@@ -787,7 +789,7 @@ uloc_getDisplayName(const char* localeID,
* @param n the specific locale name index of the available locale list;
* should not exceed the number returned by uloc_countAvailable.
* @return a specified locale name of all available locales
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI const char* U_EXPORT2
uloc_getAvailable(int32_t n) __INTRODUCED_IN(31);
@@ -798,7 +800,7 @@ uloc_getAvailable(int32_t n) __INTRODUCED_IN(31);
* Gets the size of the all available locale list.
*
* @return the size of the locale list
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2 uloc_countAvailable(void) __INTRODUCED_IN(31);
@@ -807,14 +809,14 @@ U_CAPI int32_t U_EXPORT2 uloc_countAvailable(void) __INTRODUCED_IN(31);
/**
* Types for uloc_getAvailableByType and uloc_countAvailableByType.
*
- * @stable ICU 65
+ * \xrefitem stable "Stable" "Stable List" ICU 65
*/
typedef enum ULocAvailableType {
/**
* Locales that return data when passed to ICU APIs,
* but not including legacy or alias locales.
*
- * @stable ICU 65
+ * \xrefitem stable "Stable" "Stable List" ICU 65
*/
ULOC_AVAILABLE_DEFAULT,
@@ -832,7 +834,7 @@ typedef enum ULocAvailableType {
* ULOC_AVAILABLE_DEFAULT. To get both sets at the same time, use
* ULOC_AVAILABLE_WITH_LEGACY_ALIASES.
*
- * @stable ICU 65
+ * \xrefitem stable "Stable" "Stable List" ICU 65
*/
ULOC_AVAILABLE_ONLY_LEGACY_ALIASES,
@@ -840,13 +842,13 @@ typedef enum ULocAvailableType {
* The union of the locales in ULOC_AVAILABLE_DEFAULT and
* ULOC_AVAILABLE_ONLY_LEGACY_ALIAS.
*
- * @stable ICU 65
+ * \xrefitem stable "Stable" "Stable List" ICU 65
*/
ULOC_AVAILABLE_WITH_LEGACY_ALIASES,
#ifndef U_HIDE_INTERNAL_API
/**
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
ULOC_AVAILABLE_COUNT
#endif
@@ -863,7 +865,7 @@ typedef enum ULocAvailableType {
* by ICU-- do not delete them, and do not write through them. The array is
* terminated with a null pointer.
* @return a list of all available language codes
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI const char* const* U_EXPORT2
uloc_getISOLanguages(void) __INTRODUCED_IN(31);
@@ -877,7 +879,7 @@ uloc_getISOLanguages(void) __INTRODUCED_IN(31);
* owned by ICU-- do not delete them, and do not write through them. The array is
* terminated with a null pointer.
* @return a list of all available country codes
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI const char* const* U_EXPORT2
uloc_getISOCountries(void) __INTRODUCED_IN(31);
@@ -909,7 +911,7 @@ uloc_getISOCountries(void) __INTRODUCED_IN(31);
* @param err error information if retrieving the full name failed
* @return the actual buffer size needed for the full name. If it's greater
* than nameCapacity, the returned full name will be truncated.
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
U_CAPI int32_t U_EXPORT2
uloc_getBaseName(const char* localeID,
@@ -926,7 +928,7 @@ uloc_getBaseName(const char* localeID,
* @param localeID the locale to get the variant code with
* @param status error information if retrieving the keywords failed
* @return enumeration of keywords or NULL if there are no keywords.
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
U_CAPI UEnumeration* U_EXPORT2
uloc_openKeywords(const char* localeID,
@@ -945,7 +947,7 @@ uloc_openKeywords(const char* localeID,
* @param status containing error code: e.g. buffer not big enough or ill-formed localeID
* or keywordName parameters.
* @return the length of keyword value
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
U_CAPI int32_t U_EXPORT2
uloc_getKeywordValue(const char* localeID,
@@ -984,7 +986,7 @@ uloc_getKeywordValue(const char* localeID,
* locale ID in buffer on input.
* @return the length needed for the buffer
* @see uloc_getKeywordValue
- * @stable ICU 3.2
+ * \xrefitem stable "Stable" "Stable List" ICU 3.2
*/
U_CAPI int32_t U_EXPORT2
uloc_setKeywordValue(const char* keywordName,
@@ -1006,7 +1008,7 @@ uloc_setKeywordValue(const char* keywordName,
*
* @param locale input locale ID
* @return true if the locale's script is written right-to-left
- * @stable ICU 54
+ * \xrefitem stable "Stable" "Stable List" ICU 54
*/
U_CAPI UBool U_EXPORT2
uloc_isRightToLeft(const char *locale) __INTRODUCED_IN(31);
@@ -1016,7 +1018,7 @@ uloc_isRightToLeft(const char *locale) __INTRODUCED_IN(31);
/**
* enums for the return value for the character and line orientation
* functions.
- * @stable ICU 4.0
+ * \xrefitem stable "Stable" "Stable List" ICU 4.0
*/
typedef enum {
ULOC_LAYOUT_LTR = 0, /* left-to-right. */
@@ -1032,7 +1034,7 @@ typedef enum {
* @param localeId locale name
* @param status Error status
* @return an enum indicating the layout orientation for characters.
- * @stable ICU 4.0
+ * \xrefitem stable "Stable" "Stable List" ICU 4.0
*/
U_CAPI ULayoutType U_EXPORT2
uloc_getCharacterOrientation(const char* localeId,
@@ -1046,7 +1048,7 @@ uloc_getCharacterOrientation(const char* localeId,
* @param localeId locale name
* @param status Error status
* @return an enum indicating the layout orientation for lines.
- * @stable ICU 4.0
+ * \xrefitem stable "Stable" "Stable List" ICU 4.0
*/
U_CAPI ULayoutType U_EXPORT2
uloc_getLineOrientation(const char* localeId,
@@ -1059,23 +1061,23 @@ uloc_getLineOrientation(const char* localeId,
*
* @see uloc_acceptLanguageFromHTTP
* @see uloc_acceptLanguage
- * @stable ICU 3.2
+ * \xrefitem stable "Stable" "Stable List" ICU 3.2
*/
typedef enum {
/**
* No exact match was found.
- * @stable ICU 3.2
+ * \xrefitem stable "Stable" "Stable List" ICU 3.2
*/
ULOC_ACCEPT_FAILED = 0,
/**
* An exact match was found.
- * @stable ICU 3.2
+ * \xrefitem stable "Stable" "Stable List" ICU 3.2
*/
ULOC_ACCEPT_VALID = 1,
/**
* A fallback was found. For example, the Accept-Language list includes 'ja_JP'
* and is matched with available locale 'ja'.
- * @stable ICU 3.2
+ * \xrefitem stable "Stable" "Stable List" ICU 3.2
*/
ULOC_ACCEPT_FALLBACK = 2 /* */
} UAcceptResult;
@@ -1098,7 +1100,7 @@ typedef enum {
* or else the function returns immediately. Check for U_FAILURE()
* on output or use with function chaining. (See User Guide for details.)
* @return length needed for the locale.
- * @stable ICU 3.2
+ * \xrefitem stable "Stable" "Stable List" ICU 3.2
*/
U_CAPI int32_t U_EXPORT2
uloc_acceptLanguage(char *result, int32_t resultAvailable,
@@ -1144,7 +1146,7 @@ uloc_acceptLanguage(char *result, int32_t resultAvailable,
* @return The actual buffer size needed for the maximized locale. If it's
* greater than maximizedLocaleIDCapacity, the returned ID will be truncated.
* On error, the return value is -1.
- * @stable ICU 4.0
+ * \xrefitem stable "Stable" "Stable List" ICU 4.0
*/
U_CAPI int32_t U_EXPORT2
uloc_addLikelySubtags(const char* localeID,
@@ -1186,7 +1188,7 @@ uloc_addLikelySubtags(const char* localeID,
* @return The actual buffer size needed for the minimized locale. If it's
* greater than minimizedLocaleIDCapacity, the returned ID will be truncated.
* On error, the return value is -1.
- * @stable ICU 4.0
+ * \xrefitem stable "Stable" "Stable List" ICU 4.0
*/
U_CAPI int32_t U_EXPORT2
uloc_minimizeSubtags(const char* localeID,
@@ -1221,7 +1223,7 @@ uloc_minimizeSubtags(const char* localeID,
* @param err error information if receiving the locald ID
* failed.
* @return the length of the locale ID.
- * @stable ICU 4.2
+ * \xrefitem stable "Stable" "Stable List" ICU 4.2
*/
U_CAPI int32_t U_EXPORT2
uloc_forLanguageTag(const char* langtag,
@@ -1251,7 +1253,7 @@ uloc_forLanguageTag(const char* langtag,
* @param err error information if receiving the language
* tag failed.
* @return The length of the BCP47 language tag.
- * @stable ICU 4.2
+ * \xrefitem stable "Stable" "Stable List" ICU 4.2
*/
U_CAPI int32_t U_EXPORT2
uloc_toLanguageTag(const char* localeID,
@@ -1281,7 +1283,7 @@ uloc_toLanguageTag(const char* localeID,
* mapped to a well-formed BCP 47 Unicode locale extension
* key.
* @see uloc_toLegacyKey
- * @stable ICU 54
+ * \xrefitem stable "Stable" "Stable List" ICU 54
*/
U_CAPI const char* U_EXPORT2
uloc_toUnicodeLocaleKey(const char* keyword) __INTRODUCED_IN(31);
@@ -1314,7 +1316,7 @@ uloc_toUnicodeLocaleKey(const char* keyword) __INTRODUCED_IN(31);
* or NULL if the locale keyword value cannot be mapped to
* a well-formed BCP 47 Unicode locale extension type.
* @see uloc_toLegacyType
- * @stable ICU 54
+ * \xrefitem stable "Stable" "Stable List" ICU 54
*/
U_CAPI const char* U_EXPORT2
uloc_toUnicodeLocaleType(const char* keyword, const char* value) __INTRODUCED_IN(31);
@@ -1331,7 +1333,7 @@ uloc_toUnicodeLocaleType(const char* keyword, const char* value) __INTRODUCED_IN
* @return the well-formed legacy key, or NULL if the specified
* keyword cannot be mapped to a well-formed legacy key.
* @see toUnicodeLocaleKey
- * @stable ICU 54
+ * \xrefitem stable "Stable" "Stable List" ICU 54
*/
U_CAPI const char* U_EXPORT2
uloc_toLegacyKey(const char* keyword) __INTRODUCED_IN(31);
@@ -1362,7 +1364,7 @@ uloc_toLegacyKey(const char* keyword) __INTRODUCED_IN(31);
* keyword value cannot be mapped to a well-formed legacy
* type.
* @see toUnicodeLocaleType
- * @stable ICU 54
+ * \xrefitem stable "Stable" "Stable List" ICU 54
*/
U_CAPI const char* U_EXPORT2
uloc_toLegacyType(const char* keyword, const char* value) __INTRODUCED_IN(31);
@@ -1370,3 +1372,5 @@ uloc_toLegacyType(const char* keyword, const char* value) __INTRODUCED_IN(31);
#endif /*_ULOC*/
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/ulocdata.h b/libicu/ndk_headers/unicode/ulocdata.h
index 0ba6f4d1f..2d8a758ae 100644
--- a/libicu/ndk_headers/unicode/ulocdata.h
+++ b/libicu/ndk_headers/unicode/ulocdata.h
@@ -21,6 +21,22 @@
#include "unicode/uloc.h"
+/**
+ * @addtogroup ICU4C
+ * @{
+ * \file
+ * \brief C API: Provides access to locale data.
+ */
+
+/** Forward declaration of the ULocaleData structure. \xrefitem stable "Stable" "Stable List" ICU 3.6 */
+struct ULocaleData;
+
+/** A locale data object. \xrefitem stable "Stable" "Stable List" ICU 3.6 */
+typedef struct ULocaleData ULocaleData;
+
+
+
+
@@ -44,7 +60,7 @@
* Return the current CLDR version used by the library.
* @param versionArray fillin that will recieve the version number
* @param status error code - could be U_MISSING_RESOURCE_ERROR if the version was not found.
- * @stable ICU 4.2
+ * \xrefitem stable "Stable" "Stable List" ICU 4.2
*/
U_CAPI void U_EXPORT2
ulocdata_getCLDRVersion(UVersionInfo versionArray, UErrorCode *status) __INTRODUCED_IN(31);
@@ -56,3 +72,5 @@ ulocdata_getCLDRVersion(UVersionInfo versionArray, UErrorCode *status) __INTRODU
#endif
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/umachine.h b/libicu/ndk_headers/unicode/umachine.h
index 09c887c80..71dea4d47 100644
--- a/libicu/ndk_headers/unicode/umachine.h
+++ b/libicu/ndk_headers/unicode/umachine.h
@@ -27,6 +27,8 @@
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief Basic types and constants for UTF
*
@@ -61,19 +63,19 @@
/**
* \def U_CFUNC
* This is used in a declaration of a library private ICU C function.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
/**
* \def U_CDECL_BEGIN
* This is used to begin a declaration of a library private ICU C API.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
/**
* \def U_CDECL_END
* This is used to end a declaration of a library private ICU C API
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#ifdef __cplusplus
@@ -90,14 +92,14 @@
/**
* \def U_ATTRIBUTE_DEPRECATED
* This is used for GCC specific attributes
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#if U_GCC_MAJOR_MINOR >= 302
# define U_ATTRIBUTE_DEPRECATED __attribute__ ((deprecated))
/**
* \def U_ATTRIBUTE_DEPRECATED
* This is used for Visual C++ specific attributes
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#elif defined(_MSC_VER) && (_MSC_VER >= 1400)
# define U_ATTRIBUTE_DEPRECATED __declspec(deprecated)
@@ -106,7 +108,7 @@
#endif
#endif
-/** This is used to declare a function as a public ICU C API @stable ICU 2.0*/
+/** This is used to declare a function as a public ICU C API \xrefitem stable "Stable" "Stable List" ICU 2.0*/
#define U_CAPI U_CFUNC U_EXPORT
/** Obsolete/same as U_CAPI; was used to declare a function as a stable public ICU C API*/
#define U_STABLE U_CAPI
@@ -124,7 +126,7 @@
* Defined to the C++11 "override" keyword if available.
* Denotes a class or member which is an override of the base class.
* May result in an error if it applied to something not an override.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef U_OVERRIDE
#define U_OVERRIDE override
@@ -135,7 +137,7 @@
* Defined to the C++11 "final" keyword if available.
* Denotes a class or member which may not be overridden in subclasses.
* May result in an error if subclasses attempt to override.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#if !defined(U_FINAL) || defined(U_IN_DOXYGEN)
#define U_FINAL final
@@ -163,7 +165,7 @@
/**
* \def UPRV_BLOCK_MACRO_BEGIN
* Defined as the "do" keyword by default.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef UPRV_BLOCK_MACRO_BEGIN
#define UPRV_BLOCK_MACRO_BEGIN do
@@ -172,7 +174,7 @@
/**
* \def UPRV_BLOCK_MACRO_END
* Defined as "while (false)" by default.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef UPRV_BLOCK_MACRO_END
#define UPRV_BLOCK_MACRO_END while (false)
@@ -183,41 +185,41 @@
/*==========================================================================*/
#ifndef INT8_MIN
-/** The smallest value an 8 bit signed integer can hold @stable ICU 2.0 */
+/** The smallest value an 8 bit signed integer can hold \xrefitem stable "Stable" "Stable List" ICU 2.0 */
# define INT8_MIN ((int8_t)(-128))
#endif
#ifndef INT16_MIN
-/** The smallest value a 16 bit signed integer can hold @stable ICU 2.0 */
+/** The smallest value a 16 bit signed integer can hold \xrefitem stable "Stable" "Stable List" ICU 2.0 */
# define INT16_MIN ((int16_t)(-32767-1))
#endif
#ifndef INT32_MIN
-/** The smallest value a 32 bit signed integer can hold @stable ICU 2.0 */
+/** The smallest value a 32 bit signed integer can hold \xrefitem stable "Stable" "Stable List" ICU 2.0 */
# define INT32_MIN ((int32_t)(-2147483647-1))
#endif
#ifndef INT8_MAX
-/** The largest value an 8 bit signed integer can hold @stable ICU 2.0 */
+/** The largest value an 8 bit signed integer can hold \xrefitem stable "Stable" "Stable List" ICU 2.0 */
# define INT8_MAX ((int8_t)(127))
#endif
#ifndef INT16_MAX
-/** The largest value a 16 bit signed integer can hold @stable ICU 2.0 */
+/** The largest value a 16 bit signed integer can hold \xrefitem stable "Stable" "Stable List" ICU 2.0 */
# define INT16_MAX ((int16_t)(32767))
#endif
#ifndef INT32_MAX
-/** The largest value a 32 bit signed integer can hold @stable ICU 2.0 */
+/** The largest value a 32 bit signed integer can hold \xrefitem stable "Stable" "Stable List" ICU 2.0 */
# define INT32_MAX ((int32_t)(2147483647))
#endif
#ifndef UINT8_MAX
-/** The largest value an 8 bit unsigned integer can hold @stable ICU 2.0 */
+/** The largest value an 8 bit unsigned integer can hold \xrefitem stable "Stable" "Stable List" ICU 2.0 */
# define UINT8_MAX ((uint8_t)(255U))
#endif
#ifndef UINT16_MAX
-/** The largest value a 16 bit unsigned integer can hold @stable ICU 2.0 */
+/** The largest value a 16 bit unsigned integer can hold \xrefitem stable "Stable" "Stable List" ICU 2.0 */
# define UINT16_MAX ((uint16_t)(65535U))
#endif
#ifndef UINT32_MAX
-/** The largest value a 32 bit unsigned integer can hold @stable ICU 2.0 */
+/** The largest value a 32 bit unsigned integer can hold \xrefitem stable "Stable" "Stable List" ICU 2.0 */
# define UINT32_MAX ((uint32_t)(4294967295U))
#endif
@@ -228,7 +230,7 @@
/**
* Provides a platform independent way to specify a signed 64-bit integer constant.
* note: may be wrong for some 64 bit platforms - ensure your compiler provides INT64_C
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
# define INT64_C(c) c ## LL
# endif
@@ -236,20 +238,20 @@
/**
* Provides a platform independent way to specify an unsigned 64-bit integer constant.
* note: may be wrong for some 64 bit platforms - ensure your compiler provides UINT64_C
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
# define UINT64_C(c) c ## ULL
# endif
# ifndef U_INT64_MIN
-/** The smallest value a 64 bit signed integer can hold @stable ICU 2.8 */
+/** The smallest value a 64 bit signed integer can hold \xrefitem stable "Stable" "Stable List" ICU 2.8 */
# define U_INT64_MIN ((int64_t)(INT64_C(-9223372036854775807)-1))
# endif
# ifndef U_INT64_MAX
-/** The largest value a 64 bit signed integer can hold @stable ICU 2.8 */
+/** The largest value a 64 bit signed integer can hold \xrefitem stable "Stable" "Stable List" ICU 2.8 */
# define U_INT64_MAX ((int64_t)(INT64_C(9223372036854775807)))
# endif
# ifndef U_UINT64_MAX
-/** The largest value a 64 bit unsigned integer can hold @stable ICU 2.8 */
+/** The largest value a 64 bit unsigned integer can hold \xrefitem stable "Stable" "Stable List" ICU 2.8 */
# define U_UINT64_MAX ((uint64_t)(UINT64_C(18446744073709551615)))
# endif
#endif
@@ -264,7 +266,7 @@
* Also provides a fixed type definition, as opposed to
* type bool whose details (e.g., sizeof) may vary by compiler and between C and C++.
*
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
typedef int8_t UBool;
@@ -278,7 +280,7 @@ typedef int8_t UBool;
*
* You may transitionally define U_DEFINE_FALSE_AND_TRUE=1 if you need time to migrate code.
*
- * @internal ICU 68
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. ICU 68
*/
#ifdef U_DEFINE_FALSE_AND_TRUE
// Use the predefined value.
@@ -298,7 +300,7 @@ typedef int8_t UBool;
/**
* The TRUE value of a UBool.
*
- * @deprecated ICU 68 Use standard "true" instead.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 68 Use standard "true" instead.
*/
# define TRUE 1
#endif
@@ -306,7 +308,7 @@ typedef int8_t UBool;
/**
* The FALSE value of a UBool.
*
- * @deprecated ICU 68 Use standard "false" instead.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 68 Use standard "false" instead.
*/
# define FALSE 0
#endif
@@ -322,13 +324,13 @@ typedef int8_t UBool;
* \def U_WCHAR_IS_UTF16
* Defined if wchar_t uses UTF-16.
*
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
/*
* \def U_WCHAR_IS_UTF32
* Defined if wchar_t uses UTF-32.
*
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#if !defined(U_WCHAR_IS_UTF16) && !defined(U_WCHAR_IS_UTF32)
# ifdef __STDC_ISO_10646__
@@ -354,13 +356,13 @@ typedef int8_t UBool;
/* UChar and UChar32 definitions -------------------------------------------- */
-/** Number of bytes in a UChar. @stable ICU 2.0 */
+/** Number of bytes in a UChar. \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define U_SIZEOF_UCHAR 2
/**
* \def U_CHAR16_IS_TYPEDEF
* If 1, then char16_t is a typedef and not a real type (yet)
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#if (U_PLATFORM == U_PF_AIX) && defined(__cplusplus) &&(U_CPLUSPLUS_VERSION < 11)
// for AIX, uchar.h needs to be included
@@ -396,7 +398,7 @@ typedef int8_t UBool;
* ICU requires uint_least16_t=uint16_t for data memory mapping.
* On macOS, char16_t is not available because the uchar.h standard header is missing.
*
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
#if 1
@@ -437,7 +439,7 @@ typedef int8_t UBool;
* Exception: ICU 58 UChar was defined to UCHAR_TYPE if that macro was defined.
* The current UChar responds to UCHAR_TYPE but OldUChar does not.
*
- * @stable ICU 59
+ * \xrefitem stable "Stable" "Stable List" ICU 59
*/
#if U_SIZEOF_WCHAR_T==2
typedef wchar_t OldUChar;
@@ -462,7 +464,7 @@ typedef int8_t UBool;
* That is, the definition of UChar32 was platform-dependent.
*
* @see U_SENTINEL
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
typedef int32_t UChar32;
@@ -482,10 +484,12 @@ typedef int32_t UChar32;
*
* @return -1
* @see UChar32
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U_SENTINEL (-1)
#include "unicode/urename.h"
#endif
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/unorm2.h b/libicu/ndk_headers/unicode/unorm2.h
index e7aa26f1c..a760d957e 100644
--- a/libicu/ndk_headers/unicode/unorm2.h
+++ b/libicu/ndk_headers/unicode/unorm2.h
@@ -20,6 +20,8 @@
#define __UNORM2_H__
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C API: New API for Unicode Normalization.
*
@@ -42,7 +44,7 @@
* For details about standard Unicode normalization forms
* and about the algorithms which are also used with custom mapping tables
* see http://www.unicode.org/unicode/reports/tr15/
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
typedef enum {
/**
@@ -51,7 +53,7 @@ typedef enum {
* Same as standard NFKC when using an "nfkc" instance.
* For details about standard Unicode normalization forms
* see http://www.unicode.org/unicode/reports/tr15/
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
UNORM2_COMPOSE,
/**
@@ -60,7 +62,7 @@ typedef enum {
* Same as standard NFKD when using an "nfkc" instance.
* For details about standard Unicode normalization forms
* see http://www.unicode.org/unicode/reports/tr15/
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
UNORM2_DECOMPOSE,
/**
@@ -73,7 +75,7 @@ typedef enum {
* Not a standard Unicode normalization form.
* Not a unique form: Different FCD strings can be canonically equivalent.
* For details see http://www.unicode.org/notes/tn5/#FCD
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
UNORM2_FCD,
/**
@@ -83,7 +85,7 @@ typedef enum {
* The result will conform to FCD which is useful for processing.
* Not a standard Unicode normalization form.
* For details see http://www.unicode.org/notes/tn5/#FCC
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
UNORM2_COMPOSE_CONTIGUOUS
} UNormalization2Mode;
@@ -91,17 +93,17 @@ typedef enum {
/**
* Result values for normalization quick check functions.
* For details see http://www.unicode.org/reports/tr15/#Detecting_Normalization_Forms
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
typedef enum UNormalizationCheckResult {
/**
* The input string is not in the normalization form.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
UNORM_NO,
/**
* The input string is in the normalization form.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
UNORM_YES,
/**
@@ -109,17 +111,17 @@ typedef enum UNormalizationCheckResult {
* This value is only returned for composition forms like NFC and FCC,
* when a backward-combining character is found for which the surrounding text
* would have to be analyzed further.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
UNORM_MAYBE
} UNormalizationCheckResult;
/**
* Opaque C service object type for the new normalization API.
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
struct UNormalizer2;
-typedef struct UNormalizer2 UNormalizer2; /**< C typedef for struct UNormalizer2. @stable ICU 4.4 */
+typedef struct UNormalizer2 UNormalizer2; /**< C typedef for struct UNormalizer2. \xrefitem stable "Stable" "Stable List" ICU 4.4 */
#if !UCONFIG_NO_NORMALIZATION
@@ -132,7 +134,7 @@ typedef struct UNormalizer2 UNormalizer2; /**< C typedef for struct UNormalizer
* immediately. Check for U_FAILURE() on output or use with
* function chaining. (See User Guide for details.)
* @return the requested Normalizer2, if successful
- * @stable ICU 49
+ * \xrefitem stable "Stable" "Stable List" ICU 49
*/
U_CAPI const UNormalizer2 * U_EXPORT2
unorm2_getNFCInstance(UErrorCode *pErrorCode) __INTRODUCED_IN(31);
@@ -148,7 +150,7 @@ unorm2_getNFCInstance(UErrorCode *pErrorCode) __INTRODUCED_IN(31);
* immediately. Check for U_FAILURE() on output or use with
* function chaining. (See User Guide for details.)
* @return the requested Normalizer2, if successful
- * @stable ICU 49
+ * \xrefitem stable "Stable" "Stable List" ICU 49
*/
U_CAPI const UNormalizer2 * U_EXPORT2
unorm2_getNFDInstance(UErrorCode *pErrorCode) __INTRODUCED_IN(31);
@@ -164,7 +166,7 @@ unorm2_getNFDInstance(UErrorCode *pErrorCode) __INTRODUCED_IN(31);
* immediately. Check for U_FAILURE() on output or use with
* function chaining. (See User Guide for details.)
* @return the requested Normalizer2, if successful
- * @stable ICU 49
+ * \xrefitem stable "Stable" "Stable List" ICU 49
*/
U_CAPI const UNormalizer2 * U_EXPORT2
unorm2_getNFKCInstance(UErrorCode *pErrorCode) __INTRODUCED_IN(31);
@@ -180,7 +182,7 @@ unorm2_getNFKCInstance(UErrorCode *pErrorCode) __INTRODUCED_IN(31);
* immediately. Check for U_FAILURE() on output or use with
* function chaining. (See User Guide for details.)
* @return the requested Normalizer2, if successful
- * @stable ICU 49
+ * \xrefitem stable "Stable" "Stable List" ICU 49
*/
U_CAPI const UNormalizer2 * U_EXPORT2
unorm2_getNFKDInstance(UErrorCode *pErrorCode) __INTRODUCED_IN(31);
@@ -196,7 +198,7 @@ unorm2_getNFKDInstance(UErrorCode *pErrorCode) __INTRODUCED_IN(31);
* immediately. Check for U_FAILURE() on output or use with
* function chaining. (See User Guide for details.)
* @return the requested Normalizer2, if successful
- * @stable ICU 49
+ * \xrefitem stable "Stable" "Stable List" ICU 49
*/
U_CAPI const UNormalizer2 * U_EXPORT2
unorm2_getNFKCCasefoldInstance(UErrorCode *pErrorCode) __INTRODUCED_IN(31);
@@ -211,7 +213,7 @@ unorm2_getNFKCCasefoldInstance(UErrorCode *pErrorCode) __INTRODUCED_IN(31);
* Closes a UNormalizer2 instance from unorm2_openFiltered().
* Do not close instances from unorm2_getInstance()!
* @param norm2 UNormalizer2 instance to be closed
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI void U_EXPORT2
unorm2_close(UNormalizer2 *norm2) __INTRODUCED_IN(31);
@@ -229,7 +231,7 @@ U_NAMESPACE_BEGIN
*
* @see LocalPointerBase
* @see LocalPointer
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_DEFINE_LOCAL_OPEN_POINTER(LocalUNormalizer2Pointer, UNormalizer2, unorm2_close);
@@ -251,7 +253,7 @@ U_NAMESPACE_END
* immediately. Check for U_FAILURE() on output or use with
* function chaining. (See User Guide for details.)
* @return dest
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI int32_t U_EXPORT2
unorm2_normalize(const UNormalizer2 *norm2,
@@ -276,7 +278,7 @@ unorm2_normalize(const UNormalizer2 *norm2,
* immediately. Check for U_FAILURE() on output or use with
* function chaining. (See User Guide for details.)
* @return first
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI int32_t U_EXPORT2
unorm2_normalizeSecondAndAppend(const UNormalizer2 *norm2,
@@ -301,7 +303,7 @@ unorm2_normalizeSecondAndAppend(const UNormalizer2 *norm2,
* immediately. Check for U_FAILURE() on output or use with
* function chaining. (See User Guide for details.)
* @return first
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI int32_t U_EXPORT2
unorm2_append(const UNormalizer2 *norm2,
@@ -328,7 +330,7 @@ unorm2_append(const UNormalizer2 *norm2,
* immediately. Check for U_FAILURE() on output or use with
* function chaining. (See User Guide for details.)
* @return the non-negative length of c's decomposition, if there is one; otherwise a negative value
- * @stable ICU 4.6
+ * \xrefitem stable "Stable" "Stable List" ICU 4.6
*/
U_CAPI int32_t U_EXPORT2
unorm2_getDecomposition(const UNormalizer2 *norm2,
@@ -364,7 +366,7 @@ unorm2_getDecomposition(const UNormalizer2 *norm2,
* immediately. Check for U_FAILURE() on output or use with
* function chaining. (See User Guide for details.)
* @return the non-negative length of c's raw decomposition, if there is one; otherwise a negative value
- * @stable ICU 49
+ * \xrefitem stable "Stable" "Stable List" ICU 49
*/
U_CAPI int32_t U_EXPORT2
unorm2_getRawDecomposition(const UNormalizer2 *norm2,
@@ -386,7 +388,7 @@ unorm2_getRawDecomposition(const UNormalizer2 *norm2,
* @param a A (normalization starter) code point.
* @param b Another code point.
* @return The non-negative composite code point if there is one; otherwise a negative value.
- * @stable ICU 49
+ * \xrefitem stable "Stable" "Stable List" ICU 49
*/
U_CAPI UChar32 U_EXPORT2
unorm2_composePair(const UNormalizer2 *norm2, UChar32 a, UChar32 b) __INTRODUCED_IN(31);
@@ -400,7 +402,7 @@ unorm2_composePair(const UNormalizer2 *norm2, UChar32 a, UChar32 b) __INTRODUCED
* @param norm2 UNormalizer2 instance
* @param c code point
* @return c's combining class
- * @stable ICU 49
+ * \xrefitem stable "Stable" "Stable List" ICU 49
*/
U_CAPI uint8_t U_EXPORT2
unorm2_getCombiningClass(const UNormalizer2 *norm2, UChar32 c) __INTRODUCED_IN(31);
@@ -421,7 +423,7 @@ unorm2_getCombiningClass(const UNormalizer2 *norm2, UChar32 c) __INTRODUCED_IN(3
* immediately. Check for U_FAILURE() on output or use with
* function chaining. (See User Guide for details.)
* @return true if s is normalized
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI UBool U_EXPORT2
unorm2_isNormalized(const UNormalizer2 *norm2,
@@ -445,7 +447,7 @@ unorm2_isNormalized(const UNormalizer2 *norm2,
* immediately. Check for U_FAILURE() on output or use with
* function chaining. (See User Guide for details.)
* @return UNormalizationCheckResult
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI UNormalizationCheckResult U_EXPORT2
unorm2_quickCheck(const UNormalizer2 *norm2,
@@ -476,7 +478,7 @@ unorm2_quickCheck(const UNormalizer2 *norm2,
* immediately. Check for U_FAILURE() on output or use with
* function chaining. (See User Guide for details.)
* @return "yes" span end index
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI int32_t U_EXPORT2
unorm2_spanQuickCheckYes(const UNormalizer2 *norm2,
@@ -492,7 +494,7 @@ unorm2_spanQuickCheckYes(const UNormalizer2 *norm2,
* @param norm2 UNormalizer2 instance
* @param c character to test
* @return true if c has a normalization boundary before it
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI UBool U_EXPORT2
unorm2_hasBoundaryBefore(const UNormalizer2 *norm2, UChar32 c) __INTRODUCED_IN(31);
@@ -506,7 +508,7 @@ unorm2_hasBoundaryBefore(const UNormalizer2 *norm2, UChar32 c) __INTRODUCED_IN(3
* @param norm2 UNormalizer2 instance
* @param c character to test
* @return true if c has a normalization boundary after it
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI UBool U_EXPORT2
unorm2_hasBoundaryAfter(const UNormalizer2 *norm2, UChar32 c) __INTRODUCED_IN(31);
@@ -519,7 +521,7 @@ unorm2_hasBoundaryAfter(const UNormalizer2 *norm2, UChar32 c) __INTRODUCED_IN(31
* @param norm2 UNormalizer2 instance
* @param c character to test
* @return true if c is normalization-inert
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_CAPI UBool U_EXPORT2
unorm2_isInert(const UNormalizer2 *norm2, UChar32 c) __INTRODUCED_IN(31);
@@ -530,3 +532,5 @@ unorm2_isInert(const UNormalizer2 *norm2, UChar32 c) __INTRODUCED_IN(31);
#endif /* !UCONFIG_NO_NORMALIZATION */
#endif /* __UNORM2_H__ */
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/uscript.h b/libicu/ndk_headers/unicode/uscript.h
index 4d9e60a9c..acecc0740 100644
--- a/libicu/ndk_headers/unicode/uscript.h
+++ b/libicu/ndk_headers/unicode/uscript.h
@@ -20,6 +20,8 @@
#include "unicode/utypes.h"
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C API: Unicode Script Information
*/
@@ -49,7 +51,7 @@
* Script codes like Latf and Aran that are not subject to separate encoding
* may be added at any time.
*
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
typedef enum UScriptCode {
/*
@@ -59,429 +61,429 @@ typedef enum UScriptCode {
* USCRIPT_<Unicode Script value name> = <integer>, / * <ISO script code> * /
*/
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_INVALID_CODE = -1,
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_COMMON = 0, /* Zyyy */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_INHERITED = 1, /* Zinh */ /* "Code for inherited script", for non-spacing combining marks; also Qaai */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_ARABIC = 2, /* Arab */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_ARMENIAN = 3, /* Armn */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_BENGALI = 4, /* Beng */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_BOPOMOFO = 5, /* Bopo */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_CHEROKEE = 6, /* Cher */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_COPTIC = 7, /* Copt */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_CYRILLIC = 8, /* Cyrl */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_DESERET = 9, /* Dsrt */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_DEVANAGARI = 10, /* Deva */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_ETHIOPIC = 11, /* Ethi */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_GEORGIAN = 12, /* Geor */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_GOTHIC = 13, /* Goth */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_GREEK = 14, /* Grek */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_GUJARATI = 15, /* Gujr */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_GURMUKHI = 16, /* Guru */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_HAN = 17, /* Hani */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_HANGUL = 18, /* Hang */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_HEBREW = 19, /* Hebr */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_HIRAGANA = 20, /* Hira */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_KANNADA = 21, /* Knda */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_KATAKANA = 22, /* Kana */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_KHMER = 23, /* Khmr */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_LAO = 24, /* Laoo */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_LATIN = 25, /* Latn */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_MALAYALAM = 26, /* Mlym */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_MONGOLIAN = 27, /* Mong */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_MYANMAR = 28, /* Mymr */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_OGHAM = 29, /* Ogam */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_OLD_ITALIC = 30, /* Ital */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_ORIYA = 31, /* Orya */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_RUNIC = 32, /* Runr */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_SINHALA = 33, /* Sinh */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_SYRIAC = 34, /* Syrc */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_TAMIL = 35, /* Taml */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_TELUGU = 36, /* Telu */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_THAANA = 37, /* Thaa */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_THAI = 38, /* Thai */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_TIBETAN = 39, /* Tibt */
- /** Canadian_Aboriginal script. @stable ICU 2.6 */
+ /** Canadian_Aboriginal script. \xrefitem stable "Stable" "Stable List" ICU 2.6 */
USCRIPT_CANADIAN_ABORIGINAL = 40, /* Cans */
- /** Canadian_Aboriginal script (alias). @stable ICU 2.2 */
+ /** Canadian_Aboriginal script (alias). \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_UCAS = USCRIPT_CANADIAN_ABORIGINAL,
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_YI = 41, /* Yiii */
/* New scripts in Unicode 3.2 */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_TAGALOG = 42, /* Tglg */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_HANUNOO = 43, /* Hano */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_BUHID = 44, /* Buhd */
- /** @stable ICU 2.2 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.2 */
USCRIPT_TAGBANWA = 45, /* Tagb */
/* New scripts in Unicode 4 */
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
USCRIPT_BRAILLE = 46, /* Brai */
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
USCRIPT_CYPRIOT = 47, /* Cprt */
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
USCRIPT_LIMBU = 48, /* Limb */
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
USCRIPT_LINEAR_B = 49, /* Linb */
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
USCRIPT_OSMANYA = 50, /* Osma */
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
USCRIPT_SHAVIAN = 51, /* Shaw */
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
USCRIPT_TAI_LE = 52, /* Tale */
- /** @stable ICU 2.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 2.6 */
USCRIPT_UGARITIC = 53, /* Ugar */
- /** New script code in Unicode 4.0.1 @stable ICU 3.0 */
+ /** New script code in Unicode 4.0.1 \xrefitem stable "Stable" "Stable List" ICU 3.0 */
USCRIPT_KATAKANA_OR_HIRAGANA = 54,/*Hrkt */
/* New scripts in Unicode 4.1 */
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
USCRIPT_BUGINESE = 55, /* Bugi */
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
USCRIPT_GLAGOLITIC = 56, /* Glag */
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
USCRIPT_KHAROSHTHI = 57, /* Khar */
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
USCRIPT_SYLOTI_NAGRI = 58, /* Sylo */
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
USCRIPT_NEW_TAI_LUE = 59, /* Talu */
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
USCRIPT_TIFINAGH = 60, /* Tfng */
- /** @stable ICU 3.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.4 */
USCRIPT_OLD_PERSIAN = 61, /* Xpeo */
/* New script codes from Unicode and ISO 15924 */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_BALINESE = 62, /* Bali */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_BATAK = 63, /* Batk */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_BLISSYMBOLS = 64, /* Blis */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_BRAHMI = 65, /* Brah */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_CHAM = 66, /* Cham */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_CIRTH = 67, /* Cirt */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_OLD_CHURCH_SLAVONIC_CYRILLIC = 68, /* Cyrs */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_DEMOTIC_EGYPTIAN = 69, /* Egyd */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_HIERATIC_EGYPTIAN = 70, /* Egyh */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_EGYPTIAN_HIEROGLYPHS = 71, /* Egyp */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_KHUTSURI = 72, /* Geok */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_SIMPLIFIED_HAN = 73, /* Hans */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_TRADITIONAL_HAN = 74, /* Hant */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_PAHAWH_HMONG = 75, /* Hmng */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_OLD_HUNGARIAN = 76, /* Hung */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_HARAPPAN_INDUS = 77, /* Inds */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_JAVANESE = 78, /* Java */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_KAYAH_LI = 79, /* Kali */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_LATIN_FRAKTUR = 80, /* Latf */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_LATIN_GAELIC = 81, /* Latg */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_LEPCHA = 82, /* Lepc */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_LINEAR_A = 83, /* Lina */
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
USCRIPT_MANDAIC = 84, /* Mand */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_MANDAEAN = USCRIPT_MANDAIC,
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_MAYAN_HIEROGLYPHS = 85, /* Maya */
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
USCRIPT_MEROITIC_HIEROGLYPHS = 86, /* Mero */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_MEROITIC = USCRIPT_MEROITIC_HIEROGLYPHS,
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_NKO = 87, /* Nkoo */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_ORKHON = 88, /* Orkh */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_OLD_PERMIC = 89, /* Perm */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_PHAGS_PA = 90, /* Phag */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_PHOENICIAN = 91, /* Phnx */
- /** @stable ICU 52 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 52 */
USCRIPT_MIAO = 92, /* Plrd */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_PHONETIC_POLLARD = USCRIPT_MIAO,
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_RONGORONGO = 93, /* Roro */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_SARATI = 94, /* Sara */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_ESTRANGELO_SYRIAC = 95, /* Syre */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_WESTERN_SYRIAC = 96, /* Syrj */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_EASTERN_SYRIAC = 97, /* Syrn */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_TENGWAR = 98, /* Teng */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_VAI = 99, /* Vaii */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_VISIBLE_SPEECH = 100,/* Visp */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_CUNEIFORM = 101,/* Xsux */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_UNWRITTEN_LANGUAGES = 102,/* Zxxx */
- /** @stable ICU 3.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.6 */
USCRIPT_UNKNOWN = 103,/* Zzzz */ /* Unknown="Code for uncoded script", for unassigned code points */
- /** @stable ICU 3.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.8 */
USCRIPT_CARIAN = 104,/* Cari */
- /** @stable ICU 3.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.8 */
USCRIPT_JAPANESE = 105,/* Jpan */
- /** @stable ICU 3.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.8 */
USCRIPT_LANNA = 106,/* Lana */
- /** @stable ICU 3.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.8 */
USCRIPT_LYCIAN = 107,/* Lyci */
- /** @stable ICU 3.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.8 */
USCRIPT_LYDIAN = 108,/* Lydi */
- /** @stable ICU 3.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.8 */
USCRIPT_OL_CHIKI = 109,/* Olck */
- /** @stable ICU 3.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.8 */
USCRIPT_REJANG = 110,/* Rjng */
- /** @stable ICU 3.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.8 */
USCRIPT_SAURASHTRA = 111,/* Saur */
- /** Sutton SignWriting @stable ICU 3.8 */
+ /** Sutton SignWriting \xrefitem stable "Stable" "Stable List" ICU 3.8 */
USCRIPT_SIGN_WRITING = 112,/* Sgnw */
- /** @stable ICU 3.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.8 */
USCRIPT_SUNDANESE = 113,/* Sund */
- /** @stable ICU 3.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.8 */
USCRIPT_MOON = 114,/* Moon */
- /** @stable ICU 3.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 3.8 */
USCRIPT_MEITEI_MAYEK = 115,/* Mtei */
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
USCRIPT_IMPERIAL_ARAMAIC = 116,/* Armi */
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
USCRIPT_AVESTAN = 117,/* Avst */
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
USCRIPT_CHAKMA = 118,/* Cakm */
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
USCRIPT_KOREAN = 119,/* Kore */
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
USCRIPT_KAITHI = 120,/* Kthi */
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
USCRIPT_MANICHAEAN = 121,/* Mani */
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
USCRIPT_INSCRIPTIONAL_PAHLAVI = 122,/* Phli */
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
USCRIPT_PSALTER_PAHLAVI = 123,/* Phlp */
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
USCRIPT_BOOK_PAHLAVI = 124,/* Phlv */
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
USCRIPT_INSCRIPTIONAL_PARTHIAN = 125,/* Prti */
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
USCRIPT_SAMARITAN = 126,/* Samr */
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
USCRIPT_TAI_VIET = 127,/* Tavt */
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
USCRIPT_MATHEMATICAL_NOTATION = 128,/* Zmth */
- /** @stable ICU 4.0 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.0 */
USCRIPT_SYMBOLS = 129,/* Zsym */
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
USCRIPT_BAMUM = 130,/* Bamu */
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
USCRIPT_LISU = 131,/* Lisu */
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
USCRIPT_NAKHI_GEBA = 132,/* Nkgb */
- /** @stable ICU 4.4 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.4 */
USCRIPT_OLD_SOUTH_ARABIAN = 133,/* Sarb */
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
USCRIPT_BASSA_VAH = 134,/* Bass */
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
USCRIPT_DUPLOYAN = 135,/* Dupl */
#ifndef U_HIDE_DEPRECATED_API
- /** @deprecated ICU 54 Typo, use USCRIPT_DUPLOYAN */
+ /** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 54 Typo, use USCRIPT_DUPLOYAN */
USCRIPT_DUPLOYAN_SHORTAND = USCRIPT_DUPLOYAN,
#endif /* U_HIDE_DEPRECATED_API */
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
USCRIPT_ELBASAN = 136,/* Elba */
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
USCRIPT_GRANTHA = 137,/* Gran */
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
USCRIPT_KPELLE = 138,/* Kpel */
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
USCRIPT_LOMA = 139,/* Loma */
- /** Mende Kikakui @stable ICU 4.6 */
+ /** Mende Kikakui \xrefitem stable "Stable" "Stable List" ICU 4.6 */
USCRIPT_MENDE = 140,/* Mend */
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
USCRIPT_MEROITIC_CURSIVE = 141,/* Merc */
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
USCRIPT_OLD_NORTH_ARABIAN = 142,/* Narb */
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
USCRIPT_NABATAEAN = 143,/* Nbat */
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
USCRIPT_PALMYRENE = 144,/* Palm */
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
USCRIPT_KHUDAWADI = 145,/* Sind */
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
USCRIPT_SINDHI = USCRIPT_KHUDAWADI,
- /** @stable ICU 4.6 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.6 */
USCRIPT_WARANG_CITI = 146,/* Wara */
- /** @stable ICU 4.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.8 */
USCRIPT_AFAKA = 147,/* Afak */
- /** @stable ICU 4.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.8 */
USCRIPT_JURCHEN = 148,/* Jurc */
- /** @stable ICU 4.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.8 */
USCRIPT_MRO = 149,/* Mroo */
- /** @stable ICU 4.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.8 */
USCRIPT_NUSHU = 150,/* Nshu */
- /** @stable ICU 4.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.8 */
USCRIPT_SHARADA = 151,/* Shrd */
- /** @stable ICU 4.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.8 */
USCRIPT_SORA_SOMPENG = 152,/* Sora */
- /** @stable ICU 4.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.8 */
USCRIPT_TAKRI = 153,/* Takr */
- /** @stable ICU 4.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.8 */
USCRIPT_TANGUT = 154,/* Tang */
- /** @stable ICU 4.8 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 4.8 */
USCRIPT_WOLEAI = 155,/* Wole */
- /** @stable ICU 49 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 49 */
USCRIPT_ANATOLIAN_HIEROGLYPHS = 156,/* Hluw */
- /** @stable ICU 49 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 49 */
USCRIPT_KHOJKI = 157,/* Khoj */
- /** @stable ICU 49 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 49 */
USCRIPT_TIRHUTA = 158,/* Tirh */
- /** @stable ICU 52 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 52 */
USCRIPT_CAUCASIAN_ALBANIAN = 159,/* Aghb */
- /** @stable ICU 52 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 52 */
USCRIPT_MAHAJANI = 160,/* Mahj */
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
USCRIPT_AHOM = 161,/* Ahom */
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
USCRIPT_HATRAN = 162,/* Hatr */
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
USCRIPT_MODI = 163,/* Modi */
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
USCRIPT_MULTANI = 164,/* Mult */
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
USCRIPT_PAU_CIN_HAU = 165,/* Pauc */
- /** @stable ICU 54 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 54 */
USCRIPT_SIDDHAM = 166,/* Sidd */
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
USCRIPT_ADLAM = 167,/* Adlm */
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
USCRIPT_BHAIKSUKI = 168,/* Bhks */
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
USCRIPT_MARCHEN = 169,/* Marc */
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
USCRIPT_NEWA = 170,/* Newa */
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
USCRIPT_OSAGE = 171,/* Osge */
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
USCRIPT_HAN_WITH_BOPOMOFO = 172,/* Hanb */
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
USCRIPT_JAMO = 173,/* Jamo */
- /** @stable ICU 58 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 58 */
USCRIPT_SYMBOLS_EMOJI = 174,/* Zsye */
- /** @stable ICU 60 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 60 */
USCRIPT_MASARAM_GONDI = 175,/* Gonm */
- /** @stable ICU 60 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 60 */
USCRIPT_SOYOMBO = 176,/* Soyo */
- /** @stable ICU 60 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 60 */
USCRIPT_ZANABAZAR_SQUARE = 177,/* Zanb */
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
USCRIPT_DOGRA = 178,/* Dogr */
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
USCRIPT_GUNJALA_GONDI = 179,/* Gong */
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
USCRIPT_MAKASAR = 180,/* Maka */
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
USCRIPT_MEDEFAIDRIN = 181,/* Medf */
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
USCRIPT_HANIFI_ROHINGYA = 182,/* Rohg */
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
USCRIPT_SOGDIAN = 183,/* Sogd */
- /** @stable ICU 62 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 62 */
USCRIPT_OLD_SOGDIAN = 184,/* Sogo */
- /** @stable ICU 64 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 64 */
USCRIPT_ELYMAIC = 185,/* Elym */
- /** @stable ICU 64 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 64 */
USCRIPT_NYIAKENG_PUACHUE_HMONG = 186,/* Hmnp */
- /** @stable ICU 64 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 64 */
USCRIPT_NANDINAGARI = 187,/* Nand */
- /** @stable ICU 64 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 64 */
USCRIPT_WANCHO = 188,/* Wcho */
- /** @stable ICU 66 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 66 */
USCRIPT_CHORASMIAN = 189,/* Chrs */
- /** @stable ICU 66 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 66 */
USCRIPT_DIVES_AKURU = 190,/* Diak */
- /** @stable ICU 66 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 66 */
USCRIPT_KHITAN_SMALL_SCRIPT = 191,/* Kits */
- /** @stable ICU 66 */
+ /** \xrefitem stable "Stable" "Stable List" ICU 66 */
USCRIPT_YEZIDI = 192,/* Yezi */
#ifndef U_HIDE_DEPRECATED_API
@@ -489,7 +491,7 @@ typedef enum UScriptCode {
* One more than the highest normal UScriptCode value.
* The highest value is available via u_getIntPropertyMaxValue(UCHAR_SCRIPT).
*
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
USCRIPT_CODE_LIMIT = 193
#endif // U_HIDE_DEPRECATED_API
@@ -512,7 +514,7 @@ typedef enum UScriptCode {
* @param capacity the capacity (size) of UScriptCode buffer passed in.
* @param err the error status code.
* @return The number of script codes filled in the buffer passed in
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
U_CAPI int32_t U_EXPORT2
uscript_getCode(const char* nameOrAbbrOrLocale,UScriptCode* fillIn,int32_t capacity,UErrorCode *err) __INTRODUCED_IN(31);
@@ -527,7 +529,7 @@ uscript_getCode(const char* nameOrAbbrOrLocale,UScriptCode* fillIn,int32_t capac
* @param scriptCode UScriptCode enum
* @return long script name as given in PropertyValueAliases.txt, or the 4-letter code,
* or NULL if scriptCode is invalid
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
U_CAPI const char* U_EXPORT2
uscript_getName(UScriptCode scriptCode) __INTRODUCED_IN(31);
@@ -541,7 +543,7 @@ uscript_getName(UScriptCode scriptCode) __INTRODUCED_IN(31);
*
* @param scriptCode UScriptCode enum
* @return short script name (4-letter code), or NULL if scriptCode is invalid
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
U_CAPI const char* U_EXPORT2
uscript_getShortName(UScriptCode scriptCode) __INTRODUCED_IN(31);
@@ -554,7 +556,7 @@ uscript_getShortName(UScriptCode scriptCode) __INTRODUCED_IN(31);
* @param codepoint UChar32 codepoint
* @param err the error status code.
* @return The UScriptCode, or 0 if codepoint is invalid
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
U_CAPI UScriptCode U_EXPORT2
uscript_getScript(UChar32 codepoint, UErrorCode *err) __INTRODUCED_IN(31);
@@ -571,7 +573,7 @@ uscript_getScript(UChar32 codepoint, UErrorCode *err) __INTRODUCED_IN(31);
* @param c code point
* @param sc script code
* @return true if sc is in Script_Extensions(c)
- * @stable ICU 49
+ * \xrefitem stable "Stable" "Stable List" ICU 49
*/
U_CAPI UBool U_EXPORT2
uscript_hasScript(UChar32 c, UScriptCode sc) __INTRODUCED_IN(31);
@@ -605,7 +607,7 @@ uscript_hasScript(UChar32 c, UScriptCode sc) __INTRODUCED_IN(31);
* function chaining. (See User Guide for details.)
* @return number of script codes in c's Script_Extensions, or 1 for the single Script value,
* written to scripts unless U_BUFFER_OVERFLOW_ERROR indicates insufficient capacity
- * @stable ICU 49
+ * \xrefitem stable "Stable" "Stable List" ICU 49
*/
U_CAPI int32_t U_EXPORT2
uscript_getScriptExtensions(UChar32 c,
@@ -619,20 +621,20 @@ uscript_getScriptExtensions(UChar32 c,
* See UAX #31 Unicode Identifier and Pattern Syntax.
* http://www.unicode.org/reports/tr31/#Table_Candidate_Characters_for_Exclusion_from_Identifiers
*
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
typedef enum UScriptUsage {
- /** Not encoded in Unicode. @stable ICU 51 */
+ /** Not encoded in Unicode. \xrefitem stable "Stable" "Stable List" ICU 51 */
USCRIPT_USAGE_NOT_ENCODED,
- /** Unknown script usage. @stable ICU 51 */
+ /** Unknown script usage. \xrefitem stable "Stable" "Stable List" ICU 51 */
USCRIPT_USAGE_UNKNOWN,
- /** Candidate for Exclusion from Identifiers. @stable ICU 51 */
+ /** Candidate for Exclusion from Identifiers. \xrefitem stable "Stable" "Stable List" ICU 51 */
USCRIPT_USAGE_EXCLUDED,
- /** Limited Use script. @stable ICU 51 */
+ /** Limited Use script. \xrefitem stable "Stable" "Stable List" ICU 51 */
USCRIPT_USAGE_LIMITED_USE,
- /** Aspirational Use script. @stable ICU 51 */
+ /** Aspirational Use script. \xrefitem stable "Stable" "Stable List" ICU 51 */
USCRIPT_USAGE_ASPIRATIONAL,
- /** Recommended script. @stable ICU 51 */
+ /** Recommended script. \xrefitem stable "Stable" "Stable List" ICU 51 */
USCRIPT_USAGE_RECOMMENDED
} UScriptUsage;
@@ -646,7 +648,7 @@ typedef enum UScriptUsage {
* @param capacity number of UChars in the dest array
* @param pErrorCode standard ICU in/out error code, must pass U_SUCCESS() on input
* @return the string length, even if U_BUFFER_OVERFLOW_ERROR
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
U_CAPI int32_t U_EXPORT2
uscript_getSampleString(UScriptCode script, UChar *dest, int32_t capacity, UErrorCode *pErrorCode) __INTRODUCED_IN(31);
@@ -666,7 +668,7 @@ U_NAMESPACE_END
*
* @param script script code
* @return the sample character string
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
U_COMMON_API icu::UnicodeString U_EXPORT2
uscript_getSampleUnicodeString(UScriptCode script);
@@ -680,7 +682,7 @@ uscript_getSampleUnicodeString(UScriptCode script);
* @param script script code
* @return script usage
* @see UScriptUsage
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
U_CAPI UScriptUsage U_EXPORT2
uscript_getUsage(UScriptCode script) __INTRODUCED_IN(31);
@@ -693,7 +695,7 @@ uscript_getUsage(UScriptCode script) __INTRODUCED_IN(31);
*
* @param script script code
* @return true if the script is right-to-left
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
U_CAPI UBool U_EXPORT2
uscript_isRightToLeft(UScriptCode script) __INTRODUCED_IN(31);
@@ -707,7 +709,7 @@ uscript_isRightToLeft(UScriptCode script) __INTRODUCED_IN(31);
*
* @param script script code
* @return true if the script allows line breaks between letters
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
U_CAPI UBool U_EXPORT2
uscript_breaksBetweenLetters(UScriptCode script) __INTRODUCED_IN(31);
@@ -720,7 +722,7 @@ uscript_breaksBetweenLetters(UScriptCode script) __INTRODUCED_IN(31);
*
* @param script script code
* @return true if the script is cased
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
U_CAPI UBool U_EXPORT2
uscript_isCased(UScriptCode script) __INTRODUCED_IN(31);
@@ -728,3 +730,5 @@ uscript_isCased(UScriptCode script) __INTRODUCED_IN(31);
#endif
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/ustring.h b/libicu/ndk_headers/unicode/ustring.h
index fb345158b..3c2c4e363 100644
--- a/libicu/ndk_headers/unicode/ustring.h
+++ b/libicu/ndk_headers/unicode/ustring.h
@@ -23,16 +23,18 @@
/**
* \def UBRK_TYPEDEF_UBREAK_ITERATOR
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef UBRK_TYPEDEF_UBREAK_ITERATOR
# define UBRK_TYPEDEF_UBREAK_ITERATOR
-/** Simple declaration for u_strToTitle() to avoid including unicode/ubrk.h. @stable ICU 2.1*/
+/** Simple declaration for u_strToTitle() to avoid including unicode/ubrk.h. \xrefitem stable "Stable" "Stable List" ICU 2.1*/
typedef struct UBreakIterator UBreakIterator;
#endif
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C API: Unicode string handling functions
*
@@ -77,22 +79,16 @@
*/
/**
- * \defgroup ustring_ustrlen String Length
- * \ingroup ustring_strlen
- */
-/*@{*/
-/**
* Determine the length of an array of UChar.
*
* @param s The array of UChars, NULL (U+0000) terminated.
* @return The number of UChars in <code>chars</code>, minus the terminator.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_strlen(const UChar *s) __INTRODUCED_IN(31);
-/*@}*/
/**
* Count Unicode code points in the length UChar code units of the string.
@@ -105,7 +101,7 @@ u_strlen(const UChar *s) __INTRODUCED_IN(31);
* @param length The number of UChar code units to be checked, or -1 to count all
* code points before the first NUL (U+0000).
* @return The number of code points in the specified code units.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_countChar32(const UChar *s, int32_t length) __INTRODUCED_IN(31);
@@ -128,7 +124,7 @@ u_countChar32(const UChar *s, int32_t length) __INTRODUCED_IN(31);
* the 'number' parameter.
* @return Boolean value for whether the string contains more Unicode code points
* than 'number'. Same as (u_countChar32(s, length)>number).
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
U_CAPI UBool U_EXPORT2
u_strHasMoreChar32Than(const UChar *s, int32_t length, int32_t number) __INTRODUCED_IN(31);
@@ -143,7 +139,7 @@ u_strHasMoreChar32Than(const UChar *s, int32_t length, int32_t number) __INTRODU
* @param dst The destination string.
* @param src The source string.
* @return A pointer to <code>dst</code>.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UChar* U_EXPORT2
u_strcat(UChar *dst,
@@ -163,7 +159,7 @@ u_strcat(UChar *dst,
* @param src The source string (can be NULL/invalid if n<=0).
* @param n The maximum number of characters to append; no-op if <=0.
* @return A pointer to <code>dst</code>.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UChar* U_EXPORT2
u_strncat(UChar *dst,
@@ -186,7 +182,7 @@ u_strncat(UChar *dst,
* @return A pointer to the first occurrence of <code>substring</code> in <code>s</code>,
* or <code>s</code> itself if the <code>substring</code> is empty,
* or <code>NULL</code> if <code>substring</code> is not in <code>s</code>.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*
* @see u_strrstr
* @see u_strFindFirst
@@ -213,7 +209,7 @@ u_strstr(const UChar *s, const UChar *substring) __INTRODUCED_IN(31);
* @return A pointer to the first occurrence of <code>substring</code> in <code>s</code>,
* or <code>s</code> itself if the <code>substring</code> is empty,
* or <code>NULL</code> if <code>substring</code> is not in <code>s</code>.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*
* @see u_strstr
* @see u_strFindLast
@@ -233,7 +229,7 @@ u_strFindFirst(const UChar *s, int32_t length, const UChar *substring, int32_t s
* @param c The BMP code point to find.
* @return A pointer to the first occurrence of <code>c</code> in <code>s</code>
* or <code>NULL</code> if <code>c</code> is not in <code>s</code>.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*
* @see u_strchr32
* @see u_memchr
@@ -255,7 +251,7 @@ u_strchr(const UChar *s, UChar c) __INTRODUCED_IN(31);
* @param c The code point to find.
* @return A pointer to the first occurrence of <code>c</code> in <code>s</code>
* or <code>NULL</code> if <code>c</code> is not in <code>s</code>.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*
* @see u_strchr
* @see u_memchr32
@@ -281,7 +277,7 @@ u_strchr32(const UChar *s, UChar32 c) __INTRODUCED_IN(31);
* @return A pointer to the last occurrence of <code>substring</code> in <code>s</code>,
* or <code>s</code> itself if the <code>substring</code> is empty,
* or <code>NULL</code> if <code>substring</code> is not in <code>s</code>.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*
* @see u_strstr
* @see u_strFindFirst
@@ -308,7 +304,7 @@ u_strrstr(const UChar *s, const UChar *substring) __INTRODUCED_IN(31);
* @return A pointer to the last occurrence of <code>substring</code> in <code>s</code>,
* or <code>s</code> itself if the <code>substring</code> is empty,
* or <code>NULL</code> if <code>substring</code> is not in <code>s</code>.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*
* @see u_strstr
* @see u_strFindLast
@@ -328,7 +324,7 @@ u_strFindLast(const UChar *s, int32_t length, const UChar *substring, int32_t su
* @param c The BMP code point to find.
* @return A pointer to the last occurrence of <code>c</code> in <code>s</code>
* or <code>NULL</code> if <code>c</code> is not in <code>s</code>.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*
* @see u_strrchr32
* @see u_memrchr
@@ -350,7 +346,7 @@ u_strrchr(const UChar *s, UChar c) __INTRODUCED_IN(31);
* @param c The code point to find.
* @return A pointer to the last occurrence of <code>c</code> in <code>s</code>
* or <code>NULL</code> if <code>c</code> is not in <code>s</code>.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*
* @see u_strrchr
* @see u_memchr32
@@ -372,7 +368,7 @@ u_strrchr32(const UChar *s, UChar32 c) __INTRODUCED_IN(31);
* for which to search in the text string.
* @return A pointer to the character in <code>string</code> that matches one of the
* characters in <code>matchSet</code>, or NULL if no such character is found.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UChar * U_EXPORT2
u_strpbrk(const UChar *string, const UChar *matchSet) __INTRODUCED_IN(31);
@@ -390,7 +386,7 @@ u_strpbrk(const UChar *string, const UChar *matchSet) __INTRODUCED_IN(31);
* @return The number of initial characters in <code>string</code> that do not
* occur in <code>matchSet</code>.
* @see u_strspn
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_strcspn(const UChar *string, const UChar *matchSet) __INTRODUCED_IN(31);
@@ -408,7 +404,7 @@ u_strcspn(const UChar *string, const UChar *matchSet) __INTRODUCED_IN(31);
* @return The number of initial characters in <code>string</code> that do
* occur in <code>matchSet</code>.
* @see u_strcspn
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_strspn(const UChar *string, const UChar *matchSet) __INTRODUCED_IN(31);
@@ -438,7 +434,7 @@ u_strspn(const UChar *string, const UChar *matchSet) __INTRODUCED_IN(31);
* &myLocalSaveState for this parameter).
* @return A pointer to the next token found in src, or NULL
* when there are no more tokens.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UChar * U_EXPORT2
u_strtok_r(UChar *src,
@@ -455,7 +451,7 @@ u_strtok_r(UChar *src,
* @return 0 if <code>s1</code> and <code>s2</code> are bitwise equal; a negative
* value if <code>s1</code> is bitwise less than <code>s2,</code>; a positive
* value if <code>s1</code> is bitwise greater than <code>s2</code>.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_strcmp(const UChar *s1,
@@ -472,7 +468,7 @@ u_strcmp(const UChar *s1,
* @return a negative/zero/positive integer corresponding to whether
* the first string is less than/equal to/greater than the second one
* in code point order
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_strcmpCodePointOrder(const UChar *s1, const UChar *s2) __INTRODUCED_IN(31);
@@ -504,7 +500,7 @@ u_strcmpCodePointOrder(const UChar *s1, const UChar *s2) __INTRODUCED_IN(31);
*
* @return <0 or 0 or >0 as usual for string comparisons
*
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
U_CAPI int32_t U_EXPORT2
u_strCompare(const UChar *s1, int32_t length1,
@@ -553,7 +549,7 @@ u_strCompare(const UChar *s1, int32_t length1,
*
* @return <0 or 0 or >0 as usual for string comparisons
*
- * @stable ICU 2.2
+ * \xrefitem stable "Stable" "Stable List" ICU 2.2
*/
U_CAPI int32_t U_EXPORT2
u_strCaseCompare(const UChar *s1, int32_t length1,
@@ -573,7 +569,7 @@ u_strCaseCompare(const UChar *s1, int32_t length1,
* @return 0 if <code>s1</code> and <code>s2</code> are bitwise equal; a negative
* value if <code>s1</code> is bitwise less than <code>s2</code>; a positive
* value if <code>s1</code> is bitwise greater than <code>s2</code>.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_strncmp(const UChar *ucs1,
@@ -593,7 +589,7 @@ u_strncmp(const UChar *ucs1,
* @return a negative/zero/positive integer corresponding to whether
* the first string is less than/equal to/greater than the second one
* in code point order
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_strncmpCodePointOrder(const UChar *s1, const UChar *s2, int32_t n) __INTRODUCED_IN(31);
@@ -617,7 +613,7 @@ u_strncmpCodePointOrder(const UChar *s1, const UChar *s2, int32_t n) __INTRODUCE
* - U_FOLD_CASE_EXCLUDE_SPECIAL_I
*
* @return A negative, zero, or positive integer indicating the comparison result.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_strcasecmp(const UChar *s1, const UChar *s2, uint32_t options) __INTRODUCED_IN(31);
@@ -643,7 +639,7 @@ u_strcasecmp(const UChar *s1, const UChar *s2, uint32_t options) __INTRODUCED_IN
* - U_FOLD_CASE_EXCLUDE_SPECIAL_I
*
* @return A negative, zero, or positive integer indicating the comparison result.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_strncasecmp(const UChar *s1, const UChar *s2, int32_t n, uint32_t options) __INTRODUCED_IN(31);
@@ -669,7 +665,7 @@ u_strncasecmp(const UChar *s1, const UChar *s2, int32_t n, uint32_t options) __I
* - U_FOLD_CASE_EXCLUDE_SPECIAL_I
*
* @return A negative, zero, or positive integer indicating the comparison result.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_memcasecmp(const UChar *s1, const UChar *s2, int32_t length, uint32_t options) __INTRODUCED_IN(31);
@@ -682,7 +678,7 @@ u_memcasecmp(const UChar *s1, const UChar *s2, int32_t length, uint32_t options)
* @param dst The destination string.
* @param src The source string.
* @return A pointer to <code>dst</code>.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UChar* U_EXPORT2
u_strcpy(UChar *dst,
@@ -699,7 +695,7 @@ u_strcpy(UChar *dst,
* @param src The source string (can be NULL/invalid if n<=0).
* @param n The maximum number of characters to copy; no-op if <=0.
* @return A pointer to <code>dst</code>.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UChar* U_EXPORT2
u_strncpy(UChar *dst,
@@ -726,7 +722,7 @@ u_strncpy(UChar *dst,
* @param src The source string (can be NULL/invalid if count<=0)
* @param count The number of characters to copy; no-op if <=0
* @return A pointer to <code>dest</code>
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UChar* U_EXPORT2
u_memcpy(UChar *dest, const UChar *src, int32_t count) __INTRODUCED_IN(31);
@@ -739,7 +735,7 @@ u_memcpy(UChar *dest, const UChar *src, int32_t count) __INTRODUCED_IN(31);
* @param src The source string (can be NULL/invalid if count<=0)
* @param count The number of characters to move; no-op if <=0
* @return A pointer to <code>dest</code>
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UChar* U_EXPORT2
u_memmove(UChar *dest, const UChar *src, int32_t count) __INTRODUCED_IN(31);
@@ -753,7 +749,7 @@ u_memmove(UChar *dest, const UChar *src, int32_t count) __INTRODUCED_IN(31);
* @param c The character to initialize the string.
* @param count The maximum number of characters to set.
* @return A pointer to <code>dest</code>.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UChar* U_EXPORT2
u_memset(UChar *dest, UChar c, int32_t count) __INTRODUCED_IN(31);
@@ -769,7 +765,7 @@ u_memset(UChar *dest, UChar c, int32_t count) __INTRODUCED_IN(31);
* @return When buf1 < buf2, a negative number is returned.
* When buf1 == buf2, 0 is returned.
* When buf1 > buf2, a positive number is returned.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_memcmp(const UChar *buf1, const UChar *buf2, int32_t count) __INTRODUCED_IN(31);
@@ -787,7 +783,7 @@ u_memcmp(const UChar *buf1, const UChar *buf2, int32_t count) __INTRODUCED_IN(31
* @return a negative/zero/positive integer corresponding to whether
* the first string is less than/equal to/greater than the second one
* in code point order
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_memcmpCodePointOrder(const UChar *s1, const UChar *s2, int32_t count) __INTRODUCED_IN(31);
@@ -805,7 +801,7 @@ u_memcmpCodePointOrder(const UChar *s1, const UChar *s2, int32_t count) __INTROD
* @param count The length of the string.
* @return A pointer to the first occurrence of <code>c</code> in <code>s</code>
* or <code>NULL</code> if <code>c</code> is not in <code>s</code>.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*
* @see u_strchr
* @see u_memchr32
@@ -827,7 +823,7 @@ u_memchr(const UChar *s, UChar c, int32_t count) __INTRODUCED_IN(31);
* @param count The length of the string.
* @return A pointer to the first occurrence of <code>c</code> in <code>s</code>
* or <code>NULL</code> if <code>c</code> is not in <code>s</code>.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*
* @see u_strchr32
* @see u_memchr
@@ -849,7 +845,7 @@ u_memchr32(const UChar *s, UChar32 c, int32_t count) __INTRODUCED_IN(31);
* @param count The length of the string.
* @return A pointer to the last occurrence of <code>c</code> in <code>s</code>
* or <code>NULL</code> if <code>c</code> is not in <code>s</code>.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*
* @see u_strrchr
* @see u_memrchr32
@@ -871,7 +867,7 @@ u_memrchr(const UChar *s, UChar c, int32_t count) __INTRODUCED_IN(31);
* @param count The length of the string.
* @return A pointer to the last occurrence of <code>c</code> in <code>s</code>
* or <code>NULL</code> if <code>c</code> is not in <code>s</code>.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*
* @see u_strrchr32
* @see u_memrchr
@@ -927,23 +923,23 @@ u_memrchr32(const UChar *s, UChar32 c, int32_t count) __INTRODUCED_IN(31);
* calls.
*
*
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#if defined(U_DECLARE_UTF16)
# define U_STRING_DECL(var, cs, length) static const UChar *var=(const UChar *)U_DECLARE_UTF16(cs)
- /**@stable ICU 2.0 */
+ /**\xrefitem stable "Stable" "Stable List" ICU 2.0 */
# define U_STRING_INIT(var, cs, length)
#elif U_SIZEOF_WCHAR_T==U_SIZEOF_UCHAR && (U_CHARSET_FAMILY==U_ASCII_FAMILY || (U_SIZEOF_UCHAR == 2 && defined(U_WCHAR_IS_UTF16)))
# define U_STRING_DECL(var, cs, length) static const UChar var[(length)+1]=L ## cs
- /**@stable ICU 2.0 */
+ /**\xrefitem stable "Stable" "Stable List" ICU 2.0 */
# define U_STRING_INIT(var, cs, length)
#elif U_SIZEOF_UCHAR==1 && U_CHARSET_FAMILY==U_ASCII_FAMILY
# define U_STRING_DECL(var, cs, length) static const UChar var[(length)+1]=cs
- /**@stable ICU 2.0 */
+ /**\xrefitem stable "Stable" "Stable List" ICU 2.0 */
# define U_STRING_INIT(var, cs, length)
#else
# define U_STRING_DECL(var, cs, length) static UChar var[(length)+1]
- /**@stable ICU 2.0 */
+ /**\xrefitem stable "Stable" "Stable List" ICU 2.0 */
# define U_STRING_INIT(var, cs, length) u_charsToUChars(cs, var, length+1)
#endif
@@ -960,7 +956,7 @@ U_CDECL_BEGIN
* @return the character represented by the escape sequence at
* offset
* @see u_unescapeAt
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
typedef UChar (U_CALLCONV *UNESCAPE_CHAR_AT)(int32_t offset, void *context);
U_CDECL_END
@@ -985,7 +981,7 @@ U_CDECL_END
* which must not indicate a failure before the function call.
* @return The length of the result string. It may be greater than destCapacity. In that case,
* only some of the result was written to the destination buffer.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_strToUpper(UChar *dest, int32_t destCapacity,
@@ -1013,7 +1009,7 @@ u_strToUpper(UChar *dest, int32_t destCapacity,
* which must not indicate a failure before the function call.
* @return The length of the result string. It may be greater than destCapacity. In that case,
* only some of the result was written to the destination buffer.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_strToLower(UChar *dest, int32_t destCapacity,
@@ -1061,7 +1057,7 @@ u_strToLower(UChar *dest, int32_t destCapacity,
* which must not indicate a failure before the function call.
* @return The length of the result string. It may be greater than destCapacity. In that case,
* only some of the result was written to the destination buffer.
- * @stable ICU 2.1
+ * \xrefitem stable "Stable" "Stable List" ICU 2.1
*/
U_CAPI int32_t U_EXPORT2
u_strToTitle(UChar *dest, int32_t destCapacity,
@@ -1096,7 +1092,7 @@ u_strToTitle(UChar *dest, int32_t destCapacity,
* which must not indicate a failure before the function call.
* @return The length of the result string. It may be greater than destCapacity. In that case,
* only some of the result was written to the destination buffer.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI int32_t U_EXPORT2
u_strFoldCase(UChar *dest, int32_t destCapacity,
@@ -1129,7 +1125,7 @@ u_strFoldCase(UChar *dest, int32_t destCapacity,
* @param pErrorCode Must be a valid pointer to an error code value,
* which must not indicate a failure before the function call.
* @return The pointer to destination buffer.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
* @see u_strToUTF8WithSub
* @see u_strFromUTF8
*/
@@ -1161,7 +1157,7 @@ u_strToUTF8(char *dest,
* @param pErrorCode Must be a valid pointer to an error code value,
* which must not indicate a failure before the function call.
* @return The pointer to destination buffer.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
* @see u_strFromUTF8WithSub
* @see u_strFromUTF8Lenient
*/
@@ -1208,7 +1204,7 @@ u_strFromUTF8(UChar *dest,
* @return The pointer to destination buffer.
* @see u_strToUTF8
* @see u_strFromUTF8WithSub
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
U_CAPI char* U_EXPORT2
u_strToUTF8WithSub(char *dest,
@@ -1255,7 +1251,7 @@ u_strToUTF8WithSub(char *dest,
* @see u_strFromUTF8
* @see u_strFromUTF8Lenient
* @see u_strToUTF8WithSub
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
U_CAPI UChar* U_EXPORT2
u_strFromUTF8WithSub(UChar *dest,
@@ -1317,7 +1313,7 @@ u_strFromUTF8WithSub(UChar *dest,
* @see u_strFromUTF8
* @see u_strFromUTF8WithSub
* @see u_strToUTF8WithSub
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
U_CAPI UChar * U_EXPORT2
u_strFromUTF8Lenient(UChar *dest,
@@ -1349,7 +1345,7 @@ u_strFromUTF8Lenient(UChar *dest,
* @return The pointer to destination buffer.
* @see u_strToUTF32WithSub
* @see u_strFromUTF32
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UChar32* U_EXPORT2
u_strToUTF32(UChar32 *dest,
@@ -1381,7 +1377,7 @@ u_strToUTF32(UChar32 *dest,
* @return The pointer to destination buffer.
* @see u_strFromUTF32WithSub
* @see u_strToUTF32
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI UChar* U_EXPORT2
u_strFromUTF32(UChar *dest,
@@ -1426,7 +1422,7 @@ u_strFromUTF32(UChar *dest,
* @return The pointer to destination buffer.
* @see u_strToUTF32
* @see u_strFromUTF32WithSub
- * @stable ICU 4.2
+ * \xrefitem stable "Stable" "Stable List" ICU 4.2
*/
U_CAPI UChar32* U_EXPORT2
u_strToUTF32WithSub(UChar32 *dest,
@@ -1472,7 +1468,7 @@ u_strToUTF32WithSub(UChar32 *dest,
* @return The pointer to destination buffer.
* @see u_strFromUTF32
* @see u_strToUTF32WithSub
- * @stable ICU 4.2
+ * \xrefitem stable "Stable" "Stable List" ICU 4.2
*/
U_CAPI UChar* U_EXPORT2
u_strFromUTF32WithSub(UChar *dest,
@@ -1490,3 +1486,5 @@ u_strFromUTF32WithSub(UChar *dest,
#endif
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/utext.h b/libicu/ndk_headers/unicode/utext.h
index 158a8521e..421b58a92 100644
--- a/libicu/ndk_headers/unicode/utext.h
+++ b/libicu/ndk_headers/unicode/utext.h
@@ -20,6 +20,8 @@
#define __UTEXT_H__
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C API: Abstract Unicode Text API
*
@@ -150,7 +152,7 @@
U_CDECL_BEGIN
struct UText;
-typedef struct UText UText; /**< C typedef for struct UText. @stable ICU 3.6 */
+typedef struct UText UText; /**< C typedef for struct UText. \xrefitem stable "Stable" "Stable List" ICU 3.6 */
/***************************************************************************************
@@ -178,7 +180,7 @@ typedef struct UText UText; /**< C typedef for struct UText. @stable ICU 3.6 */
* returned by this function, and may be safely used again in
* a subsequent utext_open.
*
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI UText * U_EXPORT2
utext_close(UText *ut) __INTRODUCED_IN(31);
@@ -204,7 +206,7 @@ utext_close(UText *ut) __INTRODUCED_IN(31);
* @param status Errors are returned here.
* @return A pointer to the UText. If a pre-allocated UText was provided, it
* will always be used and returned.
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI UText * U_EXPORT2
utext_openUTF8(UText *ut, const char *s, int64_t length, UErrorCode *status) __INTRODUCED_IN(31);
@@ -224,7 +226,7 @@ utext_openUTF8(UText *ut, const char *s, int64_t length, UErrorCode *status) __I
* @param status Errors are returned here.
* @return A pointer to the UText. If a pre-allocated UText was provided, it
* will always be used and returned.
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI UText * U_EXPORT2
utext_openUChars(UText *ut, const UChar *s, int64_t length, UErrorCode *status) __INTRODUCED_IN(31);
@@ -301,7 +303,7 @@ utext_openUChars(UText *ut, const UChar *s, int64_t length, UErrorCode *status)
* will be returned if the text provider is unable to clone the
* original text.
* @return The newly created clone, or NULL if the clone operation failed.
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI UText * U_EXPORT2
utext_clone(UText *dest, const UText *src, UBool deep, UBool readOnly, UErrorCode *status) __INTRODUCED_IN(31);
@@ -318,7 +320,7 @@ utext_clone(UText *dest, const UText *src, UBool deep, UBool readOnly, UErrorCod
* @param a The first of the two UTexts to compare.
* @param b The other UText to be compared.
* @return true if the two UTexts are equal.
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
U_CAPI UBool U_EXPORT2
utext_equals(const UText *a, const UText *b) __INTRODUCED_IN(31);
@@ -341,7 +343,7 @@ utext_equals(const UText *a, const UText *b) __INTRODUCED_IN(31);
* @param ut the text to be accessed.
* @return the length of the text, expressed in native units.
*
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI int64_t U_EXPORT2
utext_nativeLength(UText *ut) __INTRODUCED_IN(31);
@@ -373,7 +375,7 @@ utext_nativeLength(UText *ut) __INTRODUCED_IN(31);
* to other than the first unit of a multi-unit character, it will be adjusted
* to the start of the character.
* @return the code point at the specified index.
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI UChar32 U_EXPORT2
utext_char32At(UText *ut, int64_t nativeIndex) __INTRODUCED_IN(31);
@@ -389,7 +391,7 @@ utext_char32At(UText *ut, int64_t nativeIndex) __INTRODUCED_IN(31);
*
* @param ut the text to be accessed.
* @return the Unicode code point at the current iterator position.
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI UChar32 U_EXPORT2
utext_current32(UText *ut) __INTRODUCED_IN(31);
@@ -413,7 +415,7 @@ utext_current32(UText *ut) __INTRODUCED_IN(31);
* @param ut the text to be accessed.
* @return the Unicode code point at the iteration position.
* @see UTEXT_NEXT32
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI UChar32 U_EXPORT2
utext_next32(UText *ut) __INTRODUCED_IN(31);
@@ -436,7 +438,7 @@ utext_next32(UText *ut) __INTRODUCED_IN(31);
* @return the previous UChar32 code point, or U_SENTINEL (-1)
* if the iteration has reached the start of the text.
* @see UTEXT_PREVIOUS32
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI UChar32 U_EXPORT2
utext_previous32(UText *ut) __INTRODUCED_IN(31);
@@ -460,7 +462,7 @@ utext_previous32(UText *ut) __INTRODUCED_IN(31);
* @param nativeIndex Iteration index, in the native units of the text provider.
* @return Code point which starts at or before index,
* or U_SENTINEL (-1) if it is out of bounds.
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI UChar32 U_EXPORT2
utext_next32From(UText *ut, int64_t nativeIndex) __INTRODUCED_IN(31);
@@ -482,7 +484,7 @@ utext_next32From(UText *ut, int64_t nativeIndex) __INTRODUCED_IN(31);
* @return Code point preceding the one at the initial index,
* or U_SENTINEL (-1) if it is out of bounds.
*
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI UChar32 U_EXPORT2
utext_previous32From(UText *ut, int64_t nativeIndex) __INTRODUCED_IN(31);
@@ -499,7 +501,7 @@ utext_previous32From(UText *ut, int64_t nativeIndex) __INTRODUCED_IN(31);
*
* @param ut the text to be accessed.
* @return the current index position, in the native units of the text provider.
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI int64_t U_EXPORT2
utext_getNativeIndex(const UText *ut) __INTRODUCED_IN(31);
@@ -527,7 +529,7 @@ utext_getNativeIndex(const UText *ut) __INTRODUCED_IN(31);
*
* @param ut the text to be accessed.
* @param nativeIndex the native unit index of the new iteration position.
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI void U_EXPORT2
utext_setNativeIndex(UText *ut, int64_t nativeIndex) __INTRODUCED_IN(31);
@@ -548,7 +550,7 @@ utext_setNativeIndex(UText *ut, int64_t nativeIndex) __INTRODUCED_IN(31);
* @param delta the signed number of code points to move the iteration position.
* @return true if the position could be moved the requested number of positions while
* staying within the range [0 - text length].
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI UBool U_EXPORT2
utext_moveIndex32(UText *ut, int32_t delta) __INTRODUCED_IN(31);
@@ -575,7 +577,7 @@ utext_moveIndex32(UText *ut, int32_t delta) __INTRODUCED_IN(31);
* @param ut the text to be accessed
* @return the native index of the character preceding the current index position,
* or zero if the current position is at the start of the text.
- * @stable ICU 3.6
+ * \xrefitem stable "Stable" "Stable List" ICU 3.6
*/
U_CAPI int64_t U_EXPORT2
utext_getPreviousNativeIndex(UText *ut);
@@ -613,7 +615,7 @@ utext_getPreviousNativeIndex(UText *ut);
* buffer was too small. Returns number of UChars for preflighting.
* @return Number of UChars in the data to be extracted. Does not include a trailing NUL.
*
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
U_CAPI int32_t U_EXPORT2
utext_extract(UText *ut,
@@ -641,7 +643,7 @@ U_NAMESPACE_BEGIN
*
* @see LocalPointerBase
* @see LocalPointer
- * @stable ICU 4.4
+ * \xrefitem stable "Stable" "Stable List" ICU 4.4
*/
U_DEFINE_LOCAL_OPEN_POINTER(LocalUTextPointer, UText, utext_close);
@@ -651,3 +653,5 @@ U_NAMESPACE_END
#endif
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/utf.h b/libicu/ndk_headers/unicode/utf.h
index c9d5f5785..c50ed7e03 100644
--- a/libicu/ndk_headers/unicode/utf.h
+++ b/libicu/ndk_headers/unicode/utf.h
@@ -17,6 +17,8 @@
*/
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C API: Code point macros
*
@@ -110,7 +112,7 @@
* Compound statements (curly braces {}) must be used for if-else-while...
* bodies and all macro statements should be terminated with semicolon.
*
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#ifndef __UTF_H__
@@ -125,7 +127,7 @@
* Is this code point a Unicode noncharacter?
* @param c 32-bit code point
* @return true or false
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U_IS_UNICODE_NONCHAR(c) \
((c)>=0xfdd0 && \
@@ -146,7 +148,7 @@
*
* @param c 32-bit code point
* @return true or false
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U_IS_UNICODE_CHAR(c) \
((uint32_t)(c)<0xd800 || \
@@ -156,7 +158,7 @@
* Is this code point a BMP code point (U+0000..U+ffff)?
* @param c 32-bit code point
* @return true or false
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
#define U_IS_BMP(c) ((uint32_t)(c)<=0xffff)
@@ -164,7 +166,7 @@
* Is this code point a supplementary code point (U+10000..U+10ffff)?
* @param c 32-bit code point
* @return true or false
- * @stable ICU 2.8
+ * \xrefitem stable "Stable" "Stable List" ICU 2.8
*/
#define U_IS_SUPPLEMENTARY(c) ((uint32_t)((c)-0x10000)<=0xfffff)
@@ -172,7 +174,7 @@
* Is this code point a lead surrogate (U+d800..U+dbff)?
* @param c 32-bit code point
* @return true or false
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U_IS_LEAD(c) (((c)&0xfffffc00)==0xd800)
@@ -180,7 +182,7 @@
* Is this code point a trail surrogate (U+dc00..U+dfff)?
* @param c 32-bit code point
* @return true or false
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U_IS_TRAIL(c) (((c)&0xfffffc00)==0xdc00)
@@ -188,7 +190,7 @@
* Is this code point a surrogate (U+d800..U+dfff)?
* @param c 32-bit code point
* @return true or false
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U_IS_SURROGATE(c) (((c)&0xfffff800)==0xd800)
@@ -197,7 +199,7 @@
* is it a lead surrogate?
* @param c 32-bit code point
* @return true or false
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U_IS_SURROGATE_LEAD(c) (((c)&0x400)==0)
@@ -206,7 +208,7 @@
* is it a trail surrogate?
* @param c 32-bit code point
* @return true or false
- * @stable ICU 4.2
+ * \xrefitem stable "Stable" "Stable List" ICU 4.2
*/
#define U_IS_SURROGATE_TRAIL(c) (((c)&0x400)!=0)
@@ -223,3 +225,5 @@
#endif /* !U_NO_DEFAULT_INCLUDE_UTF_HEADERS */
#endif /* __UTF_H__ */
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/utf16.h b/libicu/ndk_headers/unicode/utf16.h
index 3902c60e9..3bce5cfdb 100644
--- a/libicu/ndk_headers/unicode/utf16.h
+++ b/libicu/ndk_headers/unicode/utf16.h
@@ -17,6 +17,8 @@
*/
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C API: 16-bit Unicode handling macros
*
@@ -46,7 +48,7 @@
* Does this code unit alone encode a code point (BMP, not a surrogate)?
* @param c 16-bit code unit
* @return true or false
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_IS_SINGLE(c) !U_IS_SURROGATE(c)
@@ -54,7 +56,7 @@
* Is this code unit a lead surrogate (U+d800..U+dbff)?
* @param c 16-bit code unit
* @return true or false
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_IS_LEAD(c) (((c)&0xfffffc00)==0xd800)
@@ -62,7 +64,7 @@
* Is this code unit a trail surrogate (U+dc00..U+dfff)?
* @param c 16-bit code unit
* @return true or false
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_IS_TRAIL(c) (((c)&0xfffffc00)==0xdc00)
@@ -70,7 +72,7 @@
* Is this code unit a surrogate (U+d800..U+dfff)?
* @param c 16-bit code unit
* @return true or false
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_IS_SURROGATE(c) U_IS_SURROGATE(c)
@@ -79,7 +81,7 @@
* is it a lead surrogate?
* @param c 16-bit code unit
* @return true or false
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_IS_SURROGATE_LEAD(c) (((c)&0x400)==0)
@@ -88,13 +90,13 @@
* is it a trail surrogate?
* @param c 16-bit code unit
* @return true or false
- * @stable ICU 4.2
+ * \xrefitem stable "Stable" "Stable List" ICU 4.2
*/
#define U16_IS_SURROGATE_TRAIL(c) (((c)&0x400)!=0)
/**
* Helper constant for U16_GET_SUPPLEMENTARY.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#define U16_SURROGATE_OFFSET ((0xd800<<10UL)+0xdc00-0x10000)
@@ -107,7 +109,7 @@
* @param lead lead surrogate (U+d800..U+dbff)
* @param trail trail surrogate (U+dc00..U+dfff)
* @return supplementary code point (U+10000..U+10ffff)
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_GET_SUPPLEMENTARY(lead, trail) \
(((UChar32)(lead)<<10UL)+(UChar32)(trail)-U16_SURROGATE_OFFSET)
@@ -118,7 +120,7 @@
* supplementary code point (0x10000..0x10ffff).
* @param supplementary 32-bit code point (U+10000..U+10ffff)
* @return lead surrogate (U+d800..U+dbff) for supplementary
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_LEAD(supplementary) (UChar)(((supplementary)>>10)+0xd7c0)
@@ -127,7 +129,7 @@
* supplementary code point (0x10000..0x10ffff).
* @param supplementary 32-bit code point (U+10000..U+10ffff)
* @return trail surrogate (U+dc00..U+dfff) for supplementary
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_TRAIL(supplementary) (UChar)(((supplementary)&0x3ff)|0xdc00)
@@ -136,14 +138,14 @@
* The result is not defined if c is not a Unicode code point (U+0000..U+10ffff).
* @param c 32-bit code point
* @return 1 or 2
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_LENGTH(c) ((uint32_t)(c)<=0xffff ? 1 : 2)
/**
* The maximum number of 16-bit code units per Unicode code point (U+0000..U+10ffff).
* @return 2
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_MAX_LENGTH 2
@@ -162,7 +164,7 @@
* @param i string offset
* @param c output UChar32 variable
* @see U16_GET
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_GET_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[i]; \
@@ -196,7 +198,7 @@
* @param length string length
* @param c output UChar32 variable
* @see U16_GET_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_GET(s, start, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[i]; \
@@ -235,7 +237,7 @@
* @param length string length
* @param c output UChar32 variable
* @see U16_GET_UNSAFE
- * @stable ICU 60
+ * \xrefitem stable "Stable" "Stable List" ICU 60
*/
#define U16_GET_OR_FFFD(s, start, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[i]; \
@@ -276,7 +278,7 @@
* @param i string offset
* @param c output UChar32 variable
* @see U16_NEXT
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_NEXT_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
@@ -304,7 +306,7 @@
* @param length string length
* @param c output UChar32 variable
* @see U16_NEXT_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_NEXT(s, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
@@ -336,7 +338,7 @@
* @param length string length
* @param c output UChar32 variable
* @see U16_NEXT_UNSAFE
- * @stable ICU 60
+ * \xrefitem stable "Stable" "Stable List" ICU 60
*/
#define U16_NEXT_OR_FFFD(s, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
@@ -362,7 +364,7 @@
* @param i string offset
* @param c code point to append
* @see U16_APPEND
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_APPEND_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
if((uint32_t)(c)<=0xffff) { \
@@ -388,7 +390,7 @@
* @param c code point to append
* @param isError output UBool set to true if an error occurs, otherwise not modified
* @see U16_APPEND_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_APPEND(s, i, capacity, c, isError) UPRV_BLOCK_MACRO_BEGIN { \
if((uint32_t)(c)<=0xffff) { \
@@ -409,7 +411,7 @@
* @param s const UChar * string
* @param i string offset
* @see U16_FWD_1
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_FWD_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
if(U16_IS_LEAD((s)[(i)++])) { \
@@ -428,7 +430,7 @@
* @param i string offset, must be i<length
* @param length string length
* @see U16_FWD_1_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_FWD_1(s, i, length) UPRV_BLOCK_MACRO_BEGIN { \
if(U16_IS_LEAD((s)[(i)++]) && (i)!=(length) && U16_IS_TRAIL((s)[i])) { \
@@ -446,7 +448,7 @@
* @param i string offset
* @param n number of code points to skip
* @see U16_FWD_N
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_FWD_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
@@ -469,7 +471,7 @@
* @param length int32_t string length
* @param n number of code points to skip
* @see U16_FWD_N_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_FWD_N(s, i, length, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
@@ -490,7 +492,7 @@
* @param s const UChar * string
* @param i string offset
* @see U16_SET_CP_START
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_SET_CP_START_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
if(U16_IS_TRAIL((s)[i])) { \
@@ -510,7 +512,7 @@
* @param start starting string offset (usually 0)
* @param i string offset, must be start<=i
* @see U16_SET_CP_START_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_SET_CP_START(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \
if(U16_IS_TRAIL((s)[i]) && (i)>(start) && U16_IS_LEAD((s)[(i)-1])) { \
@@ -538,7 +540,7 @@
* @param i string offset
* @param c output UChar32 variable
* @see U16_PREV
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_PREV_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
@@ -565,7 +567,7 @@
* @param i string offset, must be start<i
* @param c output UChar32 variable
* @see U16_PREV_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_PREV(s, start, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
@@ -596,7 +598,7 @@
* @param i string offset, must be start<i
* @param c output UChar32 variable
* @see U16_PREV_UNSAFE
- * @stable ICU 60
+ * \xrefitem stable "Stable" "Stable List" ICU 60
*/
#define U16_PREV_OR_FFFD(s, start, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
@@ -620,7 +622,7 @@
* @param s const UChar * string
* @param i string offset
* @see U16_BACK_1
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_BACK_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
if(U16_IS_TRAIL((s)[--(i)])) { \
@@ -638,7 +640,7 @@
* @param start starting string offset (usually 0)
* @param i string offset, must be start<i
* @see U16_BACK_1_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_BACK_1(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \
if(U16_IS_TRAIL((s)[--(i)]) && (i)>(start) && U16_IS_LEAD((s)[(i)-1])) { \
@@ -657,7 +659,7 @@
* @param i string offset
* @param n number of code points to skip
* @see U16_BACK_N
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_BACK_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
@@ -679,7 +681,7 @@
* @param i string offset, must be start<i
* @param n number of code points to skip
* @see U16_BACK_N_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_BACK_N(s, start, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
@@ -700,7 +702,7 @@
* @param s const UChar * string
* @param i string offset
* @see U16_SET_CP_LIMIT
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_SET_CP_LIMIT_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
if(U16_IS_LEAD((s)[(i)-1])) { \
@@ -723,7 +725,7 @@
* @param i int32_t string offset, start<=i<=length
* @param length int32_t string length
* @see U16_SET_CP_LIMIT_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U16_SET_CP_LIMIT(s, start, i, length) UPRV_BLOCK_MACRO_BEGIN { \
if((start)<(i) && ((i)<(length) || (length)<0) && U16_IS_LEAD((s)[(i)-1]) && U16_IS_TRAIL((s)[i])) { \
@@ -732,3 +734,5 @@
} UPRV_BLOCK_MACRO_END
#endif
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/utf8.h b/libicu/ndk_headers/unicode/utf8.h
index 8c492e019..90b948a65 100644
--- a/libicu/ndk_headers/unicode/utf8.h
+++ b/libicu/ndk_headers/unicode/utf8.h
@@ -17,6 +17,8 @@
*/
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C API: 8-bit Unicode handling macros
*
@@ -51,7 +53,7 @@
* however it is called by public macros in this file and thus must remain stable.
*
* @param leadByte The first byte of a UTF-8 sequence. Must be 0..0xff.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#define U8_COUNT_TRAIL_BYTES(leadByte) \
(U8_IS_LEAD(leadByte) ? \
@@ -66,7 +68,7 @@
* however it is called by public macros in this file and thus must remain stable.
*
* @param leadByte The first byte of a UTF-8 sequence. Must be 0..0xff.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#define U8_COUNT_TRAIL_BYTES_UNSAFE(leadByte) \
(((uint8_t)(leadByte)>=0xc2)+((uint8_t)(leadByte)>=0xe0)+((uint8_t)(leadByte)>=0xf0))
@@ -76,7 +78,7 @@
*
* This is internal since it is not meant to be called directly by external clients;
* however it is called by public macros in this file and thus must remain stable.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#define U8_MASK_LEAD_BYTE(leadByte, countTrailBytes) ((leadByte)&=(1<<(6-(countTrailBytes)))-1)
@@ -86,14 +88,14 @@
* Lead byte E0..EF bits 3..0 are used as byte index,
* first trail byte bits 7..5 are used as bit index into that byte.
* @see U8_IS_VALID_LEAD3_AND_T1
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#define U8_LEAD3_T1_BITS "\x20\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x10\x30\x30"
/**
* Internal 3-byte UTF-8 validity check.
* Non-zero if lead byte E0..EF and first trail byte 00..FF start a valid sequence.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#define U8_IS_VALID_LEAD3_AND_T1(lead, t1) (U8_LEAD3_T1_BITS[(lead)&0xf]&(1<<((uint8_t)(t1)>>5)))
@@ -103,14 +105,14 @@
* First trail byte bits 7..4 are used as byte index,
* lead byte F0..F4 bits 2..0 are used as bit index into that byte.
* @see U8_IS_VALID_LEAD4_AND_T1
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#define U8_LEAD4_T1_BITS "\x00\x00\x00\x00\x00\x00\x00\x00\x1E\x0F\x0F\x0F\x00\x00\x00\x00"
/**
* Internal 4-byte UTF-8 validity check.
* Non-zero if lead byte F0..F4 and first trail byte 00..FF start a valid sequence.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#define U8_IS_VALID_LEAD4_AND_T1(lead, t1) (U8_LEAD4_T1_BITS[(uint8_t)(t1)>>4]&(1<<((lead)&7)))
@@ -128,7 +130,7 @@
* Does this code unit (byte) encode a code point by itself (US-ASCII 0..0x7f)?
* @param c 8-bit code unit (byte)
* @return true or false
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_IS_SINGLE(c) (((c)&0x80)==0)
@@ -136,7 +138,7 @@
* Is this code unit (byte) a UTF-8 lead byte? (0xC2..0xF4)
* @param c 8-bit code unit (byte)
* @return true or false
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_IS_LEAD(c) ((uint8_t)((c)-0xc2)<=0x32)
// 0x32=0xf4-0xc2
@@ -145,7 +147,7 @@
* Is this code unit (byte) a UTF-8 trail byte? (0x80..0xBF)
* @param c 8-bit code unit (byte)
* @return true or false
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_IS_TRAIL(c) ((int8_t)(c)<-0x40)
@@ -154,7 +156,7 @@
* of this Unicode code point?
* @param c 32-bit code point
* @return 1..4, or 0 if c is a surrogate or not a Unicode code point
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_LENGTH(c) \
((uint32_t)(c)<=0x7f ? 1 : \
@@ -170,7 +172,7 @@
/**
* The maximum number of UTF-8 code units (bytes) per Unicode code point (U+0000..U+10ffff).
* @return 4
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_MAX_LENGTH 4
@@ -188,7 +190,7 @@
* @param i string offset
* @param c output UChar32 variable
* @see U8_GET
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_GET_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
int32_t _u8_get_unsafe_index=(int32_t)(i); \
@@ -215,7 +217,7 @@
* @param length int32_t string length
* @param c output UChar32 variable, set to <0 in case of an error
* @see U8_GET_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_GET(s, start, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
int32_t _u8_get_index=(i); \
@@ -246,7 +248,7 @@
* @param length int32_t string length
* @param c output UChar32 variable, set to U+FFFD in case of an error
* @see U8_GET
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
#define U8_GET_OR_FFFD(s, start, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
int32_t _u8_get_index=(i); \
@@ -271,7 +273,7 @@
* @param i string offset
* @param c output UChar32 variable
* @see U8_NEXT
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_NEXT_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(uint8_t)(s)[(i)++]; \
@@ -307,7 +309,7 @@
* @param length int32_t string length
* @param c output UChar32 variable, set to <0 in case of an error
* @see U8_NEXT_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_NEXT(s, i, length, c) U8_INTERNAL_NEXT_OR_SUB(s, i, length, c, U_SENTINEL)
@@ -333,11 +335,11 @@
* @param length int32_t string length
* @param c output UChar32 variable, set to U+FFFD in case of an error
* @see U8_NEXT
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
#define U8_NEXT_OR_FFFD(s, i, length, c) U8_INTERNAL_NEXT_OR_SUB(s, i, length, c, 0xfffd)
-/** @internal */
+/** \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
#define U8_INTERNAL_NEXT_OR_SUB(s, i, length, c, sub) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(uint8_t)(s)[(i)++]; \
if(!U8_IS_SINGLE(c)) { \
@@ -377,7 +379,7 @@
* @param i string offset
* @param c code point to append
* @see U8_APPEND
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_APPEND_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
uint32_t __uc=(c); \
@@ -414,7 +416,7 @@
* @param c UChar32 code point to append
* @param isError output UBool set to true if an error occurs, otherwise not modified
* @see U8_APPEND_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_APPEND(s, i, capacity, c, isError) UPRV_BLOCK_MACRO_BEGIN { \
uint32_t __uc=(c); \
@@ -445,7 +447,7 @@
* @param s const uint8_t * string
* @param i string offset
* @see U8_FWD_1
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_FWD_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
(i)+=1+U8_COUNT_TRAIL_BYTES_UNSAFE((s)[i]); \
@@ -462,7 +464,7 @@
* @param i int32_t string offset, must be i<length
* @param length int32_t string length
* @see U8_FWD_1_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_FWD_1(s, i, length) UPRV_BLOCK_MACRO_BEGIN { \
uint8_t __b=(s)[(i)++]; \
@@ -497,7 +499,7 @@
* @param i string offset
* @param n number of code points to skip
* @see U8_FWD_N
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_FWD_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
@@ -520,7 +522,7 @@
* @param length int32_t string length
* @param n number of code points to skip
* @see U8_FWD_N_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_FWD_N(s, i, length, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
@@ -541,7 +543,7 @@
* @param s const uint8_t * string
* @param i string offset
* @see U8_SET_CP_START
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_SET_CP_START_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
while(U8_IS_TRAIL((s)[i])) { --(i); } \
@@ -562,7 +564,7 @@
* @param i int32_t string offset, must be start<=i
* @see U8_SET_CP_START_UNSAFE
* @see U8_TRUNCATE_IF_INCOMPLETE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_SET_CP_START(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \
if(U8_IS_TRAIL((s)[(i)])) { \
@@ -594,7 +596,7 @@
* @param start int32_t starting string offset (usually 0)
* @param length int32_t string length (usually start<=length)
* @see U8_SET_CP_START
- * @stable ICU 61
+ * \xrefitem stable "Stable" "Stable List" ICU 61
*/
#define U8_TRUNCATE_IF_INCOMPLETE(s, start, length) UPRV_BLOCK_MACRO_BEGIN { \
if((length)>(start)) { \
@@ -639,7 +641,7 @@
* @param i string offset
* @param c output UChar32 variable
* @see U8_PREV
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_PREV_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(uint8_t)(s)[--(i)]; \
@@ -681,7 +683,7 @@
* @param i int32_t string offset, must be start<i
* @param c output UChar32 variable, set to <0 in case of an error
* @see U8_PREV_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_PREV(s, start, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(uint8_t)(s)[--(i)]; \
@@ -712,7 +714,7 @@
* @param i int32_t string offset, must be start<i
* @param c output UChar32 variable, set to U+FFFD in case of an error
* @see U8_PREV
- * @stable ICU 51
+ * \xrefitem stable "Stable" "Stable List" ICU 51
*/
#define U8_PREV_OR_FFFD(s, start, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(uint8_t)(s)[--(i)]; \
@@ -730,7 +732,7 @@
* @param s const uint8_t * string
* @param i string offset
* @see U8_BACK_1
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_BACK_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
while(U8_IS_TRAIL((s)[--(i)])) {} \
@@ -746,7 +748,7 @@
* @param start int32_t starting string offset (usually 0)
* @param i int32_t string offset, must be start<i
* @see U8_BACK_1_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_BACK_1(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \
if(U8_IS_TRAIL((s)[--(i)])) { \
@@ -765,7 +767,7 @@
* @param i string offset
* @param n number of code points to skip
* @see U8_BACK_N
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_BACK_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
@@ -787,7 +789,7 @@
* @param i int32_t string offset, must be start<i
* @param n number of code points to skip
* @see U8_BACK_N_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_BACK_N(s, start, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
@@ -808,7 +810,7 @@
* @param s const uint8_t * string
* @param i string offset
* @see U8_SET_CP_LIMIT
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_SET_CP_LIMIT_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
U8_BACK_1_UNSAFE(s, i); \
@@ -830,7 +832,7 @@
* @param i int32_t string offset, must be start<=i<=length
* @param length int32_t string length
* @see U8_SET_CP_LIMIT_UNSAFE
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U8_SET_CP_LIMIT(s, start, i, length) UPRV_BLOCK_MACRO_BEGIN { \
if((start)<(i) && ((i)<(length) || (length)<0)) { \
@@ -840,3 +842,5 @@
} UPRV_BLOCK_MACRO_END
#endif
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/utf_old.h b/libicu/ndk_headers/unicode/utf_old.h
index 160f5ad0a..fb01d7d35 100644
--- a/libicu/ndk_headers/unicode/utf_old.h
+++ b/libicu/ndk_headers/unicode/utf_old.h
@@ -155,7 +155,7 @@
*
* For reasons for the deprecation see the utf_old.h file comments.
*
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef U_HIDE_OBSOLETE_UTF_OLD_H
# define U_HIDE_OBSOLETE_UTF_OLD_H 0
@@ -171,24 +171,24 @@
* ICU always counts Unicode code units (UChars) for
* string offsets, indexes, and lengths, not Unicode code points.
*
- * @obsolete ICU 2.6. Use int32_t directly instead since this API will be removed in that release.
+ * \xrefitem obsolete "Obsolete" "Obsolete List" ICU 2.6. Use int32_t directly instead since this API will be removed in that release.
*/
typedef int32_t UTextOffset;
#endif
-/** Number of bits in a Unicode string code unit - ICU uses 16-bit Unicode. @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** Number of bits in a Unicode string code unit - ICU uses 16-bit Unicode. \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF_SIZE 16
/**
* The default choice for general Unicode string macros is to use the ..._SAFE macro implementations
* with strict=false.
*
- * @deprecated ICU 2.4. Obsolete, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h.
*/
#define UTF_SAFE
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#undef UTF_UNSAFE
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#undef UTF_STRICT
/**
@@ -203,14 +203,14 @@ typedef int32_t UTextOffset;
* that needs the same number of code units (bytes) as were seen by
* a macro. They should be tested with UTF_IS_ERROR() or UTF_IS_VALID().
*
- * @deprecated ICU 2.4. Obsolete, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h.
*/
#define UTF8_ERROR_VALUE_1 0x15
/**
* See documentation on UTF8_ERROR_VALUE_1 for details.
*
- * @deprecated ICU 2.4. Obsolete, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h.
*/
#define UTF8_ERROR_VALUE_2 0x9f
@@ -218,7 +218,7 @@ typedef int32_t UTextOffset;
* Error value for all UTFs. This code point value will be set by macros with error
* checking if an error is detected.
*
- * @deprecated ICU 2.4. Obsolete, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h.
*/
#define UTF_ERROR_VALUE 0xffff
@@ -226,7 +226,7 @@ typedef int32_t UTextOffset;
* Is a given 32-bit code an error value
* as returned by one of the macros for any UTF?
*
- * @deprecated ICU 2.4. Obsolete, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h.
*/
#define UTF_IS_ERROR(c) \
(((c)&0xfffe)==0xfffe || (c)==UTF8_ERROR_VALUE_1 || (c)==UTF8_ERROR_VALUE_2)
@@ -234,7 +234,7 @@ typedef int32_t UTextOffset;
/**
* This is a combined macro: Is c a valid Unicode value _and_ not an error code?
*
- * @deprecated ICU 2.4. Obsolete, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h.
*/
#define UTF_IS_VALID(c) \
(UTF_IS_UNICODE_CHAR(c) && \
@@ -242,14 +242,14 @@ typedef int32_t UTextOffset;
/**
* Is this code unit or code point a surrogate (U+d800..U+dfff)?
- * @deprecated ICU 2.4. Renamed to U_IS_SURROGATE and U16_IS_SURROGATE, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U_IS_SURROGATE and U16_IS_SURROGATE, see utf_old.h.
*/
#define UTF_IS_SURROGATE(uchar) (((uchar)&0xfffff800)==0xd800)
/**
* Is a given 32-bit code point a Unicode noncharacter?
*
- * @deprecated ICU 2.4. Renamed to U_IS_UNICODE_NONCHAR, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U_IS_UNICODE_NONCHAR, see utf_old.h.
*/
#define UTF_IS_UNICODE_NONCHAR(c) \
((c)>=0xfdd0 && \
@@ -269,7 +269,7 @@ typedef int32_t UTextOffset;
* This means that all code points below U+d800 are character code points,
* and that boundary is tested first for performance.
*
- * @deprecated ICU 2.4. Renamed to U_IS_UNICODE_CHAR, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U_IS_UNICODE_CHAR, see utf_old.h.
*/
#define UTF_IS_UNICODE_CHAR(c) \
((uint32_t)(c)<0xd800 || \
@@ -288,7 +288,7 @@ typedef int32_t UTextOffset;
* however it is called by public macros in this file and thus must remain stable,
* and should not be hidden when other internal functions are hidden (otherwise
* public macros would fail to compile).
-* @internal
+* \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef U_UTF8_IMPL
// No forward declaration if compiling utf_impl.cpp, which defines utf8_countTrailBytes.
@@ -300,24 +300,24 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
/**
* Count the trail bytes for a UTF-8 lead byte.
- * @deprecated ICU 2.4. Renamed to U8_COUNT_TRAIL_BYTES, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_COUNT_TRAIL_BYTES, see utf_old.h.
*/
#define UTF8_COUNT_TRAIL_BYTES(leadByte) (utf8_countTrailBytes[(uint8_t)leadByte])
/**
* Mask a UTF-8 lead byte, leave only the lower bits that form part of the code point value.
- * @deprecated ICU 2.4. Renamed to U8_MASK_LEAD_BYTE, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_MASK_LEAD_BYTE, see utf_old.h.
*/
#define UTF8_MASK_LEAD_BYTE(leadByte, countTrailBytes) ((leadByte)&=(1<<(6-(countTrailBytes)))-1)
-/** Is this this code point a single code unit (byte)? @deprecated ICU 2.4. Renamed to U8_IS_SINGLE, see utf_old.h. */
+/** Is this this code point a single code unit (byte)? \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_IS_SINGLE, see utf_old.h. */
#define UTF8_IS_SINGLE(uchar) (((uchar)&0x80)==0)
-/** Is this this code unit the lead code unit (byte) of a code point? @deprecated ICU 2.4. Renamed to U8_IS_LEAD, see utf_old.h. */
+/** Is this this code unit the lead code unit (byte) of a code point? \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_IS_LEAD, see utf_old.h. */
#define UTF8_IS_LEAD(uchar) ((uint8_t)((uchar)-0xc0)<0x3e)
-/** Is this this code unit a trailing code unit (byte) of a code point? @deprecated ICU 2.4. Renamed to U8_IS_TRAIL, see utf_old.h. */
+/** Is this this code unit a trailing code unit (byte) of a code point? \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_IS_TRAIL, see utf_old.h. */
#define UTF8_IS_TRAIL(uchar) (((uchar)&0xc0)==0x80)
-/** Does this scalar Unicode value need multiple code units for storage? @deprecated ICU 2.4. Use U8_LENGTH or test ((uint32_t)(c)>0x7f) instead, see utf_old.h. */
+/** Does this scalar Unicode value need multiple code units for storage? \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Use U8_LENGTH or test ((uint32_t)(c)>0x7f) instead, see utf_old.h. */
#define UTF8_NEED_MULTIPLE_UCHAR(c) ((uint32_t)(c)>0x7f)
/**
@@ -331,7 +331,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
* Code point comparisons need to be in uint32_t because UChar32
* may be a signed type, and negative values must be recognized.
*
- * @deprecated ICU 2.4. Use U8_LENGTH instead, see utf.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Use U8_LENGTH instead, see utf.h.
*/
#if 1
# define UTF8_CHAR_LENGTH(c) \
@@ -355,27 +355,27 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
)
#endif
-/** The maximum number of bytes per code point. @deprecated ICU 2.4. Renamed to U8_MAX_LENGTH, see utf_old.h. */
+/** The maximum number of bytes per code point. \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_MAX_LENGTH, see utf_old.h. */
#define UTF8_MAX_CHAR_LENGTH 4
-/** Average number of code units compared to UTF-16. @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** Average number of code units compared to UTF-16. \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF8_ARRAY_SIZE(size) ((5*(size))/2)
-/** @deprecated ICU 2.4. Renamed to U8_GET_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_GET_UNSAFE, see utf_old.h. */
#define UTF8_GET_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
int32_t _utf8_get_char_unsafe_index=(int32_t)(i); \
UTF8_SET_CHAR_START_UNSAFE(s, _utf8_get_char_unsafe_index); \
UTF8_NEXT_CHAR_UNSAFE(s, _utf8_get_char_unsafe_index, c); \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Use U8_GET instead, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Use U8_GET instead, see utf_old.h. */
#define UTF8_GET_CHAR_SAFE(s, start, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
int32_t _utf8_get_char_safe_index=(int32_t)(i); \
UTF8_SET_CHAR_START_SAFE(s, start, _utf8_get_char_safe_index); \
UTF8_NEXT_CHAR_SAFE(s, _utf8_get_char_safe_index, length, c, strict); \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U8_NEXT_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_NEXT_UNSAFE, see utf_old.h. */
#define UTF8_NEXT_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
if((uint8_t)((c)-0xc0)<0x35) { \
@@ -395,7 +395,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U8_APPEND_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_APPEND_UNSAFE, see utf_old.h. */
#define UTF8_APPEND_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
if((uint32_t)(c)<=0x7f) { \
(s)[(i)++]=(uint8_t)(c); \
@@ -415,12 +415,12 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U8_FWD_1_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_FWD_1_UNSAFE, see utf_old.h. */
#define UTF8_FWD_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
(i)+=1+UTF8_COUNT_TRAIL_BYTES((s)[i]); \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U8_FWD_N_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_FWD_N_UNSAFE, see utf_old.h. */
#define UTF8_FWD_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
while(__N>0) { \
@@ -429,12 +429,12 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U8_SET_CP_START_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_SET_CP_START_UNSAFE, see utf_old.h. */
#define UTF8_SET_CHAR_START_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
while(UTF8_IS_TRAIL((s)[i])) { --(i); } \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Use U8_NEXT instead, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Use U8_NEXT instead, see utf_old.h. */
#define UTF8_NEXT_CHAR_SAFE(s, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
if((c)>=0x80) { \
@@ -446,7 +446,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Use U8_APPEND instead, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Use U8_APPEND instead, see utf_old.h. */
#define UTF8_APPEND_CHAR_SAFE(s, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
if((uint32_t)(c)<=0x7f) { \
(s)[(i)++]=(uint8_t)(c); \
@@ -455,16 +455,16 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U8_FWD_1, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_FWD_1, see utf_old.h. */
#define UTF8_FWD_1_SAFE(s, i, length) U8_FWD_1(s, i, length)
-/** @deprecated ICU 2.4. Renamed to U8_FWD_N, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_FWD_N, see utf_old.h. */
#define UTF8_FWD_N_SAFE(s, i, length, n) U8_FWD_N(s, i, length, n)
-/** @deprecated ICU 2.4. Renamed to U8_SET_CP_START, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_SET_CP_START, see utf_old.h. */
#define UTF8_SET_CHAR_START_SAFE(s, start, i) U8_SET_CP_START(s, start, i)
-/** @deprecated ICU 2.4. Renamed to U8_PREV_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_PREV_UNSAFE, see utf_old.h. */
#define UTF8_PREV_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
if(UTF8_IS_TRAIL(c)) { \
@@ -487,12 +487,12 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U8_BACK_1_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_BACK_1_UNSAFE, see utf_old.h. */
#define UTF8_BACK_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
while(UTF8_IS_TRAIL((s)[--(i)])) {} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U8_BACK_N_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_BACK_N_UNSAFE, see utf_old.h. */
#define UTF8_BACK_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
while(__N>0) { \
@@ -501,13 +501,13 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U8_SET_CP_LIMIT_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_SET_CP_LIMIT_UNSAFE, see utf_old.h. */
#define UTF8_SET_CHAR_LIMIT_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
UTF8_BACK_1_UNSAFE(s, i); \
UTF8_FWD_1_UNSAFE(s, i); \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Use U8_PREV instead, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Use U8_PREV instead, see utf_old.h. */
#define UTF8_PREV_CHAR_SAFE(s, start, i, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
if((c)>=0x80) { \
@@ -519,64 +519,64 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U8_BACK_1, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_BACK_1, see utf_old.h. */
#define UTF8_BACK_1_SAFE(s, start, i) U8_BACK_1(s, start, i)
-/** @deprecated ICU 2.4. Renamed to U8_BACK_N, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_BACK_N, see utf_old.h. */
#define UTF8_BACK_N_SAFE(s, start, i, n) U8_BACK_N(s, start, i, n)
-/** @deprecated ICU 2.4. Renamed to U8_SET_CP_LIMIT, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U8_SET_CP_LIMIT, see utf_old.h. */
#define UTF8_SET_CHAR_LIMIT_SAFE(s, start, i, length) U8_SET_CP_LIMIT(s, start, i, length)
/* Formerly utf16.h --------------------------------------------------------- */
-/** Is uchar a first/lead surrogate? @deprecated ICU 2.4. Renamed to U_IS_LEAD and U16_IS_LEAD, see utf_old.h. */
+/** Is uchar a first/lead surrogate? \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U_IS_LEAD and U16_IS_LEAD, see utf_old.h. */
#define UTF_IS_FIRST_SURROGATE(uchar) (((uchar)&0xfffffc00)==0xd800)
-/** Is uchar a second/trail surrogate? @deprecated ICU 2.4. Renamed to U_IS_TRAIL and U16_IS_TRAIL, see utf_old.h. */
+/** Is uchar a second/trail surrogate? \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U_IS_TRAIL and U16_IS_TRAIL, see utf_old.h. */
#define UTF_IS_SECOND_SURROGATE(uchar) (((uchar)&0xfffffc00)==0xdc00)
-/** Assuming c is a surrogate, is it a first/lead surrogate? @deprecated ICU 2.4. Renamed to U_IS_SURROGATE_LEAD and U16_IS_SURROGATE_LEAD, see utf_old.h. */
+/** Assuming c is a surrogate, is it a first/lead surrogate? \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U_IS_SURROGATE_LEAD and U16_IS_SURROGATE_LEAD, see utf_old.h. */
#define UTF_IS_SURROGATE_FIRST(c) (((c)&0x400)==0)
-/** Helper constant for UTF16_GET_PAIR_VALUE. @deprecated ICU 2.4. Renamed to U16_SURROGATE_OFFSET, see utf_old.h. */
+/** Helper constant for UTF16_GET_PAIR_VALUE. \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_SURROGATE_OFFSET, see utf_old.h. */
#define UTF_SURROGATE_OFFSET ((0xd800<<10UL)+0xdc00-0x10000)
-/** Get the UTF-32 value from the surrogate code units. @deprecated ICU 2.4. Renamed to U16_GET_SUPPLEMENTARY, see utf_old.h. */
+/** Get the UTF-32 value from the surrogate code units. \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_GET_SUPPLEMENTARY, see utf_old.h. */
#define UTF16_GET_PAIR_VALUE(first, second) \
(((first)<<10UL)+(second)-UTF_SURROGATE_OFFSET)
-/** @deprecated ICU 2.4. Renamed to U16_LEAD, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_LEAD, see utf_old.h. */
#define UTF_FIRST_SURROGATE(supplementary) (UChar)(((supplementary)>>10)+0xd7c0)
-/** @deprecated ICU 2.4. Renamed to U16_TRAIL, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_TRAIL, see utf_old.h. */
#define UTF_SECOND_SURROGATE(supplementary) (UChar)(((supplementary)&0x3ff)|0xdc00)
-/** @deprecated ICU 2.4. Renamed to U16_LEAD, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_LEAD, see utf_old.h. */
#define UTF16_LEAD(supplementary) UTF_FIRST_SURROGATE(supplementary)
-/** @deprecated ICU 2.4. Renamed to U16_TRAIL, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_TRAIL, see utf_old.h. */
#define UTF16_TRAIL(supplementary) UTF_SECOND_SURROGATE(supplementary)
-/** @deprecated ICU 2.4. Renamed to U16_IS_SINGLE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_IS_SINGLE, see utf_old.h. */
#define UTF16_IS_SINGLE(uchar) !UTF_IS_SURROGATE(uchar)
-/** @deprecated ICU 2.4. Renamed to U16_IS_LEAD, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_IS_LEAD, see utf_old.h. */
#define UTF16_IS_LEAD(uchar) UTF_IS_FIRST_SURROGATE(uchar)
-/** @deprecated ICU 2.4. Renamed to U16_IS_TRAIL, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_IS_TRAIL, see utf_old.h. */
#define UTF16_IS_TRAIL(uchar) UTF_IS_SECOND_SURROGATE(uchar)
-/** Does this scalar Unicode value need multiple code units for storage? @deprecated ICU 2.4. Use U16_LENGTH or test ((uint32_t)(c)>0xffff) instead, see utf_old.h. */
+/** Does this scalar Unicode value need multiple code units for storage? \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Use U16_LENGTH or test ((uint32_t)(c)>0xffff) instead, see utf_old.h. */
#define UTF16_NEED_MULTIPLE_UCHAR(c) ((uint32_t)(c)>0xffff)
-/** @deprecated ICU 2.4. Renamed to U16_LENGTH, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_LENGTH, see utf_old.h. */
#define UTF16_CHAR_LENGTH(c) ((uint32_t)(c)<=0xffff ? 1 : 2)
-/** @deprecated ICU 2.4. Renamed to U16_MAX_LENGTH, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_MAX_LENGTH, see utf_old.h. */
#define UTF16_MAX_CHAR_LENGTH 2
-/** Average number of code units compared to UTF-16. @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** Average number of code units compared to UTF-16. \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF16_ARRAY_SIZE(size) (size)
/**
@@ -588,7 +588,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
* UTF16_CHAR_LENGTH() and UTF_IS_ERROR(),
* but the use of UTF16_NEXT_CHAR[_UNSAFE]() and
* UTF16_PREV_CHAR[_UNSAFE]() is more efficient for that.
- * @deprecated ICU 2.4. Renamed to U16_GET_UNSAFE, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_GET_UNSAFE, see utf_old.h.
*/
#define UTF16_GET_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[i]; \
@@ -601,7 +601,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Use U16_GET instead, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Use U16_GET instead, see utf_old.h. */
#define UTF16_GET_CHAR_SAFE(s, start, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[i]; \
if(UTF_IS_SURROGATE(c)) { \
@@ -628,7 +628,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U16_NEXT_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_NEXT_UNSAFE, see utf_old.h. */
#define UTF16_NEXT_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
if(UTF_IS_FIRST_SURROGATE(c)) { \
@@ -636,7 +636,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U16_APPEND_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_APPEND_UNSAFE, see utf_old.h. */
#define UTF16_APPEND_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
if((uint32_t)(c)<=0xffff) { \
(s)[(i)++]=(uint16_t)(c); \
@@ -646,14 +646,14 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U16_FWD_1_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_FWD_1_UNSAFE, see utf_old.h. */
#define UTF16_FWD_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
if(UTF_IS_FIRST_SURROGATE((s)[(i)++])) { \
++(i); \
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U16_FWD_N_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_FWD_N_UNSAFE, see utf_old.h. */
#define UTF16_FWD_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
while(__N>0) { \
@@ -662,14 +662,14 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U16_SET_CP_START_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_SET_CP_START_UNSAFE, see utf_old.h. */
#define UTF16_SET_CHAR_START_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
if(UTF_IS_SECOND_SURROGATE((s)[i])) { \
--(i); \
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Use U16_NEXT instead, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Use U16_NEXT instead, see utf_old.h. */
#define UTF16_NEXT_CHAR_SAFE(s, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
if(UTF_IS_FIRST_SURROGATE(c)) { \
@@ -688,7 +688,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Use U16_APPEND instead, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Use U16_APPEND instead, see utf_old.h. */
#define UTF16_APPEND_CHAR_SAFE(s, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
if((uint32_t)(c)<=0xffff) { \
(s)[(i)++]=(uint16_t)(c); \
@@ -704,16 +704,16 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U16_FWD_1, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_FWD_1, see utf_old.h. */
#define UTF16_FWD_1_SAFE(s, i, length) U16_FWD_1(s, i, length)
-/** @deprecated ICU 2.4. Renamed to U16_FWD_N, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_FWD_N, see utf_old.h. */
#define UTF16_FWD_N_SAFE(s, i, length, n) U16_FWD_N(s, i, length, n)
-/** @deprecated ICU 2.4. Renamed to U16_SET_CP_START, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_SET_CP_START, see utf_old.h. */
#define UTF16_SET_CHAR_START_SAFE(s, start, i) U16_SET_CP_START(s, start, i)
-/** @deprecated ICU 2.4. Renamed to U16_PREV_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_PREV_UNSAFE, see utf_old.h. */
#define UTF16_PREV_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
if(UTF_IS_SECOND_SURROGATE(c)) { \
@@ -721,14 +721,14 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U16_BACK_1_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_BACK_1_UNSAFE, see utf_old.h. */
#define UTF16_BACK_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
if(UTF_IS_SECOND_SURROGATE((s)[--(i)])) { \
--(i); \
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U16_BACK_N_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_BACK_N_UNSAFE, see utf_old.h. */
#define UTF16_BACK_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
while(__N>0) { \
@@ -737,14 +737,14 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U16_SET_CP_LIMIT_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_SET_CP_LIMIT_UNSAFE, see utf_old.h. */
#define UTF16_SET_CHAR_LIMIT_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
if(UTF_IS_FIRST_SURROGATE((s)[(i)-1])) { \
++(i); \
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Use U16_PREV instead, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Use U16_PREV instead, see utf_old.h. */
#define UTF16_PREV_CHAR_SAFE(s, start, i, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
if(UTF_IS_SECOND_SURROGATE(c)) { \
@@ -763,13 +763,13 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Renamed to U16_BACK_1, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_BACK_1, see utf_old.h. */
#define UTF16_BACK_1_SAFE(s, start, i) U16_BACK_1(s, start, i)
-/** @deprecated ICU 2.4. Renamed to U16_BACK_N, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_BACK_N, see utf_old.h. */
#define UTF16_BACK_N_SAFE(s, start, i, n) U16_BACK_N(s, start, i, n)
-/** @deprecated ICU 2.4. Renamed to U16_SET_CP_LIMIT, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_SET_CP_LIMIT, see utf_old.h. */
#define UTF16_SET_CHAR_LIMIT_SAFE(s, start, i, length) U16_SET_CP_LIMIT(s, start, i, length)
/* Formerly utf32.h --------------------------------------------------------- */
@@ -789,7 +789,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
/* internal definitions ----------------------------------------------------- */
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_IS_SAFE(c, strict) \
(!(strict) ? \
(uint32_t)(c)<=0x10ffff : \
@@ -805,33 +805,33 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
/* classes of code unit values */
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_IS_SINGLE(uchar) 1
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_IS_LEAD(uchar) 0
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_IS_TRAIL(uchar) 0
/* number of code units per code point */
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_NEED_MULTIPLE_UCHAR(c) 0
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_CHAR_LENGTH(c) 1
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_MAX_CHAR_LENGTH 1
/* average number of code units compared to UTF-16 */
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_ARRAY_SIZE(size) (size)
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_GET_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[i]; \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_GET_CHAR_SAFE(s, start, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[i]; \
if(!UTF32_IS_SAFE(c, strict)) { \
@@ -841,31 +841,31 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
/* definitions with forward iteration --------------------------------------- */
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_NEXT_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_APPEND_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(s)[(i)++]=(c); \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_FWD_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
++(i); \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_FWD_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
(i)+=(n); \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_SET_CHAR_START_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_NEXT_CHAR_SAFE(s, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
if(!UTF32_IS_SAFE(c, strict)) { \
@@ -873,7 +873,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_APPEND_CHAR_SAFE(s, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
if((uint32_t)(c)<=0x10ffff) { \
(s)[(i)++]=(c); \
@@ -882,44 +882,44 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_FWD_1_SAFE(s, i, length) UPRV_BLOCK_MACRO_BEGIN { \
++(i); \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_FWD_N_SAFE(s, i, length, n) UPRV_BLOCK_MACRO_BEGIN { \
if(((i)+=(n))>(length)) { \
(i)=(length); \
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_SET_CHAR_START_SAFE(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \
} UPRV_BLOCK_MACRO_END
/* definitions with backward iteration -------------------------------------- */
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_PREV_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_BACK_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
--(i); \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_BACK_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
(i)-=(n); \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_SET_CHAR_LIMIT_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_PREV_CHAR_SAFE(s, start, i, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
if(!UTF32_IS_SAFE(c, strict)) { \
@@ -927,12 +927,12 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_BACK_1_SAFE(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \
--(i); \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_BACK_N_SAFE(s, start, i, n) UPRV_BLOCK_MACRO_BEGIN { \
(i)-=(n); \
if((i)<(start)) { \
@@ -940,7 +940,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} UPRV_BLOCK_MACRO_END
-/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h. */
#define UTF32_SET_CHAR_LIMIT_SAFE(s, i, length) UPRV_BLOCK_MACRO_BEGIN { \
} UPRV_BLOCK_MACRO_END
@@ -949,77 +949,77 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
/**
* Estimate the number of code units for a string based on the number of UTF-16 code units.
*
- * @deprecated ICU 2.4. Obsolete, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Obsolete, see utf_old.h.
*/
#define UTF_ARRAY_SIZE(size) UTF16_ARRAY_SIZE(size)
-/** @deprecated ICU 2.4. Renamed to U16_GET_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_GET_UNSAFE, see utf_old.h. */
#define UTF_GET_CHAR_UNSAFE(s, i, c) UTF16_GET_CHAR_UNSAFE(s, i, c)
-/** @deprecated ICU 2.4. Use U16_GET instead, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Use U16_GET instead, see utf_old.h. */
#define UTF_GET_CHAR_SAFE(s, start, i, length, c, strict) UTF16_GET_CHAR_SAFE(s, start, i, length, c, strict)
-/** @deprecated ICU 2.4. Renamed to U16_NEXT_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_NEXT_UNSAFE, see utf_old.h. */
#define UTF_NEXT_CHAR_UNSAFE(s, i, c) UTF16_NEXT_CHAR_UNSAFE(s, i, c)
-/** @deprecated ICU 2.4. Use U16_NEXT instead, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Use U16_NEXT instead, see utf_old.h. */
#define UTF_NEXT_CHAR_SAFE(s, i, length, c, strict) UTF16_NEXT_CHAR_SAFE(s, i, length, c, strict)
-/** @deprecated ICU 2.4. Renamed to U16_APPEND_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_APPEND_UNSAFE, see utf_old.h. */
#define UTF_APPEND_CHAR_UNSAFE(s, i, c) UTF16_APPEND_CHAR_UNSAFE(s, i, c)
-/** @deprecated ICU 2.4. Use U16_APPEND instead, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Use U16_APPEND instead, see utf_old.h. */
#define UTF_APPEND_CHAR_SAFE(s, i, length, c) UTF16_APPEND_CHAR_SAFE(s, i, length, c)
-/** @deprecated ICU 2.4. Renamed to U16_FWD_1_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_FWD_1_UNSAFE, see utf_old.h. */
#define UTF_FWD_1_UNSAFE(s, i) UTF16_FWD_1_UNSAFE(s, i)
-/** @deprecated ICU 2.4. Renamed to U16_FWD_1, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_FWD_1, see utf_old.h. */
#define UTF_FWD_1_SAFE(s, i, length) UTF16_FWD_1_SAFE(s, i, length)
-/** @deprecated ICU 2.4. Renamed to U16_FWD_N_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_FWD_N_UNSAFE, see utf_old.h. */
#define UTF_FWD_N_UNSAFE(s, i, n) UTF16_FWD_N_UNSAFE(s, i, n)
-/** @deprecated ICU 2.4. Renamed to U16_FWD_N, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_FWD_N, see utf_old.h. */
#define UTF_FWD_N_SAFE(s, i, length, n) UTF16_FWD_N_SAFE(s, i, length, n)
-/** @deprecated ICU 2.4. Renamed to U16_SET_CP_START_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_SET_CP_START_UNSAFE, see utf_old.h. */
#define UTF_SET_CHAR_START_UNSAFE(s, i) UTF16_SET_CHAR_START_UNSAFE(s, i)
-/** @deprecated ICU 2.4. Renamed to U16_SET_CP_START, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_SET_CP_START, see utf_old.h. */
#define UTF_SET_CHAR_START_SAFE(s, start, i) UTF16_SET_CHAR_START_SAFE(s, start, i)
-/** @deprecated ICU 2.4. Renamed to U16_PREV_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_PREV_UNSAFE, see utf_old.h. */
#define UTF_PREV_CHAR_UNSAFE(s, i, c) UTF16_PREV_CHAR_UNSAFE(s, i, c)
-/** @deprecated ICU 2.4. Use U16_PREV instead, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Use U16_PREV instead, see utf_old.h. */
#define UTF_PREV_CHAR_SAFE(s, start, i, c, strict) UTF16_PREV_CHAR_SAFE(s, start, i, c, strict)
-/** @deprecated ICU 2.4. Renamed to U16_BACK_1_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_BACK_1_UNSAFE, see utf_old.h. */
#define UTF_BACK_1_UNSAFE(s, i) UTF16_BACK_1_UNSAFE(s, i)
-/** @deprecated ICU 2.4. Renamed to U16_BACK_1, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_BACK_1, see utf_old.h. */
#define UTF_BACK_1_SAFE(s, start, i) UTF16_BACK_1_SAFE(s, start, i)
-/** @deprecated ICU 2.4. Renamed to U16_BACK_N_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_BACK_N_UNSAFE, see utf_old.h. */
#define UTF_BACK_N_UNSAFE(s, i, n) UTF16_BACK_N_UNSAFE(s, i, n)
-/** @deprecated ICU 2.4. Renamed to U16_BACK_N, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_BACK_N, see utf_old.h. */
#define UTF_BACK_N_SAFE(s, start, i, n) UTF16_BACK_N_SAFE(s, start, i, n)
-/** @deprecated ICU 2.4. Renamed to U16_SET_CP_LIMIT_UNSAFE, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_SET_CP_LIMIT_UNSAFE, see utf_old.h. */
#define UTF_SET_CHAR_LIMIT_UNSAFE(s, i) UTF16_SET_CHAR_LIMIT_UNSAFE(s, i)
-/** @deprecated ICU 2.4. Renamed to U16_SET_CP_LIMIT, see utf_old.h. */
+/** \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_SET_CP_LIMIT, see utf_old.h. */
#define UTF_SET_CHAR_LIMIT_SAFE(s, start, i, length) UTF16_SET_CHAR_LIMIT_SAFE(s, start, i, length)
/* Define default macros (UTF-16 "safe") ------------------------------------ */
@@ -1027,42 +1027,42 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
/**
* Does this code unit alone encode a code point (BMP, not a surrogate)?
* Same as UTF16_IS_SINGLE.
- * @deprecated ICU 2.4. Renamed to U_IS_SINGLE and U16_IS_SINGLE, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U_IS_SINGLE and U16_IS_SINGLE, see utf_old.h.
*/
#define UTF_IS_SINGLE(uchar) U16_IS_SINGLE(uchar)
/**
* Is this code unit the first one of several (a lead surrogate)?
* Same as UTF16_IS_LEAD.
- * @deprecated ICU 2.4. Renamed to U_IS_LEAD and U16_IS_LEAD, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U_IS_LEAD and U16_IS_LEAD, see utf_old.h.
*/
#define UTF_IS_LEAD(uchar) U16_IS_LEAD(uchar)
/**
* Is this code unit one of several but not the first one (a trail surrogate)?
* Same as UTF16_IS_TRAIL.
- * @deprecated ICU 2.4. Renamed to U_IS_TRAIL and U16_IS_TRAIL, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U_IS_TRAIL and U16_IS_TRAIL, see utf_old.h.
*/
#define UTF_IS_TRAIL(uchar) U16_IS_TRAIL(uchar)
/**
* Does this code point require multiple code units (is it a supplementary code point)?
* Same as UTF16_NEED_MULTIPLE_UCHAR.
- * @deprecated ICU 2.4. Use U16_LENGTH or test ((uint32_t)(c)>0xffff) instead.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Use U16_LENGTH or test ((uint32_t)(c)>0xffff) instead.
*/
#define UTF_NEED_MULTIPLE_UCHAR(c) UTF16_NEED_MULTIPLE_UCHAR(c)
/**
* How many code units are used to encode this code point (1 or 2)?
* Same as UTF16_CHAR_LENGTH.
- * @deprecated ICU 2.4. Renamed to U16_LENGTH, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_LENGTH, see utf_old.h.
*/
#define UTF_CHAR_LENGTH(c) U16_LENGTH(c)
/**
* How many code units are used at most for any Unicode code point (2)?
* Same as UTF16_MAX_CHAR_LENGTH.
- * @deprecated ICU 2.4. Renamed to U16_MAX_LENGTH, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_MAX_LENGTH, see utf_old.h.
*/
#define UTF_MAX_CHAR_LENGTH U16_MAX_LENGTH
@@ -1073,7 +1073,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
* Same as UTF16_GET_CHAR.
* \pre 0<=i<length
*
- * @deprecated ICU 2.4. Renamed to U16_GET, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_GET, see utf_old.h.
*/
#define UTF_GET_CHAR(s, start, i, length, c) U16_GET(s, start, i, length, c)
@@ -1086,7 +1086,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
* \pre 0<=i<length
* \post 0<i<=length
*
- * @deprecated ICU 2.4. Renamed to U16_NEXT, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_NEXT, see utf_old.h.
*/
#define UTF_NEXT_CHAR(s, i, length, c) U16_NEXT(s, i, length, c)
@@ -1099,7 +1099,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
* \pre 0<=i<length
* \post 0<i<=length
*
- * @deprecated ICU 2.4. Use U16_APPEND instead, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Use U16_APPEND instead, see utf_old.h.
*/
#define UTF_APPEND_CHAR(s, i, length, c) UTF16_APPEND_CHAR_SAFE(s, i, length, c)
@@ -1110,7 +1110,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
* \pre 0<=i<length
* \post 0<i<=length
*
- * @deprecated ICU 2.4. Renamed to U16_FWD_1, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_FWD_1, see utf_old.h.
*/
#define UTF_FWD_1(s, i, length) U16_FWD_1(s, i, length)
@@ -1121,7 +1121,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
* \pre 0<=i<length
* \post 0<i<=length
*
- * @deprecated ICU 2.4. Renamed to U16_FWD_N, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_FWD_N, see utf_old.h.
*/
#define UTF_FWD_N(s, i, length, n) U16_FWD_N(s, i, length, n)
@@ -1137,7 +1137,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
* \pre start<=i<length
* \post start<=i<length
*
- * @deprecated ICU 2.4. Renamed to U16_SET_CP_START, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_SET_CP_START, see utf_old.h.
*/
#define UTF_SET_CHAR_START(s, start, i) U16_SET_CP_START(s, start, i)
@@ -1150,7 +1150,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
* \pre start<i<=length
* \post start<=i<length
*
- * @deprecated ICU 2.4. Renamed to U16_PREV, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_PREV, see utf_old.h.
*/
#define UTF_PREV_CHAR(s, start, i, c) U16_PREV(s, start, i, c)
@@ -1163,7 +1163,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
* \pre start<i<=length
* \post start<=i<length
*
- * @deprecated ICU 2.4. Renamed to U16_BACK_1, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_BACK_1, see utf_old.h.
*/
#define UTF_BACK_1(s, start, i) U16_BACK_1(s, start, i)
@@ -1176,7 +1176,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
* \pre start<i<=length
* \post start<=i<length
*
- * @deprecated ICU 2.4. Renamed to U16_BACK_N, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_BACK_N, see utf_old.h.
*/
#define UTF_BACK_N(s, start, i, n) U16_BACK_N(s, start, i, n)
@@ -1192,7 +1192,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
* \pre start<i<=length
* \post start<i<=length
*
- * @deprecated ICU 2.4. Renamed to U16_SET_CP_LIMIT, see utf_old.h.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 2.4. Renamed to U16_SET_CP_LIMIT, see utf_old.h.
*/
#define UTF_SET_CHAR_LIMIT(s, start, i, length) U16_SET_CP_LIMIT(s, start, i, length)
diff --git a/libicu/ndk_headers/unicode/utypes.h b/libicu/ndk_headers/unicode/utypes.h
index a9183ad13..c5c5f5526 100644
--- a/libicu/ndk_headers/unicode/utypes.h
+++ b/libicu/ndk_headers/unicode/utypes.h
@@ -45,6 +45,8 @@
#endif
/*!
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief Basic definitions for ICU, for both C and C++ APIs
*
@@ -57,7 +59,7 @@
/**
* \def U_SHOW_CPLUSPLUS_API
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifdef __cplusplus
# ifndef U_SHOW_CPLUSPLUS_API
@@ -73,12 +75,12 @@
/**
* \def U_HIDE_DRAFT_API
* Define this to 1 to request that draft API be "hidden"
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
/**
* \def U_HIDE_INTERNAL_API
* Define this to 1 to request that internal API be "hidden"
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#if !U_DEFAULT_SHOW_DRAFT && !defined(U_SHOW_DRAFT_API)
#define U_HIDE_DRAFT_API 1
@@ -101,13 +103,13 @@
* - l for little-endian, ASCII-family platforms
* - e for big-endian, EBCDIC-family platforms
* This letter is part of the common data file name.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
/**
* \def U_ICUDATA_TYPE_LITLETTER
* The non-string form of U_ICUDATA_TYPE_LETTER
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#if U_CHARSET_FAMILY
# if U_IS_BIG_ENDIAN
@@ -134,12 +136,12 @@
/**
* A single string literal containing the icudata stub name. i.e. 'icudt18e' for
* ICU 1.8.x on EBCDIC, etc..
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#define U_ICUDATA_NAME "icudt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER
#ifndef U_HIDE_INTERNAL_API
-#define U_USRDATA_NAME "usrdt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER /**< @internal */
-#define U_USE_USRDATA 0 /**< @internal */
+#define U_USRDATA_NAME "usrdt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER /**< \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
+#define U_USE_USRDATA 0 /**< \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */
#endif /* U_HIDE_INTERNAL_API */
/**
@@ -151,20 +153,20 @@
* the literal text U_ICU_VERSION_MAJOR_NUM into the name.
* The net result will be something of the form
* \#define U_ICU_ENTRY_POINT icudt19_dat
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U_ICUDATA_ENTRY_POINT U_DEF2_ICUDATA_ENTRY_POINT(U_ICU_VERSION_MAJOR_NUM,U_LIB_SUFFIX_C_NAME)
#ifndef U_HIDE_INTERNAL_API
/**
* Do not use. Note that it's OK for the 2nd argument to be undefined (literal).
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#define U_DEF2_ICUDATA_ENTRY_POINT(major,suff) U_DEF_ICUDATA_ENTRY_POINT(major,suff)
/**
* Do not use.
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef U_DEF_ICUDATA_ENTRY_POINT
/* affected by symbol renaming. See platform.h */
@@ -179,7 +181,7 @@
/**
* \def NULL
* Define NULL if necessary, to nullptr for C++ and to ((void *)0) for C.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#ifndef NULL
#ifdef __cplusplus
@@ -198,28 +200,28 @@
* This is a primitive data type that holds the date and time
* as the number of milliseconds since 1970-jan-01, 00:00 UTC.
* UTC leap seconds are ignored.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
typedef double UDate;
-/** The number of milliseconds per second @stable ICU 2.0 */
+/** The number of milliseconds per second \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define U_MILLIS_PER_SECOND (1000)
-/** The number of milliseconds per minute @stable ICU 2.0 */
+/** The number of milliseconds per minute \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define U_MILLIS_PER_MINUTE (60000)
-/** The number of milliseconds per hour @stable ICU 2.0 */
+/** The number of milliseconds per hour \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define U_MILLIS_PER_HOUR (3600000)
-/** The number of milliseconds per day @stable ICU 2.0 */
+/** The number of milliseconds per day \xrefitem stable "Stable" "Stable List" ICU 2.0 */
#define U_MILLIS_PER_DAY (86400000)
/**
* Maximum UDate value
- * @stable ICU 4.8
+ * \xrefitem stable "Stable" "Stable List" ICU 4.8
*/
#define U_DATE_MAX DBL_MAX
/**
* Minimum UDate value
- * @stable ICU 4.8
+ * \xrefitem stable "Stable" "Stable List" ICU 4.8
*/
#define U_DATE_MIN -U_DATE_MAX
@@ -238,56 +240,56 @@ typedef double UDate;
* when all of ICU is in a single library.
* This can be set as a compiler option while building ICU, and it
* needs to be the first one tested to override U_COMMON_API, U_I18N_API, etc.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
/**
* \def U_DATA_API
* Set to export library symbols from inside the stubdata library,
* and to import them from outside.
- * @stable ICU 3.0
+ * \xrefitem stable "Stable" "Stable List" ICU 3.0
*/
/**
* \def U_COMMON_API
* Set to export library symbols from inside the common library,
* and to import them from outside.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
/**
* \def U_I18N_API
* Set to export library symbols from inside the i18n library,
* and to import them from outside.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
/**
* \def U_LAYOUT_API
* Set to export library symbols from inside the layout engine library,
* and to import them from outside.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
/**
* \def U_LAYOUTEX_API
* Set to export library symbols from inside the layout extensions library,
* and to import them from outside.
- * @stable ICU 2.6
+ * \xrefitem stable "Stable" "Stable List" ICU 2.6
*/
/**
* \def U_IO_API
* Set to export library symbols from inside the ustdio library,
* and to import them from outside.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
/**
* \def U_TOOLUTIL_API
* Set to export library symbols from inside the toolutil library,
* and to import them from outside.
- * @stable ICU 3.4
+ * \xrefitem stable "Stable" "Stable List" ICU 3.4
*/
#ifdef U_IN_DOXYGEN
@@ -372,7 +374,7 @@ typedef double UDate;
/**
* \def U_STANDARD_CPP_NAMESPACE
* Control of C++ Namespace
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
#ifdef __cplusplus
#define U_STANDARD_CPP_NAMESPACE ::
@@ -410,7 +412,7 @@ typedef double UDate;
* so that in a chain of such functions the first one that sets an error code
* causes the following ones to not perform any operations.
*
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
typedef enum UErrorCode {
/* The ordering of U_ERROR_INFO_START Vs U_USING_FALLBACK_WARNING looks weird
@@ -441,7 +443,7 @@ typedef enum UErrorCode {
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal UErrorCode warning value.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_ERROR_WARNING_LIMIT,
#endif // U_HIDE_DEPRECATED_API
@@ -485,7 +487,7 @@ typedef enum UErrorCode {
* It is rejected because it may lead to problems such as excessive
* processing time, stack depth, or heap memory requirements.
*
- * @draft ICU 68
+ * \xrefitem draft "Draft" "Draft List" This API may be changed in the future versions and was introduced in ICU 68
*/
U_INPUT_TOO_LONG_ERROR = 31,
#endif // U_HIDE_DRAFT_API
@@ -493,7 +495,7 @@ typedef enum UErrorCode {
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest standard error code.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_STANDARD_ERROR_LIMIT = 32,
#endif // U_HIDE_DEPRECATED_API
@@ -540,7 +542,7 @@ typedef enum UErrorCode {
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal Transliterator error code.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_PARSE_ERROR_LIMIT,
#endif // U_HIDE_DEPRECATED_API
@@ -567,13 +569,13 @@ typedef enum UErrorCode {
U_UNDEFINED_KEYWORD, /**< Undefined Plural keyword */
U_DEFAULT_KEYWORD_MISSING, /**< Missing DEFAULT rule in plural rules */
U_DECIMAL_NUMBER_SYNTAX_ERROR, /**< Decimal number syntax error */
- U_FORMAT_INEXACT_ERROR, /**< Cannot format a number exactly and rounding mode is ROUND_UNNECESSARY @stable ICU 4.8 */
- U_NUMBER_ARG_OUTOFBOUNDS_ERROR, /**< The argument to a NumberFormatter helper method was out of bounds; the bounds are usually 0 to 999. @stable ICU 61 */
- U_NUMBER_SKELETON_SYNTAX_ERROR, /**< The number skeleton passed to C++ NumberFormatter or C UNumberFormatter was invalid or contained a syntax error. @stable ICU 62 */
+ U_FORMAT_INEXACT_ERROR, /**< Cannot format a number exactly and rounding mode is ROUND_UNNECESSARY \xrefitem stable "Stable" "Stable List" ICU 4.8 */
+ U_NUMBER_ARG_OUTOFBOUNDS_ERROR, /**< The argument to a NumberFormatter helper method was out of bounds; the bounds are usually 0 to 999. \xrefitem stable "Stable" "Stable List" ICU 61 */
+ U_NUMBER_SKELETON_SYNTAX_ERROR, /**< The number skeleton passed to C++ NumberFormatter or C UNumberFormatter was invalid or contained a syntax error. \xrefitem stable "Stable" "Stable List" ICU 62 */
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal formatting API error code.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_FMT_PARSE_ERROR_LIMIT = 0x10114,
#endif // U_HIDE_DEPRECATED_API
@@ -599,7 +601,7 @@ typedef enum UErrorCode {
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal BreakIterator error code.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_BRK_ERROR_LIMIT,
#endif // U_HIDE_DEPRECATED_API
@@ -623,19 +625,19 @@ typedef enum UErrorCode {
U_REGEX_LOOK_BEHIND_LIMIT, /**< Look-Behind pattern matches must have a bounded maximum length. */
U_REGEX_SET_CONTAINS_STRING, /**< Regexps cannot have UnicodeSets containing strings.*/
#ifndef U_HIDE_DEPRECATED_API
- U_REGEX_OCTAL_TOO_BIG, /**< Octal character constants must be <= 0377. @deprecated ICU 54. This error cannot occur. */
+ U_REGEX_OCTAL_TOO_BIG, /**< Octal character constants must be <= 0377. \xrefitem deprecated "Deprecated" "Deprecated List" ICU 54. This error cannot occur. */
#endif /* U_HIDE_DEPRECATED_API */
U_REGEX_MISSING_CLOSE_BRACKET=U_REGEX_SET_CONTAINS_STRING+2, /**< Missing closing bracket on a bracket expression. */
U_REGEX_INVALID_RANGE, /**< In a character range [x-y], x is greater than y. */
U_REGEX_STACK_OVERFLOW, /**< Regular expression backtrack stack overflow. */
U_REGEX_TIME_OUT, /**< Maximum allowed match time exceeded */
U_REGEX_STOPPED_BY_CALLER, /**< Matching operation aborted by user callback fn. */
- U_REGEX_PATTERN_TOO_BIG, /**< Pattern exceeds limits on size or complexity. @stable ICU 55 */
- U_REGEX_INVALID_CAPTURE_GROUP_NAME, /**< Invalid capture group name. @stable ICU 55 */
+ U_REGEX_PATTERN_TOO_BIG, /**< Pattern exceeds limits on size or complexity. \xrefitem stable "Stable" "Stable List" ICU 55 */
+ U_REGEX_INVALID_CAPTURE_GROUP_NAME, /**< Invalid capture group name. \xrefitem stable "Stable" "Stable List" ICU 55 */
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal regular expression error code.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_REGEX_ERROR_LIMIT=U_REGEX_STOPPED_BY_CALLER+3,
#endif // U_HIDE_DEPRECATED_API
@@ -656,7 +658,7 @@ typedef enum UErrorCode {
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal IDNA error code.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_IDNA_ERROR_LIMIT,
#endif // U_HIDE_DEPRECATED_API
@@ -676,7 +678,7 @@ typedef enum UErrorCode {
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal plug-in error code.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_PLUGIN_ERROR_LIMIT,
#endif // U_HIDE_DEPRECATED_API
@@ -684,7 +686,7 @@ typedef enum UErrorCode {
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal error code.
- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
U_ERROR_LIMIT=U_PLUGIN_ERROR_LIMIT
#endif // U_HIDE_DEPRECATED_API
@@ -696,25 +698,25 @@ typedef enum UErrorCode {
#ifdef __cplusplus
/**
* Does the error code indicate success?
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
static
inline UBool U_SUCCESS(UErrorCode code) { return (UBool)(code<=U_ZERO_ERROR); }
/**
* Does the error code indicate a failure?
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
static
inline UBool U_FAILURE(UErrorCode code) { return (UBool)(code>U_ZERO_ERROR); }
#else
/**
* Does the error code indicate success?
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
# define U_SUCCESS(x) ((x)<=U_ZERO_ERROR)
/**
* Does the error code indicate a failure?
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
# define U_FAILURE(x) ((x)>U_ZERO_ERROR)
#endif
@@ -723,7 +725,7 @@ typedef enum UErrorCode {
* Return a string for a UErrorCode value.
* The string will be the same as the name of the error code constant
* in the UErrorCode enum above.
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI const char * U_EXPORT2
u_errorName(UErrorCode code) __INTRODUCED_IN(31);
@@ -732,3 +734,5 @@ u_errorName(UErrorCode code) __INTRODUCED_IN(31);
#endif /* _UTYPES */
+
+/** @} */ // addtogroup
diff --git a/libicu/ndk_headers/unicode/uvernum.h b/libicu/ndk_headers/unicode/uvernum.h
index a46481a3f..96443f5d5 100644
--- a/libicu/ndk_headers/unicode/uvernum.h
+++ b/libicu/ndk_headers/unicode/uvernum.h
@@ -51,32 +51,32 @@
/** The standard copyright notice that gets compiled into each library.
* This value will change in the subsequent releases of ICU
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U_COPYRIGHT_STRING \
" Copyright (C) 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html "
/** The current ICU major version as an integer.
* This value will change in the subsequent releases of ICU
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U_ICU_VERSION_MAJOR_NUM 68
/** The current ICU minor version as an integer.
* This value will change in the subsequent releases of ICU
- * @stable ICU 2.6
+ * \xrefitem stable "Stable" "Stable List" ICU 2.6
*/
#define U_ICU_VERSION_MINOR_NUM 2
/** The current ICU patchlevel version as an integer.
* This value will change in the subsequent releases of ICU
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U_ICU_VERSION_PATCHLEVEL_NUM 0
/** The current ICU build level version as an integer.
* This value is for use by ICU clients. It defaults to 0.
- * @stable ICU 4.0
+ * \xrefitem stable "Stable" "Stable List" ICU 4.0
*/
#ifndef U_ICU_VERSION_BUILDLEVEL_NUM
#define U_ICU_VERSION_BUILDLEVEL_NUM 0
@@ -84,29 +84,29 @@
/** Glued version suffix for renamers
* This value will change in the subsequent releases of ICU
- * @stable ICU 2.6
+ * \xrefitem stable "Stable" "Stable List" ICU 2.6
*/
#define U_ICU_VERSION_SUFFIX _68
/**
* \def U_DEF2_ICU_ENTRY_POINT_RENAME
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
/**
* \def U_DEF_ICU_ENTRY_POINT_RENAME
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
/** Glued version suffix function for renamers
* This value will change in the subsequent releases of ICU.
* If a custom suffix (such as matching library suffixes) is desired, this can be modified.
* Note that if present, platform.h may contain an earlier definition of this macro.
* \def U_ICU_ENTRY_POINT_RENAME
- * @stable ICU 4.2
+ * \xrefitem stable "Stable" "Stable List" ICU 4.2
*/
/**
* Disable the version suffix. Use the custom suffix if exists.
* \def U_DISABLE_VERSION_SUFFIX
- * @internal
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
*/
#ifndef U_DISABLE_VERSION_SUFFIX
#define U_DISABLE_VERSION_SUFFIX 0
@@ -137,7 +137,7 @@
/** The current ICU library version as a dotted-decimal string. The patchlevel
* only appears in this string if it non-zero.
* This value will change in the subsequent releases of ICU
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U_ICU_VERSION "68.2"
@@ -150,13 +150,13 @@
* Since ICU 49, it is the double-digit major ICU version number.
* See https://unicode-org.github.io/icu/userguide/design#version-numbers-in-icu
*
- * @stable ICU 2.6
+ * \xrefitem stable "Stable" "Stable List" ICU 2.6
*/
#define U_ICU_VERSION_SHORT "68"
#ifndef U_HIDE_INTERNAL_API
/** Data version in ICU4C.
- * @internal ICU 4.4 Internal Use Only
+ * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. ICU 4.4 Internal Use Only
**/
#define U_ICU_DATA_VERSION "68.2"
#endif /* U_HIDE_INTERNAL_API */
@@ -172,7 +172,7 @@
* Collation runtime version (sort key generator, strcoll).
* If the version is different, sort keys for the same string could be different.
* This value may change in subsequent releases of ICU.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define UCOL_RUNTIME_VERSION 9
@@ -181,7 +181,7 @@
* When this is different, the same tailoring might result
* in assigning different collation elements to code points.
* This value may change in subsequent releases of ICU.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define UCOL_BUILDER_VERSION 9
@@ -190,7 +190,7 @@
* Constant 1.
* This was intended to be the version of collation tailorings,
* but instead the tailoring data carries a version number.
- * @deprecated ICU 54
+ * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 54
*/
#define UCOL_TAILORINGS_VERSION 1
#endif /* U_HIDE_DEPRECATED_API */
diff --git a/libicu/ndk_headers/unicode/uversion.h b/libicu/ndk_headers/unicode/uversion.h
index ffcae62cb..b1cbe4ffd 100644
--- a/libicu/ndk_headers/unicode/uversion.h
+++ b/libicu/ndk_headers/unicode/uversion.h
@@ -17,6 +17,8 @@
*/
/**
+ * @addtogroup ICU4C
+ * @{
* \file
* \brief C API: API for accessing ICU version numbers.
*/
@@ -33,28 +35,28 @@
#include "unicode/uvernum.h"
/** Maximum length of the copyright string.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U_COPYRIGHT_STRING_LENGTH 128
/** An ICU version consists of up to 4 numbers from 0..255.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U_MAX_VERSION_LENGTH 4
/** In a string, ICU version fields are delimited by dots.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U_VERSION_DELIMITER '.'
/** The maximum length of an ICU version string.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
#define U_MAX_VERSION_STRING_LENGTH 20
/** The binary form of a version on ICU APIs is an array of 4 uint8_t.
* To compare two versions, use memcmp(v1,v2,sizeof(UVersionInfo)).
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
@@ -70,7 +72,7 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
* This is used to begin a declaration of a public ICU C++ API within
* versioned-ICU-namespace block.
*
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
/**
@@ -78,14 +80,14 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
* This is used to end a declaration of a public ICU C++ API.
* It ends the versioned-ICU-namespace block begun by U_NAMESPACE_BEGIN.
*
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
/**
* \def U_NAMESPACE_USE
* This is used to specify that the rest of the code uses the
* public ICU C++ API namespace.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
/**
@@ -95,7 +97,7 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
*
* This macro is unnecessary since ICU 49 requires namespace support.
* You can just use "icu::" instead.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
# if U_DISABLE_RENAMING
@@ -145,7 +147,7 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
* a string corresponding to the numeric version
* information in versionArray.
* The buffer size must be at least U_MAX_VERSION_STRING_LENGTH.
- * @stable ICU 2.4
+ * \xrefitem stable "Stable" "Stable List" ICU 2.4
*/
U_CAPI void U_EXPORT2
u_versionToString(const UVersionInfo versionArray, char *versionString) __INTRODUCED_IN(31);
@@ -158,10 +160,12 @@ u_versionToString(const UVersionInfo versionArray, char *versionString) __INTROD
* Definition of this function lives in putil.c
*
* @param versionArray the version # information, the result will be filled in
- * @stable ICU 2.0
+ * \xrefitem stable "Stable" "Stable List" ICU 2.0
*/
U_CAPI void U_EXPORT2
u_getVersion(UVersionInfo versionArray) __INTRODUCED_IN(31);
#endif
+
+/** @} */ // addtogroup
diff --git a/tools/i18nutil.py b/tools/i18nutil.py
index c802f5f87..e061f5ea8 100644
--- a/tools/i18nutil.py
+++ b/tools/i18nutil.py
@@ -1,3 +1,19 @@
+# Copyright 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Utility methods associated with Android source and builds."""
+
from __future__ import print_function
import os
diff --git a/tools/icu4c_srcgen/doc_patches/patches/unicode/uloc.h.patch b/tools/icu4c_srcgen/doc_patches/patches/unicode/uloc.h.patch
index 5c60e81ca..c9f87aec6 100644
--- a/tools/icu4c_srcgen/doc_patches/patches/unicode/uloc.h.patch
+++ b/tools/icu4c_srcgen/doc_patches/patches/unicode/uloc.h.patch
@@ -1,5 +1,5 @@
---- libicu/ndk_headers/unicode/uloc.h 2021-01-19 16:37:46.343488297 +0000
-+++ libicu/ndk_headers/unicode/uloc.h 2021-01-19 16:37:46.447489035 +0000
+--- libicu/ndk_headers/unicode/uloc.h 2021-07-29 18:38:27.301302935 +0100
++++ libicu/ndk_headers/unicode/uloc.h 2021-07-29 18:38:27.461304332 +0100
@@ -368,6 +368,9 @@
* and unchanged even when uloc_setDefault() is called.
* The returned storage is owned by ICU, and must not be altered or deleted
@@ -9,4 +9,4 @@
+ * java.util.Locale#setDefault in java or by reverse JNI.
*
* @return the ICU default locale
- * @system
+ * \xrefitem system "System" "System List" Do not use unless you know what you are doing.
diff --git a/tools/icu4c_srcgen/doc_patches/patches/unicode/ulocdata.h.patch b/tools/icu4c_srcgen/doc_patches/patches/unicode/ulocdata.h.patch
index 11f79b89c..ddf7c2e89 100644
--- a/tools/icu4c_srcgen/doc_patches/patches/unicode/ulocdata.h.patch
+++ b/tools/icu4c_srcgen/doc_patches/patches/unicode/ulocdata.h.patch
@@ -1,6 +1,6 @@
---- libicu/ndk_headers/unicode/ulocdata.h 2021-02-10 23:39:51.609654012 +0000
-+++ libicu/ndk_headers/unicode/ulocdata.h 2021-02-10 23:39:51.837655519 +0000
-@@ -21,87 +21,11 @@
+--- libicu/ndk_headers/unicode/ulocdata.h 2021-07-29 18:40:17.450265175 +0100
++++ libicu/ndk_headers/unicode/ulocdata.h 2021-07-29 18:40:17.566266189 +0100
+@@ -21,10 +21,6 @@
#include "unicode/uloc.h"
@@ -8,69 +8,63 @@
-#include "unicode/localpointer.h"
-#endif // U_SHOW_CPLUSPLUS_API
-
--/**
-- * \file
-- * \brief C API: Provides access to locale data.
-- */
--
--/** Forward declaration of the ULocaleData structure. @stable ICU 3.6 */
--struct ULocaleData;
--
--/** A locale data object. @stable ICU 3.6 */
--typedef struct ULocaleData ULocaleData;
--
--
--
+ /**
+ * @addtogroup ICU4C
+ * @{
+@@ -40,70 +36,12 @@
+
+
+
-/** The possible types of exemplar character sets.
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
-typedef enum ULocaleDataExemplarSetType {
-- /** Basic set @stable ICU 3.4 */
+- /** Basic set \xrefitem stable "Stable" "Stable List" ICU 3.4 */
- ULOCDATA_ES_STANDARD=0,
-- /** Auxiliary set @stable ICU 3.4 */
+- /** Auxiliary set \xrefitem stable "Stable" "Stable List" ICU 3.4 */
- ULOCDATA_ES_AUXILIARY=1,
-- /** Index Character set @stable ICU 4.8 */
+- /** Index Character set \xrefitem stable "Stable" "Stable List" ICU 4.8 */
- ULOCDATA_ES_INDEX=2,
-- /** Punctuation set @stable ICU 51 */
+- /** Punctuation set \xrefitem stable "Stable" "Stable List" ICU 51 */
- ULOCDATA_ES_PUNCTUATION=3,
-#ifndef U_HIDE_DEPRECATED_API
- /**
- * One more than the highest normal ULocaleDataExemplarSetType value.
-- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+- * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
- */
- ULOCDATA_ES_COUNT=4
-#endif /* U_HIDE_DEPRECATED_API */
-} ULocaleDataExemplarSetType;
-
-/** The possible types of delimiters.
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
-typedef enum ULocaleDataDelimiterType {
-- /** Quotation start @stable ICU 3.4 */
+- /** Quotation start \xrefitem stable "Stable" "Stable List" ICU 3.4 */
- ULOCDATA_QUOTATION_START = 0,
-- /** Quotation end @stable ICU 3.4 */
+- /** Quotation end \xrefitem stable "Stable" "Stable List" ICU 3.4 */
- ULOCDATA_QUOTATION_END = 1,
-- /** Alternate quotation start @stable ICU 3.4 */
+- /** Alternate quotation start \xrefitem stable "Stable" "Stable List" ICU 3.4 */
- ULOCDATA_ALT_QUOTATION_START = 2,
-- /** Alternate quotation end @stable ICU 3.4 */
+- /** Alternate quotation end \xrefitem stable "Stable" "Stable List" ICU 3.4 */
- ULOCDATA_ALT_QUOTATION_END = 3,
-#ifndef U_HIDE_DEPRECATED_API
- /**
- * One more than the highest normal ULocaleDataDelimiterType value.
-- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+- * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
- */
- ULOCDATA_DELIMITER_COUNT = 4
-#endif /* U_HIDE_DEPRECATED_API */
-} ULocaleDataDelimiterType;
-
-
-
+-
+-
+-
-#if U_SHOW_CPLUSPLUS_API
--
+
-U_NAMESPACE_BEGIN
--
+
-/**
- * \class LocalULocaleDataPointer
- * "Smart pointer" class, closes a ULocaleData via ulocdata_close().
@@ -78,32 +72,32 @@
- *
- * @see LocalPointerBase
- * @see LocalPointer
-- * @stable ICU 4.4
+- * \xrefitem stable "Stable" "Stable List" ICU 4.4
- */
-U_DEFINE_LOCAL_OPEN_POINTER(LocalULocaleDataPointer, ULocaleData, ulocdata_close);
--
+
-U_NAMESPACE_END
--
+
-#endif
-@@ -111,22 +35,6 @@
+@@ -113,22 +51,6 @@
-/**
- * Enumeration for representing the measurement systems.
-- * @stable ICU 2.8
+- * \xrefitem stable "Stable" "Stable List" ICU 2.8
- */
-typedef enum UMeasurementSystem {
-- UMS_SI, /**< Measurement system specified by SI otherwise known as Metric system. @stable ICU 2.8 */
-- UMS_US, /**< Measurement system followed in the United States of America. @stable ICU 2.8 */
-- UMS_UK, /**< Mix of metric and imperial units used in Great Britain. @stable ICU 55 */
+- UMS_SI, /**< Measurement system specified by SI otherwise known as Metric system. \xrefitem stable "Stable" "Stable List" ICU 2.8 */
+- UMS_US, /**< Measurement system followed in the United States of America. \xrefitem stable "Stable" "Stable List" ICU 2.8 */
+- UMS_UK, /**< Mix of metric and imperial units used in Great Britain. \xrefitem stable "Stable" "Stable List" ICU 55 */
-#ifndef U_HIDE_DEPRECATED_API
- /**
- * One more than the highest normal UMeasurementSystem value.
-- * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
+- * \xrefitem deprecated "Deprecated" "Deprecated List" ICU 58 The numeric value may change over time, see ICU ticket #12420.
- */
- UMS_LIMIT
-#endif /* U_HIDE_DEPRECATED_API */
diff --git a/tools/icu4c_srcgen/doc_patches/patches/unicode/utext.h.patch b/tools/icu4c_srcgen/doc_patches/patches/unicode/utext.h.patch
index d2f760fbc..978a75c5b 100644
--- a/tools/icu4c_srcgen/doc_patches/patches/unicode/utext.h.patch
+++ b/tools/icu4c_srcgen/doc_patches/patches/unicode/utext.h.patch
@@ -1,6 +1,6 @@
---- libicu/ndk_headers/unicode/utext.h 2021-02-10 23:39:51.649654277 +0000
-+++ libicu/ndk_headers/unicode/utext.h 2021-02-10 23:39:51.865655704 +0000
-@@ -625,787 +625,6 @@
+--- libicu/ndk_headers/unicode/utext.h 2021-07-29 18:38:27.265302620 +0100
++++ libicu/ndk_headers/unicode/utext.h 2021-07-29 18:38:27.533304961 +0100
+@@ -627,787 +627,6 @@
@@ -27,7 +27,7 @@
- * Returns U_SENTINEL (-1) if the position is at the end of the
- * text.
- *
-- * @internal ICU 4.4 technology preview
+- * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. ICU 4.4 technology preview
- */
-#define UTEXT_CURRENT32(ut) \
- ((ut)->chunkOffset < (ut)->chunkLength && ((ut)->chunkContents)[(ut)->chunkOffset]<0xd800 ? \
@@ -43,7 +43,7 @@
- * Returns U_SENTINEL (-1) if the position is at the end of the
- * text.
- *
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
-#define UTEXT_NEXT32(ut) \
- ((ut)->chunkOffset < (ut)->chunkLength && ((ut)->chunkContents)[(ut)->chunkOffset]<0xd800 ? \
@@ -57,7 +57,7 @@
- * This is a pre-decrement operation.
- * Returns U_SENTINEL (-1) if the position is at the start of the text.
- *
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
-#define UTEXT_PREVIOUS32(ut) \
- ((ut)->chunkOffset > 0 && \
@@ -74,7 +74,7 @@
- * the corresponding UChar (UTF-16) index.
- * The returned position will always be aligned to a code point boundary.
- *
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
-#define UTEXT_GETNATIVEINDEX(ut) \
- ((ut)->chunkOffset <= (ut)->nativeIndexingLimit? \
@@ -90,7 +90,7 @@
- * If the index is out of range, it will be pinned to be within
- * the range of the input text.
- *
-- * @stable ICU 3.8
+- * \xrefitem stable "Stable" "Stable List" ICU 3.8
- */
-#define UTEXT_SETNATIVEINDEX(ut, ix) UPRV_BLOCK_MACRO_BEGIN { \
- int64_t __offset = (ix) - (ut)->chunkNativeStart; \
@@ -132,32 +132,32 @@
- * UText provider properties (bit field indexes).
- *
- * @see UText
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
-enum {
- /**
- * It is potentially time consuming for the provider to determine the length of the text.
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
- UTEXT_PROVIDER_LENGTH_IS_EXPENSIVE = 1,
- /**
- * Text chunks remain valid and usable until the text object is modified or
- * deleted, not just until the next time the access() function is called
- * (which is the default).
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
- UTEXT_PROVIDER_STABLE_CHUNKS = 2,
- /**
- * The provider supports modifying the text via the replace() and copy()
- * functions.
- * @see Replaceable
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
- UTEXT_PROVIDER_WRITABLE = 3,
- /**
- * There is meta data associated with the text.
- * @see Replaceable::hasMetaData()
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
- UTEXT_PROVIDER_HAS_META_DATA = 4,
- /**
@@ -165,7 +165,7 @@
- * Generally occurs as the result of a deep clone of the UText.
- * When closing the UText, the associated text must
- * also be closed/deleted/freed/ whatever is appropriate.
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- UTEXT_PROVIDER_OWNS_TEXT = 5
-};
@@ -205,7 +205,7 @@
- * original text.
- * @return The newly created clone, or NULL if the clone operation failed.
- *
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
-typedef UText * U_CALLCONV
-UTextClone(UText *dest, const UText *src, UBool deep, UErrorCode *status);
@@ -217,7 +217,7 @@
- * @param ut the UText to get the length of.
- * @return the length, in the native units of the original text string.
- * @see UText
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
-typedef int64_t U_CALLCONV
-UTextNativeLength(UText *ut);
@@ -245,7 +245,7 @@
- * (the requested index is out of bounds).
- *
- * @see UText
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
-typedef UBool U_CALLCONV
-UTextAccess(UText *ut, int64_t nativeIndex, UBool forward);
@@ -275,7 +275,7 @@
- * preflighting.
- * @return Number of UChars in the data. Does not include a trailing NUL.
- *
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
-typedef int32_t U_CALLCONV
-UTextExtract(UText *ut,
@@ -310,7 +310,7 @@
- * @return The signed number of (native) storage units by which
- * the length of the text expanded or contracted.
- *
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
-typedef int32_t U_CALLCONV
-UTextReplace(UText *ut,
@@ -344,7 +344,7 @@
- * @param move If true, then the substring is moved, not copied/duplicated.
- * @param status receives any error status. Possible errors include U_NO_WRITE_PERMISSION
- *
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
-typedef void U_CALLCONV
-UTextCopy(UText *ut,
@@ -364,7 +364,7 @@
- * @return Absolute (native) index corresponding to chunkOffset in the current chunk.
- * The returned native index should always be to a code point boundary.
- *
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
-typedef int64_t U_CALLCONV
-UTextMapOffsetToNative(const UText *ut);
@@ -382,7 +382,7 @@
- * @return Chunk-relative UTF-16 offset corresponding to the specified native
- * index.
- *
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
-typedef int32_t U_CALLCONV
-UTextMapNativeIndexToUTF16(const UText *ut, int64_t nativeIndex);
@@ -403,7 +403,7 @@
- *
- * @param ut A UText object to be closed.
- *
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
-typedef void U_CALLCONV
-UTextClose(UText *ut);
@@ -416,7 +416,7 @@
- * Each text provider implementation must provide an
- * actual table that is initialized with the appropriate functions
- * for the type of text being handled.
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
-struct UTextFuncs {
- /**
@@ -431,23 +431,23 @@
- * 4 pointers,
- * 2 64-bit fields
- * in sequence.
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- int32_t tableSize;
-
- /**
- * (private) Alignment padding.
- * Do not use, reserved for use by the UText framework only.
-- * @internal
+- * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
- */
-- int32_t reserved1, /** @internal */ reserved2, /** @internal */ reserved3;
+- int32_t reserved1, /** \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */ reserved2, /** \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. */ reserved3;
-
-
- /**
- * (public) Function pointer for UTextClone
- *
- * @see UTextClone
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- UTextClone *clone;
-
@@ -456,7 +456,7 @@
- * May be expensive to compute!
- *
- * @see UTextLength
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- UTextNativeLength *nativeLength;
-
@@ -464,7 +464,7 @@
- * (public) Function pointer for UTextAccess.
- *
- * @see UTextAccess
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- UTextAccess *access;
-
@@ -472,7 +472,7 @@
- * (public) Function pointer for UTextExtract.
- *
- * @see UTextExtract
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- UTextExtract *extract;
-
@@ -480,7 +480,7 @@
- * (public) Function pointer for UTextReplace.
- *
- * @see UTextReplace
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- UTextReplace *replace;
-
@@ -488,7 +488,7 @@
- * (public) Function pointer for UTextCopy.
- *
- * @see UTextCopy
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- UTextCopy *copy;
-
@@ -496,7 +496,7 @@
- * (public) Function pointer for UTextMapOffsetToNative.
- *
- * @see UTextMapOffsetToNative
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- UTextMapOffsetToNative *mapOffsetToNative;
-
@@ -504,7 +504,7 @@
- * (public) Function pointer for UTextMapNativeIndexToUTF16.
- *
- * @see UTextMapNativeIndexToUTF16
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- UTextMapNativeIndexToUTF16 *mapNativeIndexToUTF16;
-
@@ -512,25 +512,25 @@
- * (public) Function pointer for UTextClose.
- *
- * @see UTextClose
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- UTextClose *close;
-
- /**
- * (private) Spare function pointer
-- * @internal
+- * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
- */
- UTextClose *spare1;
-
- /**
- * (private) Spare function pointer
-- * @internal
+- * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
- */
- UTextClose *spare2;
-
- /**
- * (private) Spare function pointer
-- * @internal
+- * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
- */
- UTextClose *spare3;
-
@@ -550,7 +550,7 @@
- * to pass text data to ICU services will have no need to view the
- * internals of the UText structs that they open.
- *
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
-struct UText {
- /**
@@ -563,7 +563,7 @@
- * Text provider close functions must NOT clear
- * the magic field because that would prevent
- * reuse of the UText struct.
-- * @internal
+- * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
- */
- uint32_t magic;
-
@@ -571,7 +571,7 @@
- /**
- * (private) Flags for managing the allocation and freeing of
- * memory associated with this UText.
-- * @internal
+- * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
- */
- int32_t flags;
-
@@ -579,7 +579,7 @@
- /**
- * Text provider properties. This set of flags is maintained by the
- * text provider implementation.
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
- int32_t providerProperties;
-
@@ -587,7 +587,7 @@
- * (public) sizeOfStruct=sizeof(UText)
- * Allows possible backward compatible extension.
- *
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
- int32_t sizeOfStruct;
-
@@ -597,13 +597,13 @@
- /**
- * (protected) Native index of the first character position following
- * the current chunk.
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- int64_t chunkNativeLimit;
-
- /**
- * (protected) Size in bytes of the extra space (pExtra).
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
- int32_t extraSize;
-
@@ -612,7 +612,7 @@
- * chunk (UTF-16) indexing correspond. For UTF-16 sources, value
- * will be equal to chunkLength.
- *
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- int32_t nativeIndexingLimit;
-
@@ -620,20 +620,20 @@
-
- /**
- * (protected) Native index of the first character in the text chunk.
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- int64_t chunkNativeStart;
-
- /**
- * (protected) Current iteration position within the text chunk (UTF-16 buffer).
- * This is the index to the character that will be returned by utext_next32().
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- int32_t chunkOffset;
-
- /**
- * (protected) Length the text chunk (UTF-16 buffer), in UChars.
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- int32_t chunkLength;
-
@@ -644,20 +644,20 @@
- * (protected) pointer to a chunk of text in UTF-16 format.
- * May refer either to original storage of the source of the text, or
- * if conversion was required, to a buffer owned by the UText.
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- const UChar *chunkContents;
-
- /**
- * (public) Pointer to Dispatch table for accessing functions for this UText.
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- const UTextFuncs *pFuncs;
-
- /**
- * (protected) Pointer to additional space requested by the
- * text provider during the utext_open operation.
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
- void *pExtra;
-
@@ -665,7 +665,7 @@
- * (protected) Pointer to string or text-containing object or similar.
- * This is the source of the text that this UText is wrapping, in a format
- * that is known to the text provider functions.
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
- const void *context;
-
@@ -674,26 +674,26 @@
- /**
- * (protected) Pointer fields available for use by the text provider.
- * Not used by UText common code.
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- const void *p;
- /**
- * (protected) Pointer fields available for use by the text provider.
- * Not used by UText common code.
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- const void *q;
- /**
- * (protected) Pointer fields available for use by the text provider.
- * Not used by UText common code.
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
- const void *r;
-
- /**
- * Private field reserved for future use by the UText framework
- * itself. This is not to be touched by the text providers.
-- * @internal ICU 3.4
+- * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. ICU 3.4
- */
- void *privP;
-
@@ -704,21 +704,21 @@
- /**
- * (protected) Integer field reserved for use by the text provider.
- * Not used by the UText framework, or by the client (user) of the UText.
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
- int64_t a;
-
- /**
- * (protected) Integer field reserved for use by the text provider.
- * Not used by the UText framework, or by the client (user) of the UText.
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
- int32_t b;
-
- /**
- * (protected) Integer field reserved for use by the text provider.
- * Not used by the UText framework, or by the client (user) of the UText.
-- * @stable ICU 3.4
+- * \xrefitem stable "Stable" "Stable List" ICU 3.4
- */
- int32_t c;
-
@@ -728,19 +728,19 @@
- /**
- * Private field reserved for future use by the UText framework
- * itself. This is not to be touched by the text providers.
-- * @internal ICU 3.4
+- * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. ICU 3.4
- */
- int64_t privA;
- /**
- * Private field reserved for future use by the UText framework
- * itself. This is not to be touched by the text providers.
-- * @internal ICU 3.4
+- * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. ICU 3.4
- */
- int32_t privB;
- /**
- * Private field reserved for future use by the UText framework
- * itself. This is not to be touched by the text providers.
-- * @internal ICU 3.4
+- * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only. ICU 3.4
- */
- int32_t privC;
-};
@@ -750,7 +750,7 @@
-
-// do not use #ifndef U_HIDE_INTERNAL_API around the following!
-/**
-- * @internal
+- * \xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.
- * Value used to help identify correctly initialized UText structs.
- * Note: must be publicly visible so that UTEXT_INITIALIZER can access it.
- */
@@ -763,7 +763,7 @@
- * struct. UText structs must be initialized before passing
- * them to one of the utext_open functions.
- *
-- * @stable ICU 3.6
+- * \xrefitem stable "Stable" "Stable List" ICU 3.6
- */
-#define UTEXT_INITIALIZER { \
- UTEXT_MAGIC, /* magic */ \
diff --git a/tools/icu4c_srcgen/generate_libandroidicu.py b/tools/icu4c_srcgen/generate_libandroidicu.py
index 25c538057..85ca8893b 100755
--- a/tools/icu4c_srcgen/generate_libandroidicu.py
+++ b/tools/icu4c_srcgen/generate_libandroidicu.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# Copyright (C) 2018 The Android Open Source Project
#
@@ -88,13 +88,11 @@ def main():
with open(android_path('external/icu/libandroidicu/static_shim/shim.cpp'),
'w') as out_file:
out_file.write(generate_shim(functions, includes, SYMBOL_SUFFIX,
- 'libandroidicu_shim.cpp.j2')
- .encode('utf8'))
+ 'libandroidicu_shim.cpp.j2'))
with open(android_path('external/icu/libandroidicu/libandroidicu.map.txt'),
'w') as out_file:
- out_file.write(generate_symbol_txt(functions, [], 'libandroidicu.map.txt.j2')
- .encode('utf8'))
+ out_file.write(generate_symbol_txt(functions, [], 'libandroidicu.map.txt.j2'))
for path in parser.header_paths_to_copy:
basename = os.path.basename(path)
@@ -102,5 +100,7 @@ def main():
copy_header_only_files()
+ print("Done. See libandroidicu/ for the generated content.")
+
if __name__ == '__main__':
main()
diff --git a/tools/icu4c_srcgen/generate_ndk.py b/tools/icu4c_srcgen/generate_ndk.py
index 802d07ea4..570cafbbc 100755
--- a/tools/icu4c_srcgen/generate_ndk.py
+++ b/tools/icu4c_srcgen/generate_ndk.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# Copyright (C) 2018 The Android Open Source Project
#
@@ -33,6 +33,7 @@ import os
import re
import shutil
import subprocess
+from pathlib import Path
from genutil import (
android_path,
@@ -195,6 +196,68 @@ IGNORED_INCLUDE_DEPENDENCY = {
"ustring.h": ["uiter.h", ],
}
+IGNORED_HEADER_FOR_DOXYGEN_GROUPING = set([
+ "uconfig.h", # pre-defined config that NDK users shouldn't change
+ "platform.h", # pre-defined variable not to be changed by the NDK users
+ "utf_old.h", # deprecated UTF macros
+ "uvernum.h", # ICU version information not useful for version-independent usage in NDK
+ "urename.h" # Renaming symbols, but not used in NDK
+])
+
+"""
+This map should mirror the mapping in external/icu/icu4c/source/Doxyfile.in.
+This is needed because NDK doesn't allow per-module Doxyfile,
+apart from the shared frameworks/native/docs/Doxyfile.
+"""
+DOXYGEN_ALIASES = {
+ "@memo": '\\par Note:\n',
+ "@draft": '\\xrefitem draft "Draft" "Draft List" This API may be changed in the future versions and was introduced in',
+ "@stable": '\\xrefitem stable "Stable" "Stable List"',
+ "@deprecated": '\\xrefitem deprecated "Deprecated" "Deprecated List"',
+ "@obsolete": '\\xrefitem obsolete "Obsolete" "Obsolete List"',
+ "@system": '\\xrefitem system "System" "System List" Do not use unless you know what you are doing.',
+ "@internal": '\\xrefitem internal "Internal" "Internal List" Do not use. This API is for internal use only.',
+}
+
+def add_ndk_required_doxygen_grouping():
+ """Add @addtogroup annotation to the header files for NDK API docs"""
+ path = android_path('external/icu/libicu/ndk_headers/unicode')
+ files = Path(path).glob("*.h")
+
+ for src_path in files:
+ header_content = src_path.read_text()
+
+ for old, new in DOXYGEN_ALIASES.items():
+ header_content = header_content.replace(old, new)
+
+ src_path.write_text(header_content)
+
+ if os.path.basename(src_path) in IGNORED_HEADER_FOR_DOXYGEN_GROUPING:
+ continue
+
+ cmd_add_addtogroup_annotation = ['sed',
+ '-i',
+ '0,/^\( *\)\(\* *\\\\file\)/s//\\1* @addtogroup ICU4C\\n\\1* @{\\n\\1\\2/',
+ src_path
+ ]
+
+ subprocess.check_call(cmd_add_addtogroup_annotation)
+
+ # Next iteration if the above sed regex doesn't add the text
+ if not has_string_in_file(src_path, 'addtogroup'):
+ basename = os.path.basename(src_path)
+ print(f'Warning: unicode/{basename} has no "\\file" annotation')
+ continue
+
+ # Add the closing bracket for @addtogroup
+ with open(src_path, 'a') as header_file:
+ header_file.write('\n/** @} */ // addtogroup\n')
+
+def has_string_in_file(path, s):
+ """Return True if the a string exists in the file"""
+ with open(path, 'r') as file:
+ return s in file.read()
+
def main():
"""Parse the ICU4C headers and generate the shim libicu."""
logging.basicConfig(level=logging.DEBUG)
@@ -221,12 +284,10 @@ def main():
with open(android_path('external/icu/libicu/src/shim.cpp'),
'w') as out_file:
- out_file.write(generate_shim(functions, includes, SYMBOL_SUFFIX, 'libicu_shim.cpp.j2')
- .encode('utf8'))
+ out_file.write(generate_shim(functions, includes, SYMBOL_SUFFIX, 'libicu_shim.cpp.j2'))
with open(android_path('external/icu/libicu/libicu.map.txt'), 'w') as out_file:
- out_file.write(generate_symbol_txt(functions, [], 'libicu.map.txt.j2')
- .encode('utf8'))
+ out_file.write(generate_symbol_txt(functions, [], 'libicu.map.txt.j2'))
# Process the C headers and put them into the ndk folder.
for src_path in parser.header_paths_to_copy:
@@ -241,9 +302,13 @@ def main():
generate_cts_headers(allowlisted_apis)
+ add_ndk_required_doxygen_grouping()
+
# Apply documentation patches by the following shell script
subprocess.check_call(
[android_path('external/icu/tools/icu4c_srcgen/doc_patches/apply_patches.sh')])
+ print("Done. See the generated headers at libicu/ndk_headers/.")
+
if __name__ == '__main__':
main()
diff --git a/tools/icu4c_srcgen/genutil.py b/tools/icu4c_srcgen/genutil.py
index d652ac2e6..39b4eda06 100644
--- a/tools/icu4c_srcgen/genutil.py
+++ b/tools/icu4c_srcgen/genutil.py
@@ -70,15 +70,38 @@ def android_path(*args):
return os.path.join(ANDROID_TOP, *args)
-# TODO: Include clang bindings in prebuilt package. http://b/119270767
-site.addsitedir(android_path('external/clang/bindings/python'))
-import clang.cindex # pylint: disable=import-error,wrong-import-position
+def get_clang_path():
+ """Find the latest clang version and return the full path"""
+ base_path = android_path('prebuilts/clang/host/linux-x86/')
+ files = [f for f in os.listdir(base_path) if f.startswith('clang-r')]
+ # TODO: Don't use sort() because it assumes the same number of digits in the version name
+ files.sort(reverse=True)
+ selected = files[0]
+ print("Using clang version %s" % selected)
+ path = os.path.join(base_path, selected)
+ return path
+
+
+def get_clang_lib_path(clang_path):
+ """Return the libclang.so path"""
+ base_path = os.path.join(clang_path, 'lib64')
+ files = [f for f in os.listdir(base_path) if f.startswith('libclang.so.')]
+ return os.path.join(base_path, files[0])
+
-# TODO: Do not hardcode clang version. http://b/119270767
-CLANG_REVISION = 'r383902c'
-CLANG_LIB_VERSION = '11git'
-CLANG_HEADER_VERSION = '11.0.3'
-CLANG_PATH = android_path('prebuilts/clang/host/linux-x86/clang-%s' % CLANG_REVISION)
+def get_clang_header_dir(clang_path):
+ """Return the path to clang header directory"""
+ base_path = os.path.join(clang_path, 'lib64/clang/')
+ files = os.listdir(base_path)
+ return os.path.join(base_path, files[0], 'include/')
+
+
+CLANG_PATH = get_clang_path()
+CLANG_LIB_PATH = get_clang_lib_path(CLANG_PATH)
+CLANG_HEADER_PATH = get_clang_header_dir(CLANG_PATH)
+
+site.addsitedir(os.path.join(CLANG_PATH, 'lib64/python3/site-packages/'))
+import clang.cindex # pylint: disable=import-error,wrong-import-position
class Function:
@@ -170,9 +193,7 @@ class DeclaredFunctionsParser:
# Configures libclang to load in our environment
# Set up LD_LIBRARY_PATH to include libclang.so, libLLVM.so, etc. Note
# that setting LD_LIBRARY_PATH with os.putenv() sometimes doesn't help.
- # clang.cindex.Config.set_library_path(os.path.join(CLANG_PATH, 'lib64'))
- clang.cindex.Config.set_library_file(
- os.path.join(CLANG_PATH, 'lib64', 'libclang.so.%s' % CLANG_LIB_VERSION))
+ clang.cindex.Config.set_library_file(CLANG_LIB_PATH)
def set_va_functions_mapping(self, mapping):
"""Set mapping from a variable argument function to an implementation.
@@ -232,8 +253,7 @@ class DeclaredFunctionsParser:
]
include_dirs = [
- # TODO: Do not hardcode clang version. http://b/119270767
- os.path.join(CLANG_PATH, 'lib64/clang/', CLANG_HEADER_VERSION, 'include/'),
+ CLANG_HEADER_PATH,
android_path('bionic/libc/include'),
android_path('external/icu/android_icu4c/include'),
android_path('external/icu/icu4c/source/common'),
diff --git a/tools/icuutil.py b/tools/icuutil.py
index 7c84b263f..8353376f4 100644
--- a/tools/icuutil.py
+++ b/tools/icuutil.py
@@ -1,5 +1,3 @@
-#!/usr/bin/python -B
-
# Copyright 2017 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/tools/updatecldrdata.py b/tools/updatecldrdata.py
index 10b169d18..1f2cf3e7b 100755
--- a/tools/updatecldrdata.py
+++ b/tools/updatecldrdata.py
@@ -1,4 +1,17 @@
-#!/usr/bin/python -B
+#!/usr/bin/python3 -B
+# Copyright 2018 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
"""Regenerates (just) ICU data source files used to build ICU data files."""
diff --git a/tools/updateicudata.py b/tools/updateicudata.py
index 175761920..7a47f9b0f 100755
--- a/tools/updateicudata.py
+++ b/tools/updateicudata.py
@@ -1,4 +1,17 @@
-#!/usr/bin/python -B
+#!/usr/bin/python3 -B
+# Copyright 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
"""Regenerates (just) ICU data files used in the Android system image."""
diff --git a/tools/ziputil.py b/tools/ziputil.py
index 5b2b580ea..f5745e93d 100644
--- a/tools/ziputil.py
+++ b/tools/ziputil.py
@@ -1,5 +1,3 @@
-#!/usr/bin/python -B
-
# Copyright 2017 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");