qregexp.h
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 **
4 ** Definition of QRegExp class
5 **
6 ** Created : 950126
7 **
8 ** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
9 **
10 ** This file is part of the tools module of the Qt GUI Toolkit.
11 **
12 ** This file may be distributed under the terms of the Q Public License
13 ** as defined by Trolltech AS of Norway and appearing in the file
14 ** LICENSE.QPL included in the packaging of this file.
15 **
16 ** This file may be distributed and/or modified under the terms of the
17 ** GNU General Public License version 2 as published by the Free Software
18 ** Foundation and appearing in the file LICENSE.GPL included in the
19 ** packaging of this file.
20 **
21 ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
22 ** licenses may use this file in accordance with the Qt Commercial License
23 ** Agreement provided with the Software.
24 **
25 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27 **
28 ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29 ** information about Qt Commercial License Agreements.
30 ** See http://www.trolltech.com/qpl/ for QPL licensing information.
31 ** See http://www.trolltech.com/gpl/ for GPL licensing information.
32 **
33 ** Contact info@trolltech.com if any conditions of this licensing are
34 ** not clear to you.
35 **
36 **********************************************************************/
37 
38 #ifndef QREGEXP_H
39 #define QREGEXP_H
40 
41 #ifndef QT_H
42 #include "qcstring.h"
43 #endif // QT_H
44 
45 
47 {
48 public:
49  QRegExp();
50  QRegExp( const QCString &, bool caseSensitive=TRUE, bool wildcard=FALSE );
51  QRegExp( const QRegExp & );
52  ~QRegExp();
53  QRegExp &operator=( const QRegExp & );
54  QRegExp &operator=( const QCString &pattern );
55 
56  bool operator==( const QRegExp & ) const;
57  bool operator!=( const QRegExp &r ) const
58  { return !(this->operator==(r)); }
59 
60  bool isEmpty() const { return rxdata == 0; }
61  bool isValid() const { return error == 0; }
62 
63  bool caseSensitive() const { return cs; }
64  void setCaseSensitive( bool );
65 
66  bool wildcard() const { return wc; }
67  void setWildcard( bool );
68 
69  QCString pattern() const { return rxstring; }
70  // ### in Qt 3.0, provide a real implementation
71  void setPattern( const QCString& pattern )
72  { operator=( pattern ); }
73 
74  int match( const QCString &str, int index=0, int *len=0,
75  bool indexIsStart = TRUE ) const;
76  int find( const QCString& str, int index )
77  { return match( str, index ); }
78 
79 protected:
80  void compile();
81  const char *matchstr( uint *, const char *, uint, const char * ) const;
82 
83 private:
84  QCString rxstring; // regular expression pattern
85  uint *rxdata; // compiled regexp pattern
86  int error; // error status
87  bool cs; // case sensitive
88  bool wc; // wildcard
89 };
90 
91 
92 #endif // QREGEXP_H
The QRegExp class provides pattern matching using regular expressions or wildcards.
Definition: qregexp.h:46
bool wc
Definition: qregexp.h:88
int find(const QCString &str, int index)
Definition: qregexp.h:76
const bool FALSE
Definition: qglobal.h:370
error
Definition: include.cc:26
void setPattern(const QCString &pattern)
Definition: qregexp.h:71
QCString rxstring
Definition: qregexp.h:84
bool isEmpty() const
Definition: qregexp.h:60
uint * rxdata
Definition: qregexp.h:85
int error
Definition: qregexp.h:86
bool operator!=(const QRegExp &r) const
Definition: qregexp.h:57
std::string pattern
Definition: regex_t.cc:35
bool wildcard() const
Definition: qregexp.h:66
bool caseSensitive() const
Definition: qregexp.h:63
const char * cs
bool cs
Definition: qregexp.h:87
bool isValid() const
Definition: qregexp.h:61
unsigned uint
Definition: qglobal.h:351
QCString pattern() const
Definition: qregexp.h:69
#define Q_EXPORT
Definition: qglobal.h:468
const bool TRUE
Definition: qglobal.h:371
static QCString str
bool operator==(ModuleKeyAndType const &a, ModuleKeyAndType const &b) noexcept