Subject: Re: [Boost-bugs] [Boost C++ Libraries] #12959: Regex class negation
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2017-04-15 17:15:54
#12959: Regex class negation
-------------------------------+-------------------------
Reporter: robic@⦠| Owner: johnmaddock
Type: Bugs | Status: new
Milestone: To Be Determined | Component: regex
Version: Boost 1.61.0 | Severity: Showstopper
Resolution: | Keywords:
-------------------------------+-------------------------
Comment (by robic@â¦):
Sorry, were some typo's in my last comment.
Result, as is actually used now:
<boost\regex\v4\basic_regex_creator.hpp>
{{{
if ( m_negate )
{
// if it's not already there, add it ..
if ( false == (std::find(m_NegNeg_Class.begin(),
m_NegNeg_Class.end(), m) != m_NegNeg_Class.end()) )
m_NegNeg_Class.insert( m_NegNeg_Class.end(), (unsigned __int64)m
);
}
else
m_negated_classes |= m;
m_empty = false;
}}}
<boost\regex\v4\perl_matcher.hpp>
{{{
// try and match a single character from the neg-neg classes
if ( set_->cNegNegClasses ) //&& set_->isnot )
{
for(i = 0; i < set_->cNegNegClasses; i++)
{
uint64_t mask = *((uint64_t*)p);
if(traits_inst.isctype(col, (mask_type)mask) == false)
return set_->isnot ? next : ++next;
p += (sizeof(uint64_t) / sizeof(charT));
}
}
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/12959#comment:2> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-04-15 17:18:44 UTC