Re: [patch 1/N] std::regex refactoring - _BracketMatcher

2014-06-02 Thread Jonathan Wakely
I'm committing the attached patch, combining the various patches we discussed in April. Tested x86_64-linux, committed to trunk. commit f8e0936df9cdc31460bb79ac82f43486967983b1 Author: Jonathan Wakely Date: Tue Apr 8 16:24:56 2014 +0100 * include/bits/regex_compiler.h (__detail::_Bracke

Re: [patch 1/N] std::regex refactoring - _BracketMatcher

2014-04-28 Thread Tim Shen
On Mon, Apr 28, 2014 at 11:05 AM, Jonathan Wakely wrote: > There is a well-defined mapping from every unsigned char in the range > [0,255] to char and back, so conversions between char and unsigned > char are fine. If we used a larger type then we would get the wrong result > when char is signed,

Re: [patch 1/N] std::regex refactoring - _BracketMatcher

2014-04-28 Thread Jonathan Wakely
On 28/04/14 10:15 -0400, Tim Shen wrote: On Mon, Apr 28, 2014 at 8:40 AM, Jonathan Wakely wrote: I've been looking through the regex code and have a few ideas for simplifications or optimisations that I'd like to share. Thanks :) This first patch is for _BracketMatcher. We only use std::bit

Re: [patch 1/N] std::regex refactoring - _BracketMatcher

2014-04-28 Thread Tim Shen
On Mon, Apr 28, 2014 at 8:40 AM, Jonathan Wakely wrote: > I've been looking through the regex code and have a few ideas for > simplifications or optimisations that I'd like to share. Thanks :) > This first patch is for _BracketMatcher. We only use std::bitset when > is_same<_CharT, char> so 8 *

[patch 1/N] std::regex refactoring - _BracketMatcher

2014-04-28 Thread Jonathan Wakely
Hi, I've been looking through the regex code and have a few ideas for simplifications or optimisations that I'd like to share. This first patch is for _BracketMatcher. We only use std::bitset when is_same<_CharT, char> so 8 * sizeof(_CharT) should be __CHAR_BIT__ instead. We also only user _Unsi