Commit graph

112 commits

Author SHA1 Message Date
Fredrik Roubert
ea2cb8549e ICU-21833 Replace U_FINAL with final everywhere. 2023-02-22 22:39:41 +01:00
Fredrik Roubert
2e0d30cfcf ICU-21833 Replace NULL with nullptr in all C++ code. 2023-02-03 20:20:38 +01:00
Markus Scherer
e72233f8b7 ICU-21959 fix file-level doxygen issues 2022-09-27 15:58:43 -07:00
Cyndy Ishida
e2ae4f5324 ICU-22054 Remove declarations for unimplemented APIs
This patch also includes marking `=delete` on specific `normal` member functions, as opposed to compiler generated functions,
based on the description of such functions' surrounding comments.
2022-07-01 08:57:10 -07:00
Cyndy Ishida
0dcb1cb065 ICU-22035 Remove instances of pre c++11 default constructor prevention pattern 2022-06-08 16:28:02 -07:00
Peter Varga
1986dcd0d8 ICU-21734 Add missing overrides 2021-09-07 17:42:14 -07:00
Fredrik Roubert
633438f8da ICU-20973 Change all equality operator return types from UBool to bool. 2021-08-17 00:35:00 +02:00
Markus Scherer
c3fe7e09d8 ICU-21267 stop defining & using FALSE & TRUE macros in public headers
See #1282
2020-09-09 15:13:56 -07:00
Andy Heninger
14bcaaf58e ICU-20876 Regex Grapheme Cluster matching with Break Iterators.
Change the implementation of grapheme cluster matching in regex to use an ICU
break iterator instead of a little one-off state machine.

The old implementation had fallen behind the Unicode UAX-29 specification for
graphem clusters, and could not be easily updated.

The implementation follows the same general pattern that is used for finding
word boundaries with an ICU break iterator. In reviewing that code, a few
improvements to the handling of ICU error codes were also made.

Also note that this change adds a new dependency on Break Iteration.  Regex
patterns that previously would work with ICU builds that were configured with
no break iteration will now fail. But only if they include \X for matching
grapheme cluster boundaries.
2020-02-18 18:28:10 -08:00
Andy Heninger
54a60fe6f4 ICU-11548 Improve regex static UnicodeSets handling
Compiled regular expression patterns make use of several shared common
UnicodeSets. This change simplifies the creation and use of these
static UnicodeSets.

- Pointer fields to the static sets are removed from the compiled patterns,
  and the static variables are accessed directly. The deleted pointers
  were a hold-over from earlier code that did not use shared statics.

- The UnicodeSet pattern literals are changed from hex constants to
  u"string literals".

- The size of fRuleSets (from regexst.h) is changed from a hard-coded 10
  to the number of UnicodeSets actually required. Doing this required
  a change to regexcst.pl to export the required size. Changing and
  rerunning this perl code resulted in massive but benign changes to
  the generated file regexcst.h, the result of perl having changed its
  order of enumeration of hashes since the file was last regenerated.

- UnicodeSets are frozen when possible. Should result in faster matching.
2020-01-30 15:13:07 -08:00
Andy Heninger
03937347fb ICU-20863 Regex, lazy creation and reduced size of map from capture group names to numbers. 2019-10-22 17:23:26 -07:00
Alon Bar-Lev
a5bbd505d7 ICU-20578 headers: guard all C++ headers using U_SHOW_CPLUSPLUS_API
support including all files in C

cleanup and simplify the test/hdrtest

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
2019-05-14 17:18:06 -07:00
Andy Heninger
921ae1b71e ICU-20227 Regex API docs - add references to URegexpFlag where flags are mentioned. Replace html with markdown. 2019-01-04 09:28:01 -08:00
Markus Scherer
4b154b8328 ICU-12992 s/UChar/char16_t/g in public C++ header files
X-SVN-Rev: 39721
2017-03-01 23:55:58 +00:00
Andy Heninger
04448b004f ICU-12764 UTF-8 source files, update file encoding comments.
X-SVN-Rev: 39641
2017-02-03 18:57:23 +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
Michael Ow
61607c2773 ICU-12564 Update copyright notice in trunk
X-SVN-Rev: 38848
2016-06-15 18:58:17 +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
Michael Ow
367ded24ef ICU-12083 Update APIs for 57m1
X-SVN-Rev: 38251
2016-02-02 05:42:06 +00:00
Andy Heninger
85f3da6213 ICU-11638 Improve RegexMatcher::group() API docs.
X-SVN-Rev: 37327
2015-04-13 21:59:04 +00:00
Andy Heninger
d96fea9eb6 ICU-11123 promote RegexMatcher::find(UErrorCode &) to public API
X-SVN-Rev: 37073
2015-02-26 02:34:20 +00:00
Andy Heninger
ec3f77f878 ICU-5312 Regular Expressions Named Capture.
X-SVN-Rev: 37040
2015-02-18 23:56:19 +00:00
Andy Heninger
22c8c94d14 ICU-11469 Regular Expressions, remove old tech preview functions.
X-SVN-Rev: 36953
2015-01-14 00:03:29 +00:00
Peter Edberg
2beaf3dacf ICU-10992 BRS line 20, Check/fix non-stable API macros (U_HIDE_DRAFT_API and others)
X-SVN-Rev: 36520
2014-09-16 08:09:06 +00:00
Andy Heninger
3dd19f8a5b ICU-10815 Regex error handling, minor cleanups.
X-SVN-Rev: 36306
2014-09-02 21:39:18 +00:00
Andy Heninger
f2dfa7422e ICU-10815 Fix for uregex_findNext() not setting U_REGEX_STOPPED_BY_CALLER
X-SVN-Rev: 36260
2014-08-28 01:19:29 +00:00
Steven R. Loomis
e3dc3bc456 ICU-10347 add U_FINAL and U_OVERRIDE for C++11 "final" and "override".
Added them to several "not for subclassing" classes.
Some exceptions:
* Commented out U_FINAL where there's an internal override needed.
* For tests, added "#define U_FINAL" at the top to disable this.
#defined to null for Doxygen.

