Message ID | CAPrifDkvz3n=BRXcJAmrOmdp=NSgqo4oUd2B9RSBHKw+DjB7_w@mail.gmail.com |
---|---|
State | New |
Headers | show |
On 12/02/2013 10:15 PM, Tim Shen wrote:
> ...for optimization purpose. Should be done in one month.
Great. Consider that we are now in Stage 3, until mid of February.
Considering that <regex> is a new feature, I think we have some leeway
in terms of timing, but definitely we can't commit invasive changes not
fixing regressions while in Stage 4.
Thanks!
Paolo.
.. I meant mid of *January* of course. Paolo.
On Tue, Dec 3, 2013 at 4:47 AM, Paolo Carlini <paolo.carlini@oracle.com> wrote: > Great. Consider that we are now in Stage 3, until mid of February. > Considering that <regex> is a new feature, I think we have some leeway in > terms of timing, but definitely we can't commit invasive changes not fixing > regressions while in Stage 4. ...committed.
commit cc7d58128e68455498d0257c4796cb70a9e24990 Author: tim <timshen91@gmail.com> Date: Mon Dec 2 15:49:15 2013 -0500 2013-12-02 Tim Shen <timshen91@gmail.com> * regex_compiler.h: Add todo comment. * regex_executor.tcc: Likewise. diff --git a/libstdc++-v3/include/bits/regex_compiler.h b/libstdc++-v3/include/bits/regex_compiler.h index b9f8127..5759d48 100644 --- a/libstdc++-v3/include/bits/regex_compiler.h +++ b/libstdc++-v3/include/bits/regex_compiler.h @@ -237,6 +237,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; /// Matches a character range (bracket expression) + // TODO: Convert used _M_flags fields to template parameters, including + // collate and icase. Avoid using std::set, could use flat_set + // (sorted vector and binary search) instead; use an fixed sized (256) + // vector<bool> for char specialization if necessary. template<typename _TraitsT> struct _BracketMatcher { diff --git a/libstdc++-v3/include/bits/regex_executor.tcc b/libstdc++-v3/include/bits/regex_executor.tcc index 22fd67c..150adb4 100644 --- a/libstdc++-v3/include/bits/regex_executor.tcc +++ b/libstdc++-v3/include/bits/regex_executor.tcc @@ -162,6 +162,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return false; } + // TODO: Use a function vector to dispatch, instead of using switch-case. template<typename _BiIter, typename _Alloc, typename _TraitsT, bool __dfs_mode> template<bool __match_mode>