7 Commits

Author SHA1 Message Date
Sadie Powell
1d06a27acc Add a method for creating a regex pattern with included flags. 2020-07-29 10:42:31 +01:00
Sadie Powell
1621a84f96 Rewrite the regex system from scratch.
* Move everything to the Regex namespace:
  - Regex -> Regex::Pattern
  - RegexException -> Regex::Exception
  - RegexFactory -> Regex::Engine

* Add support for regex flags.
  - Regex::OPT_CASE_INSENSITIVE performs case-insensitive matching.

* Add the Regex::EngineReference class as a friendly wrapper around
  dynamic_reference_nocheck<Regex::Engine>.

* Add the Regex::SimpleEngine template class for automating the
  implementation of regex factory classes.

* Use std::shared_ptr for Regex::Pattern objects instead of making
  users manage memory manually.
2020-07-28 19:22:59 +01:00
InspIRCd Robot
aa692dc103 Update copyright headers. 2020-01-11 22:14:43 +00:00
attilamolnar
5384ddf545 Fix Windows build and a few more problems 2013-08-27 15:03:10 +02:00
Peter Powell
eaf658de3d Fix various small issues.
- Add CXX11_OVERRIDE to *Regex::Matches and *RegexFactory::Create.
- Fix documentation comment on regex_string.
- Fix various code duplication/layout issues.
2013-08-27 12:20:03 +01:00
Peter Powell
0e7f74a7c8 Make all regex modules throw the same exception on error. 2013-08-27 12:07:49 +01:00
Peter Powell
11cafc12d5 Tidy up source files:
- Use #pragma once instead of include guards.
- Move header files in src/modules to include/modules.
- Fixed various spacing issues.
2013-04-12 17:03:05 +01:00