Update concepts to check for accidental char_traits usage.

Fixes: https://github.com/boostorg/regex/issues/202.
This commit is contained in:
jzmaddock
2024-03-25 13:26:54 +00:00
parent b1301061e5
commit 6efa868bfa
2 changed files with 23 additions and 8 deletions

View File

@ -533,7 +533,21 @@ public:
return status() - that.status();
if(flags() != that.flags())
return flags() - that.flags();
return str().compare(that.str());
const char_type* i = m_pimpl->begin();
const char_type* j = that.m_pimpl->begin();
while ((i != m_pimpl->end()) && (j != that.m_pimpl->end()))
{
if (*i != *j)
return *i < *j ? -1 : 1;
++i;
++j;
}
if (i != m_pimpl->end())
return *i > static_cast<char_type>(0) ? 1 : -1;
if (j != that.m_pimpl->end())
return *j > static_cast<char_type>(0) ? -1 : 1;
return 0;
}
bool operator==(const basic_regex& e)const
{