Commit graph

31 commits

Author SHA1 Message Date
Fredrik Roubert
0178a07a26 ICU-22793 Clang-Tidy: google-readability-casting
https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google/readability-casting.html
2024-07-04 22:32:12 +02:00
Fredrik Roubert
5401c12018 ICU-22621 Clang-Tidy: modernize-use-nullptr
https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize/use-nullptr.html
2024-03-15 14:31:54 +01:00
Fredrik Roubert
3a88e99a27 ICU-22520 Add a StringByteSink<CharString> template specialization.
This makes it possible to call public functions that take a string class
as a template parameter and return an object of that class (implemented
through the StringByteSink helper class) also with the CharString class,
even though this class doesn't actually provide the public API required
by StringByteSink.

This makes it possible to use such more modern APIs also internally.
2024-03-07 17:35:48 +01:00
Fredrik Roubert
939f08f274 ICU-22520 Use C++ function signatures for internal C++ functions.
Some of this code was originally written as C code and some of this code
was originally written as C++ code but made to resemble the then already
existing code that had once been C code. Changing it all to normal C++
now will make it easier and safer to work with going forward.

· Use unnamed namespace instead of static.
· Use reference instead of non-nullable pointer.
· Use bool instead of UBool.
· Use constexpr for static data.
· Use U_EXPORT instead of U_CAPI or U_CFUNC.
· Use the default calling convention instead of U_EXPORT2.
2024-02-12 21:44:06 +01:00
Fredrik Roubert
02740597ce ICU-22520 Replace char arrays with icu::CharString. 2023-12-29 11:30:57 +09:00
Fredrik Roubert
887005b68a ICU-22520 Remove unnecessary copying of statically allocated strings. 2023-12-22 08:43:55 +09:00
Markus Scherer
b6dcc95d3c ICU-21833 remove redundant void parameter lists
See #2351
2023-03-02 09:31:57 -08:00
Fredrik Roubert
2de88f9d9c ICU-21833 Replace UChar with char16_t in all C++ code. 2023-02-06 19:27:44 +01:00
Fredrik Roubert
2e0d30cfcf ICU-21833 Replace NULL with nullptr in all C++ code. 2023-02-03 20:20:38 +01:00
Fredrik Roubert
030fa1a479 ICU-21148 Consistently use standard lowercase true/false everywhere.
This is the normal standard way in C, C++ as well as Java and there's no
longer any reason for ICU to be different. The various internal macros
providing custom boolean constants can all be deleted and code as well
as documentation can be updated to use lowercase true/false everywhere.
2022-09-07 20:56:33 +02:00
Peter Edberg
0da0fabfae ICU-20870 If locale/lang name lookup fails, canonicalize lang and try again 2021-09-13 09:50:33 -07:00
Peter Varga
1986dcd0d8 ICU-21734 Add missing overrides 2021-09-07 17:42:14 -07:00
Markus Scherer
7237fc58b4 ICU-12086 ICU-12165 Currency.getName() param isChoiceFormat can be null, make it so, document, use null in library code 2019-08-30 14:47:19 -07:00
Andy Heninger
afa9b9b48e ICU-20588 UMutex, add cleanup of underlying mutexes, and simplify usage model 2019-05-24 13:24:59 -07:00
Frank Tang
53dd621e3a ICU-12760 support UDISPCTX_TYPE_SUBSTITUTE_HANDLING
add tests

remove printf

fix localeDisplayName and add tests

fix fallback

remove get
2019-05-13 17:38:07 -07:00
Andy Heninger
b772241b52 ICU-20520 UMutex refactoring.
- Use STATIC_NEW for mutex creation, to avoid order-of-destruction problems
    by avoiding destruction altogether, while avoiding memory leak reports.

  - Remove UConditionVar, replace with direct use of std::condition_variable
2019-05-07 13:50:49 -07:00
Andy Heninger
bc4bb89af2 ICU-20488 mutex static constructor fixes.
Remove the dependencies from the ICU library code on static constructors
that were introduced by using std::mutex and condition variables. The
mutexes are lazily initialized by embedding them as local static variables
in getter functions, and relying on the C++ compiler/runtime to do thread
safe initialization of them.
2019-03-12 09:52:16 -07:00
Daniel Ju
b13c951348
ICU-20043 ICU-13214 ICU-13764 MSVC W3 and W4 warning cleanup (#53)
Cleaned up all of the MSVC W3 warnings and most of the W4 warnings in the common and i18n projects.
2018-09-27 14:27:38 -07:00
Andy Heninger
1c794eb111 ICU-13394 nul-terminated buffer handling fixed from Chromium.
X-SVN-Rev: 40615
2017-10-11 22:22:45 +00:00
William Zhao
4bb34584ad ICU-13275 Merge into some W3 warning fixes into trunk
X-SVN-Rev: 40446
2017-09-22 18:00:51 +00:00
Markus Scherer
4c2fad3e36 ICU-12410 class Edits, class CaseMap with new low-level functions that work with Edits, simpler case properties code, some cleanup
X-SVN-Rev: 39684
2017-02-17 21:03:35 +00:00
Andy Heninger
242e02c388 ICU-12764 icu4c utf-8 source files, update Copyright notices.
X-SVN-Rev: 39583
2017-01-20 00:20:31 +00:00
Markus Scherer
3b23b78b95 ICU-12410 include what you use
X-SVN-Rev: 39553
2017-01-12 18:35:18 +00:00
Peter Edberg
11c0df4f7b ICU-12738 ICU4C BRS, fixes from testing uconfig.h variations
X-SVN-Rev: 39378
2016-09-28 07:37:19 +00:00
Michael Ow
61607c2773 ICU-12564 Update copyright notice in trunk
X-SVN-Rev: 38848
2016-06-15 18:58:17 +00:00
Shane Carr
f58d106c20 ICU-12533 Loading capitilization context for LocaleDisplayNames using data sink (C++).
X-SVN-Rev: 38778
2016-05-31 22:45:23 +00:00
Yoshito Umaoka
00ca13e126 ICU-12564 Reverted r38761 and r38762, because we want to prepend the Unicode copyright for existing source files, instead of replacing copyright comments.
X-SVN-Rev: 38776
2016-05-31 21:45:07 +00:00
Michael Ow
c9f199a30f ICU-12564 Update copyright notice in ICU4C
X-SVN-Rev: 38761
2016-05-26 22:32:17 +00:00
Peter Edberg
2d8540d0a3 ICU-12154 C, LocaleDisplayNames should handle bad locale IDs without crashing
X-SVN-Rev: 38427
2016-02-28 23:48:41 +00:00
Peter Edberg
ab31f07e88 ICU-12156 C, for locale disp name trailing parts, use internal methods that don't adjust for context
X-SVN-Rev: 38423
2016-02-28 20:13:37 +00:00
Markus Scherer
bb5f37a069 ICU-7457 replace MessageFormat with SimpleFormatter where easy; remove obsolete ChoiceFormat handling of currency names; move LocaleDisplayNames & ucurr from i18n to common
X-SVN-Rev: 38200
2016-01-26 22:56:59 +00:00
Renamed from icu4c/source/i18n/locdspnm.cpp (Browse further)