Section: 31.9.2 [re.submatch.op] Status: CD1 Submitter: Nozomu Katoo Opened: 2007-05-27 Last modified: 2016-02-10
Priority: Not Prioritized
View all other issues in [re.submatch.op].
View all issues with CD1 status.
In 31.9.2 [re.submatch.op] of N2284, operator functions numbered 31-42 seem impossible to compare. E.g.:
template <class BiIter> bool operator==(typename iterator_traits<BiIter>::value_type const& lhs, const sub_match<BiIter>& rhs);
-31- Returns: lhs == rhs.str().
When char* is used as BiIter, iterator_traits<BiIter>::value_type would be char, so that lhs == rhs.str() ends up comparing a char value and an object of std::basic_string<char>. However, the behaviour of comparison between these two types is not defined in 24.3.3 [string.nonmembers] of N2284. This applies when wchar_t* is used as BiIter.
Adopt the proposed resolution in N2409.
[ Kona (2007): The LWG adopted the proposed resolution of N2409 for this issue. The LWG voted to accelerate this issue to Ready status to be voted into the WP at Kona. ]