X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1255525b5a7e4467ad299ab5d7fb57937379a233..f7040b5fe68379e9bc7824aaffa834ae146c4084:/include/wx/regex.h diff --git a/include/wx/regex.h b/include/wx/regex.h index 8fb775da6d..a7287a5342 100644 --- a/include/wx/regex.h +++ b/include/wx/regex.h @@ -12,7 +12,7 @@ #ifndef _WX_REGEX_H_ #define _WX_REGEX_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "regex.h" #endif @@ -20,24 +20,23 @@ #if wxUSE_REGEX -class WXDLLEXPORT wxString; +class WXDLLIMPEXP_BASE wxString; // ---------------------------------------------------------------------------- // constants // ---------------------------------------------------------------------------- -// max number of subexpression matches, the default should be big enough for -// all uses but may be a bit wasteful -#ifndef WX_REGEX_MAXMATCHES - #define WX_REGEX_MAXMATCHES 1024 -#endif - // flags for regex compilation: these can be used with Compile() enum { - // use extended regex syntax (default) + // use extended regex syntax wxRE_EXTENDED = 0, + // use advanced RE syntax (built-in regex only) +#ifdef wxHAS_REGEX_ADVANCED + wxRE_ADVANCED = 1, +#endif + // use basic RE syntax wxRE_BASIC = 2, @@ -73,9 +72,9 @@ enum // wxRegEx: a regular expression // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxRegExImpl; +class WXDLLIMPEXP_BASE wxRegExImpl; -class WXDLLEXPORT wxRegEx +class WXDLLIMPEXP_BASE wxRegEx { public: // default ctor: use Compile() later @@ -88,15 +87,15 @@ public: (void)Compile(expr, flags); } - // return TRUE if this is a valid compiled regular expression + // return true if this is a valid compiled regular expression bool IsValid() const { return m_impl != NULL; } - // compile the string into regular expression, return TRUE if ok or FALSE + // compile the string into regular expression, return true if ok or false // if string has a syntax error bool Compile(const wxString& pattern, int flags = wxRE_DEFAULT); // matches the precompiled regular expression against a string, return - // TRUE if matches and FALSE otherwise + // true if matches and false otherwise // // flags may be combination of wxRE_NOTBOL and wxRE_NOTEOL // @@ -108,7 +107,7 @@ public: // // may only be called after successful call to Matches() // - // return FALSE if no match or on error + // return false if no match or on error bool GetMatch(size_t *start, size_t *len, size_t index = 0) const; // return the part of string corresponding to the match, empty string is @@ -117,6 +116,12 @@ public: // may only be called after successful call to Matches() wxString GetMatch(const wxString& text, size_t index = 0) const; + // return the size of the array of matches, i.e. the number of bracketed + // subexpressions plus one for the expression itself, or 0 on error. + // + // may only be called after successful call to Compile() + size_t GetMatchCount() const; + // replaces the current regular expression in the string pointed to by // pattern, with the text in replacement and return number of matches // replaced (maybe 0 if none found) or -1 on error @@ -148,6 +153,11 @@ private: // the real guts of this class wxRegExImpl *m_impl; + + // as long as the class wxRegExImpl is not ref-counted, + // instances of the handle wxRegEx must not be copied. + wxRegEx(const wxRegEx&); + wxRegEx &operator=(const wxRegEx&); }; #endif // wxUSE_REGEX