X-SVN-Rev: 36177
2014-08-16 01:30:43 +00:00
Andy Heninger
10dd7ed47b ICU-10463 Regular Expressions, rework debug conditionals to fix build failures on clang, and to somewhat simplify.
X-SVN-Rev: 34565
2013-10-14 22:11:21 +00:00
Peter Edberg
3f51cb7d8d ICU-10398 Update #ifndef U_HIDE_XXXXX_API (e.g. DRAFT) to match status tags (e.g. @draft)
X-SVN-Rev: 34448
2013-09-23 06:52:34 +00:00
Peter Edberg
fbace77746 ICU-9721 Update "#ifndef U_HIDE_XXX_API" guards for API status
X-SVN-Rev: 33367
2013-03-05 01:38:48 +00:00
Peter Edberg
4b3835d9e9 ICU-9091 Promote to stable most ICU4C API that are draft 4.8 or earlier
X-SVN-Rev: 31446
2012-02-20 04:28:17 +00:00
Andy Heninger
b8315ecf6a ICU-8826 Regex case insensitive match fixes; also fixes #6074, hitEnd() sometimes fails.
X-SVN-Rev: 31233
2012-01-20 00:50:02 +00:00
Markus Scherer
4e30dc4c14 ICU-8571 remove udraft.h etc. & genheaders.pl, use #ifndef U_HIDE_DRAFT_API etc. instead
X-SVN-Rev: 30447
2011-08-01 02:20:46 +00:00
Steven R. Loomis
b209c07620 ICU-8687 warnings fix (clang)
X-SVN-Rev: 30285
2011-07-06 20:05:38 +00:00
Steven R. Loomis
33ced448a3 ICU-8305 more doxygen fixes for regex
X-SVN-Rev: 30028
2011-05-04 23:13:14 +00:00
Andy Heninger
f777c14042 ICU-8444 Remove PATTERN_IS_UTEXT from regex API.
X-SVN-Rev: 29845
2011-04-21 22:57:19 +00:00
Andy Heninger
6d21ef8ca3 ICU-8305 doxygen cleanups for regular expression API.
X-SVN-Rev: 29812
2011-04-16 01:27:00 +00:00
Andy Heninger
8148726df2 ICU-8404 Regular Expressions split(), fix incorrect handling of trailing empty field
X-SVN-Rev: 29801
2011-04-15 00:48:39 +00:00
Andy Heninger
4a932a4dfc ICU-7795 Regular Expression refreshInputText added.
X-SVN-Rev: 29363
2011-01-27 01:12:12 +00:00
Michael Grady
cfe1b1d92f ICU-8104 Move REGEXFINDPROGRESS_INTERRUPT macro out of regex.h into implementation
X-SVN-Rev: 28961
2010-10-30 21:49:29 +00:00
Peter Edberg
e2b5a4245f ICU-8102 aack, fix the 4.6h that crept in
X-SVN-Rev: 28959
2010-10-29 21:12:04 +00:00
Peter Edberg
9ed097ba3d ICU-8102 @draft 4.4 -> @draft 4.6 for the unchanged @internal 4.4 functions
X-SVN-Rev: 28958
2010-10-29 21:09:53 +00:00
Steven R. Loomis
4f8e1629db ICU-7792 APIChangeReport.html and tag an untagged file
X-SVN-Rev: 28743
2010-09-30 18:27:04 +00:00
Michael Grady
751473d25a ICU-7813 64bit regex API, 7675: UText-based Regex to use native indexes, 7764: Improved UText-regex API error handling, 7855: UText regex group API returns shallow clone, 7851: Set region and start position, 7763: Inline regex progress callback function.
X-SVN-Rev: 28647
2010-09-18 03:07:17 +00:00
Michael Grady
8b6ce73317 ICU-7666 Regex find progress callback (from branch to trunk)
X-SVN-Rev: 28201
2010-06-15 20:19:10 +00:00
Peter Edberg
411a93712a ICU-4521 Merge from branch, fixes for 64bit alignment & type conversions
X-SVN-Rev: 27670
2010-02-25 06:33:29 +00:00
Peter Edberg
a6c3b1905e ICU-4521 Fix dangling pointer if a UnicodeString passed to RegexPattern::compile
doesn't persist for the life of the RegexPattern; ensure RegexPattern == still works.

X-SVN-Rev: 27541
2010-02-11 06:57:20 +00:00
Peter Edberg
f308bffc8c ICU-4521 Disambiguate signatures for RegexPattern::matcher,RegexMatcher::group for 0 pointers; fix warnings
X-SVN-Rev: 27522
2010-02-09 20:17:52 +00:00
Michael Grady
8216117f21 ICU-4521 UText-based regex implementation
X-SVN-Rev: 27482
2010-02-03 02:59:35 +00:00