Re: [Boost-bugs] [Boost C++ Libraries] #12959: Regex class negation

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