Fredrik Roubert
3534d337c6
ICU-20973 Rewrite polymorphic CacheKeyBase equality operators for C++20.
...
The existing polymorphic equality operators that use different types for
the `this` and `other` objects are ambiguous with C++20 resolution rules
that require equality for reversed arguments.
In order to resolve that, while also possibly making the implementation
somewhat simpler overall, the implementation classes (LocaleCacheKey
and DateFmtBestPatternKey) now get normal (non-polymorphic) equality
operators that are trivially non-ambiguous (and as a bonus also don't
need any type casts), while the dynamic type checking logic is moved
into protected helper functions, which in the end are invoked
(without any ambiguity) by friend operators in the base class.
This way, all equality testing of cache key objects ends up taking one
of these two possible paths:
1. Both sides of the equality operator are of the same implementation
type (ie. LocaleCacheKey or DateFmtBestPatternKey):
The type specific equality operator is called directly, comparing the
relevant attributes of the two objects directly.
2. The two sides of the equality operator are either of different types
or of some base class type:
The friend equality operators of CacheKeyBase call the virtual helper
function to figure out whether the two objects are actually of the
same type and if they are and this type is an implementation type
then does the necessary type cast to get to 1.
2021-08-26 00:12:04 +02:00
Shane F. Carr
c12c5b5a4c
ICU-21215 Add default constructor to FormattedNumberRange
2021-08-25 13:34:48 -05:00
Shane F. Carr
8cd025bb9c
ICU-21590 Add skeleton syntax for integer-width-trunc
2021-08-25 12:51:51 -05:00
Markus Scherer
486e2d36ac
ICU-21648 limit backslash-uhhhh escapes to ASCII hex digits
2021-08-25 17:04:24 +00:00
Markus Scherer
ae3f2ae7ca
ICU-21663 UnicodeSetIterator: make protected members private
2021-08-25 00:51:14 +00:00
Shane F. Carr
e2acbdee22
ICU-21693 Fix FormattedNumber::toDecimalNumber on 0
2021-08-23 21:10:07 -05:00
Markus Scherer
41aa7159ea
ICU-21635 Unicode 14 data files 20210820, line break LB30b.2
...
See #1807
2021-08-23 22:11:49 +00:00
Peter Edberg
7e07633997
ICU-21581 lingering exhaustive fail, need to separately skip sd_Deva month name exemplar test
2021-08-19 22:09:48 -07:00
Peter Edberg
f6d47953c0
ICU-21581 integrate CLDR release-40-alpha1 to ICU trunk
2021-08-19 15:27:38 -07:00
Shane F. Carr
4e01fba906
ICU-21358 Use sign position to format approximate numbers
...
See #1635
2021-08-19 16:18:19 -05:00
Peter Edberg
49dda34fb1
ICU-21581 integrate CLDR 40a0 to ICU trunk
2021-08-18 23:59:19 -07:00
Fredrik Roubert
51c11da869
ICU-20973 Delete unnecessary deprecated TimeUnitFormat::operator!=().
...
An operator!=() is already defined by a base class so this class doesn't
need to define it again and not doing so avoids a C++20 ambiguity.
This simplifies the code.
2021-08-19 01:22:48 +02:00
Frank Tang
126af02948
ICU-21729 Fix setLanguageTag doc matching Java
2021-08-18 16:16:10 -07:00
Rich Gillam
1ec55bf021
ICU-21202 Fixed error in alias resolution in uresbund.cpp.
2021-08-18 10:12:20 -07:00
Fredrik Roubert
88896d005d
ICU-20973 Update configure files from configure.ac using autoreconf.
2021-08-17 00:35:00 +02:00
Fredrik Roubert
dc1b8ca26e
ICU-20973 Use the Clang -Wno-ambiguous-reversed-operator flag.
2021-08-17 00:35:00 +02:00
Fredrik Roubert
2166b512fc
ICU-20973 Manually resolve C++20 reversed argument order ambiguity.
2021-08-17 00:35:00 +02:00
Fredrik Roubert
633438f8da
ICU-20973 Change all equality operator return types from UBool to bool.
2021-08-17 00:35:00 +02:00
Gregorio Litenstein
ee7468a565
ICU-21064 Fix declspec macro conflict on clang.
2021-08-16 11:06:46 -07:00
Jeff Genovy
744ca71663
ICU-21707 Fix LocaleBuilder assumption that the default locale doesn't have any BCP47 extension tags.
...
Add test case for LocaleBuilder with default locale with extensions.
Use Locale::getRoot().clone() instead of new Locale();
Add CI build bot with LANG that has extension tags
2021-08-12 16:58:12 -07:00
Myles C. Maxfield
e2fafa5840
ICU-21694 ubidi.h sample code would not compile
2021-08-04 11:47:05 -07:00
Rich Gillam
b03b8be741
ICU-21639 Added an internal utility class to streamline preflighting and heap-allocating a char buffer for a locale ID
...
and changed several internal methods in ULocale to use it, so that they work correctly on locale IDs that are longer
than ULOC_FULLNAME_CAPACITY.
2021-08-02 13:15:29 -07:00
Andy Heninger
c26aebe802
ICU-21662 Rename UVector::addElement().
...
This is the first step towards improving the error handling and out-of-memory
behavior of UVector::addElement(). A followup PR will add back a new addElement()
with corrected error handling, then additional followups will switch call sites
from the original (renamed) function to the new addElement().
This commit includes no logic or behavior changes; it only renames the existing functions.
2021-07-28 15:36:50 -07:00
Rich Gillam
dcfdaca46c
ICU-21647 Added support for narrow quarter names to DateFormatSymbols and SimpleDateFormat.
2021-07-28 11:14:36 -07:00
David Haney
9ff39368b2
ICU-21680 Add -std flag when generating dependency information
2021-07-27 08:40:09 -04:00
Peter Edberg
eed6388dab
ICU-21622 Add UYW to list of currencies from ucurr_openISOCurrencies()
2021-07-22 16:51:20 -07:00
Rich Gillam
d5cb201e52
ICU-21624 Fixed it so that a DecimalFormat no longer owns two separate DecimalFormatSymbols objects.
2021-07-22 14:17:19 -07:00
Rich Gillam
9a614752ce
ICU-21584 Added code to allow regions of type "grouping" to return their children.
2021-07-22 12:55:50 -07:00
Peter Edberg
17d64710a2
ICU-21581 BRS 70rc, update urename.h pass 1
2021-07-22 10:35:51 -07:00
Rich Gillam
0e4b768289
ICU-21581 Promoted @draft 68 APIs to stable
2021-07-19 14:59:57 -07:00
luz paz
73eca0a9c9
ICU-21580 Fix typos in icu4c/
...
Found via `codespell -q 3 -L ans,anumber,atleast,ba,bre,hace,nd,nin,ois,rsource,som,sur,tht -S icu4c/source/data/zone,icu4c/source/data/lang`
ICU-21580 Fix source (related) typos
ICU-21580 Revert extraneous auto-encoding
ICU-21580 Re-add previous reverted fix without auto-encoding
2021-07-19 13:22:38 -05:00
Rich Gillam
ac51a1921f
ICU-21650 Modified DateTimePatternGenerator to handle skeletons with "e" and "c" better (allowing support for numeric
...
day-of-week abbreviations).
2021-07-15 18:16:51 -07:00
Frank Yung-Fong Tang
cfffa2b83b
ICU-21676 Fix strcpy buffer override in ultag_parse
...
See #1767
2021-07-14 10:26:14 -07:00
Frank Tang
24778dfc9b
ICU-21641 Fix "emoji" and "eor" for Collator::getKeywordValues
...
See #1743
2021-07-13 15:30:42 -07:00
Jeff Genovy
1d560c37e5
ICU-21664 Fix set but unused warning in locid.cpp
2021-07-12 12:11:34 -07:00
Shane F. Carr
4c35e59bdc
ICU-21659 Adding test for exabyte
2021-07-02 13:44:16 -05:00
Markus Scherer
e4e2ae9544
ICU-21525 UnicodeSet.hasString(), UnicodeSetIterator.skipToStrings() & C API
2021-07-01 00:44:24 +00:00
Jeff Genovy
a25a710755
ICU-21644 Use LocalPointer in ICUService::getKey to prevent leaks.
2021-06-28 13:54:51 -07:00
Frank Tang
5e4fdaf45f
ICU-21491 Remove internal usage of @internal BasicTimeZone::getOffsetFromLocal
...
See #1681
2021-06-23 20:39:45 -07:00
Markus Scherer
d4c92ebcfc
ICU-21635 Unicode 14 beta
2021-06-21 22:26:15 +00:00
Markus Scherer
fc28b3521d
ICU-21580 fix unicode.org/unicode/ URLs
2021-06-18 23:39:05 +00:00
Peter Edberg
4a6ad3dc93
ICU-21581 integrate CLDR release-40-m1 to ICU trunk
2021-06-15 14:24:21 -07:00
Elango Cheran
121dbe8364
ICU-21632 Fix links in readme.html files to respective readme pages in User Guide
2021-06-10 09:36:19 -07:00
Erik Torres
3f043c7693
ICU-21555 Fix typos from G to L
...
See #1737
2021-06-07 16:09:09 -07:00
Erik Torres
48ef451b87
ICU-21581 BRSRC 70.0.1 Version update and regenerate configure for v70.0.1
...
See #1738
2021-06-04 14:09:41 -07:00
Andy Heninger
7d75a85501
ICU-21579 Compiler warning fixes.
...
Fix typos in hard-coded test data, uncovered by a compiler upgrade to
clang version 12.0.0-1ubuntu1
2021-05-21 12:29:09 -07:00
yumaoka
5518bb0c84
ICU-21623 Removed linker flag -dexpall for AIX xlclang build.
...
See #1727
2021-05-20 11:49:40 -04:00
Frank Tang
6d56429336
ICU-21569 LSTM fix resource issue.
...
See #1718
2021-05-15 10:10:37 -07:00
Frank Tang
4b6e6e1bc9
ICU-21569 LSTM Add test to test long string.
2021-05-13 13:12:59 -07:00
Frank Tang
b96a806c8f
ICU-21569 Remove extra LocalUResourceBundlePointer
...
Remove LocalUResourceBundlePointer fDictRes which shadowed the real
UUResourceBundle*.
ICU-21569 fix assert
2021-05-11 20:46:53 -07:00