Issue 2503: multiline option should be added to syntax_option_type (original) (raw)
This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++17 status.
2503. multiline option should be added to syntax_option_type
Section: 28.6.4.2 [re.synopt] Status: C++17 Submitter: Nozomu Katō Opened: 2015-05-22 Last modified: 2017-07-30
Priority: 2
View all other issues in [re.synopt].
View all issues with C++17 status.
Discussion:
The specification of ECMAScript defines the Multiline property for its RegExp and the regular expressions ^ and $ behave differently according to the value of this property. Thus, this property should be available also in the ECMAScript compatible engine in std::regex.
[2015-05-22, Daniel comments]
This issue interacts somewhat with LWG 2343(i).
[Telecon 2015-07]
Set the priority to match LWG 2343(i).
[2016-08, Chicago]
Monday PM: Moved to Tentatively Ready. This also resolves 2343(i)
Proposed resolution:
This wording is relative to N4431.
- Change 28.6.4.2 [re.synopt] as indicated:
namespace std::regex_constants {
typedef T1 syntax_option_type;
constexpr syntax_option_type icase = unspecified ;
constexpr syntax_option_type nosubs = unspecified ;
constexpr syntax_option_type optimize = unspecified ;
constexpr syntax_option_type collate = unspecified ;
constexpr syntax_option_type ECMAScript = unspecified ;
constexpr syntax_option_type basic = unspecified ;
constexpr syntax_option_type extended = unspecified ;
constexpr syntax_option_type awk = unspecified ;
constexpr syntax_option_type grep = unspecified ;
constexpr syntax_option_type egrep = unspecified ;
constexpr syntax_option_type multiline = unspecified ;
} - Change 28.6.4.3 [re.matchflag], Table 138 — "
syntax_option_typeeffects" as indicated:Table 138 — syntax_option_type effects
Element Effect(s) if set … multiline Specifies that ^ shall match the beginning of a line and $ shall match the end of a line, if the ECMAScript engine is selected. …