mirror of
https://github.com/boostorg/regex.git
synced 2025-07-16 05:42:15 +02:00
Fixed primary equivalence classes, so that delimiter based sort keys with a delim in position 0 still work.
[SVN r26738]
This commit is contained in:
@ -509,8 +509,10 @@ typename cpp_regex_traits_implementation<charT>::string_type
|
|||||||
case sort_delim:
|
case sort_delim:
|
||||||
// get a regular sort key, and then truncate everything after the delim:
|
// get a regular sort key, and then truncate everything after the delim:
|
||||||
result.assign(this->m_pcollate->transform(p1, p2));
|
result.assign(this->m_pcollate->transform(p1, p2));
|
||||||
|
if(result.size() && (result[0] == m_collate_delim))
|
||||||
|
break;
|
||||||
std::size_t i;
|
std::size_t i;
|
||||||
for(i = 0; i < result.size(); ++i)
|
for(i = 1; i < result.size(); ++i)
|
||||||
{
|
{
|
||||||
if(result[i] == m_collate_delim)
|
if(result[i] == m_collate_delim)
|
||||||
break;
|
break;
|
||||||
|
@ -91,6 +91,8 @@ c_regex_traits<char>::string_type BOOST_REGEX_CALL c_regex_traits<char>::transfo
|
|||||||
case ::boost::re_detail::sort_delim:
|
case ::boost::re_detail::sort_delim:
|
||||||
// get a regular sort key, and then truncate everything after the delim:
|
// get a regular sort key, and then truncate everything after the delim:
|
||||||
result = transform(p1, p2);
|
result = transform(p1, p2);
|
||||||
|
if(result.size() && (result[0] == s_delim))
|
||||||
|
break;
|
||||||
std::size_t i;
|
std::size_t i;
|
||||||
for(i = 0; i < result.size(); ++i)
|
for(i = 0; i < result.size(); ++i)
|
||||||
{
|
{
|
||||||
|
@ -83,6 +83,8 @@ c_regex_traits<wchar_t>::string_type BOOST_REGEX_CALL c_regex_traits<wchar_t>::t
|
|||||||
case ::boost::re_detail::sort_delim:
|
case ::boost::re_detail::sort_delim:
|
||||||
// get a regular sort key, and then truncate everything after the delim:
|
// get a regular sort key, and then truncate everything after the delim:
|
||||||
result = c_regex_traits<wchar_t>::transform(&*result.begin(), &*result.begin() + result.size());
|
result = c_regex_traits<wchar_t>::transform(&*result.begin(), &*result.begin() + result.size());
|
||||||
|
if(result.size() && (result[0] == s_delim))
|
||||||
|
break;
|
||||||
std::size_t i;
|
std::size_t i;
|
||||||
for(i = 0; i < result.size(); ++i)
|
for(i = 0; i < result.size(); ++i)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user