This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Regex refactoring


On Thu, Nov 7, 2013 at 11:49 AM, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
> The most common instantiations of _Compiler will probably use const
> char*, std::string::iterator and std::string::const_iterator. It would
> be good if they could all share code, since they all operate on the
> same underlying character type, but I don't know if that's possible.

We may read whole input characters into a basic_string<_CharT> then
use it to initialize _Compiler. Now it can be simplified to:

template<typename _TraitsT>
  class _Compiler
  {
    typedef typename _TraitsT::char_type _CharT;
    ...
    _Compiler(basic_string<_CharT>&& __input_string);
  };

It requires more memory, but I don't think storing a string which
describing a regex is unacceptable.

Does this make sense?

Thank you!


-- 
Regards,
Tim Shen


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]