[root] / trunk / core / base / src / TPRegexp.cxx Repository:
ViewVC logotype

Log of /trunk/core/base/src/TPRegexp.cxx

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 48661 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 21 11:27:36 2013 UTC (23 months ago) by rdm
File length: 32928 byte(s)
Diff to previous 46046
From Matevz:
In TPRegexp::Compile() do not call Optimize() if regexp compilation has failed.

Add a static flag 'Bool_t TPRegexp::fgThrowAtCompileError' that allows callers
to intercept a faulty regexp being passed to Compile(). When this flag is
in effect, a failed regexp compilation throws a std::runtime_error.

Add member function 'Bool_t TPRegexp::IsValid() const' that returns true if
the object holds a valid compiled representation of the regexp.

Revision 46046 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 11:00:04 2012 UTC (2 years, 4 months ago) by rdm
File length: 31665 byte(s)
Diff to previous 44507
Clarify object ownership in MatchS().

Revision 44507 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 4 12:30:41 2012 UTC (2 years, 7 months ago) by axel
File length: 31633 byte(s)
Diff to previous 41014
Remove
  using namespace std;
from Riostream.h, which has huge consequences for all of ROOT.
Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.

Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.

Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.

Revision 41014 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 27 07:15:38 2011 UTC (3 years, 3 months ago) by pcanal
File length: 31608 byte(s)
Diff to previous 37096
Remove Shadow type warning (gcc 4.6.1)

Revision 37096 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 30 12:21:36 2010 UTC (4 years, 1 month ago) by rdm
File length: 31572 byte(s)
Diff to previous 30974
add documentation describing the PCRE mods argument.

Revision 30974 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 4 23:42:44 2009 UTC (5 years, 2 months ago) by rdm
File length: 30014 byte(s)
Diff to previous 26723
From Axel:
Remove non-const builders of TSubString; their const overloads are sufficient.

Revision 26723 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 8 10:36:31 2008 UTC (6 years, 1 month ago) by rdm
File length: 30543 byte(s)
Diff to previous 26600
From Matevz:
TPRegexp::SubstituteInternal()
  Correctly return the number of substitutions made.

TPRegexp::ReplaceSubs()
  Do not attempt a dollar substitution if the match index is out of bounds
  (potential crash).

Revision 26600 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 2 18:56:10 2008 UTC (6 years, 1 month ago) by brun
File length: 30513 byte(s)
Diff to previous 26476
From Matevz:
Change signature of TPMERegexp member-function:
 TString Substitute(const TString& s, const TString& r, Bool_t doDollarSubst=kTRUE);
to
 Int_t   Substitute(TString& s, const TString& r, Bool_t doDollarSubst=kTRUE);
so that it conforms to the interface of the parent class TPRegexp.

Revision 26476 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 26 13:23:39 2008 UTC (6 years, 1 month ago) by rdm
File length: 30497 byte(s)
Diff to previous 25582
From Matevz:
fix issue #44583 and move to pcre-7.8 (was pcre-7.4).

Revision 25582 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 29 13:39:40 2008 UTC (6 years, 3 months ago) by rdm
File length: 30327 byte(s)
Diff to previous 23681
From Matevz:
1. New functions:
    Int_t GetGlobalPosition();
    void  AssignGlobalState(const TPMERegexp& re)
   making it easier to continue global matching from where previous
   regexp left-off.
   Improve documentation of ResetGlobalState().

2. New functions:
    void Reset(const TString& s, const TString& opts = "", Int_t nMatchMax = -1);
    void Reset(const TString& s, UInt_t opts, Int_t nMatchMax = -1);
  This allows regexp to be reinitialized completely.
  Useful when TPMERegexp objects are used as data-members.

3. Add missing ClassImp() - the TPRegexp documentation was used.
  Add reference to the tutorial script.

Revision 23681 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 7 14:36:58 2008 UTC (6 years, 8 months ago) by rdm
File length: 28698 byte(s)
Diff to previous 23428
From Matevz:
TPRegexp
========

1. Modularized Match() and Substitute() functions so that the low-level work
   is done by MatchInternal() and SubstituteInternal().

2. Added function TString GetModifiers() that translates from bit-flag
   options back to perl-style option characters.

3. For all functions that do actual matching replaced the default value
   of 'Int_t nMatchMax' argument from 30 to 10. PCRE internals require
   the index buffer to be 3-times the number of allowed matches. This
   multiplication is now performed in individual functions and nMatchMax
   is really the number of allowed matches. Two function calls in 
   TString passing this number explicitly have been updated.

TPMERegexp
==========

New sub-class of TPRegexp with API closer to PERL.
Supports main Perl operations using regular expressions (Match,
Substitute and Split). To retrieve the results one can simply use
operator[] returning a TString.

tutorials/regexp_pme.C
======================

Tutorial showing usage of the TPMERegexp class.

Revision 23428 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 23 09:50:35 2008 UTC (6 years, 9 months ago) by brun
File length: 16307 byte(s)
Diff to previous 22961
Fix shadowed variables.

Revision 22961 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 3 13:32:57 2008 UTC (6 years, 9 months ago) by rdm
File length: 16303 byte(s)
Diff to previous 22539
move the directories:
  base clib cont meta metautils newdelete pcre rint thread unix utils
  winnt zip
under the new core meta directory.

Revision 22539 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Mar 8 14:36:37 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/base/src/TPRegexp.cxx
File length: 16303 byte(s)
Diff to previous 20877
From Alja, Bertrand & Matevz: merged branches/dev/fireworks 21757:22514.

This includes:

- development for event-displays of ALICE and CMS since 5.18 in eve/,
  gl/ and gui/;

- many new tutorials and demos for eve/;

- fix in TQObject to support class-signals from all base-classes.

Revision 20877 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:17:07 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/base/src/TPRegexp.cxx
File length: 14145 byte(s)
Diff to previous 19826
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/base/src/TPRegexp.cxx
File length: 14145 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/base/src/TPRegexp.cxx
File length: 14195 byte(s)
Diff to previous 13456
remove :$ from tag line

Revision 13456 - (view) (download) (as text) (annotate) - [select for diffs]
Added Fri Dec 2 16:17:48 2005 UTC (9 years, 1 month ago) by rdm
Original Path: trunk/base/src/TPRegexp.cxx
File length: 14205 byte(s)
Several new Core features:
- new TPRegexp class by Eddy Offermann using the PCRE library for powerful
  regexp matching. TPRegexp is fully integrated in TString and can be
  used like TRegExp. For more see the TPRegexp clas description.
- Extended TString::Atoi(), Atof(), IsDigit() and new IsFloat() by
  John Frankland. For more see the method description.

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9