WvStreams
|
WvGlob – Unified support for filename globbing. ! More...
#include <wvglob.h>
Public Types | |
enum | CFlags { BASIC = 0, EXTENDED = REG_EXTENDED, ICASE = REG_ICASE, NOSUB = REG_NOSUB, NEWLINE = REG_NEWLINE } |
Flags that affect interpretation of the regex; used in Regex() and set() | |
enum | EFlags { NOTBOL = REG_NOTBOL, NOTEOL = REG_NOTEOL } |
Flags that affect matching of regex. More... |
Public Member Functions | |
WvGlob () | |
Construct an empty glob object. | |
WvGlob (WvStringParm glob) | |
Construct an glob object for the given pattern. | |
bool | set (WvStringParm glob) |
Replace the current regex to match with a new one. | |
bool | match (WvStringParm string, WVREGEX_REGS_DECL) const |
Match a given string against the compiled regular expression. | |
bool | match (WvStringParm string, int eflags, WVREGEX_REGS_DECL) const |
Match a given string against the compiled regular expression. | |
void | seterr (WvStringParm specialerr) |
void | seterr (WVSTRING_FORMAT_DECL) |
void | seterr (const WvErrorBase &err) |
bool | set (WvStringParm regex, int cflags=default_cflags) |
Replace the current regex to match with a new one. | |
bool | continuable_match (WvStringParm string, int &match_start, int &match_end, WVREGEX_REGS_DECL) const |
Match a given string against the compiled regular expression, capturing the start and end positions of the matching string. | |
bool | continuable_match (WvStringParm string, int eflags, int &match_start, int &match_end, WVREGEX_REGS_DECL) const |
Match a given string against the compiled regular expression, capturing the start and end positions of the matching string. | |
virtual bool | isok () const |
By default, returns true if geterr() == 0. | |
virtual int | geterr () const |
If isok() is false, return the system error number corresponding to the error, -1 for a special error string (which you can obtain with errstr()) or 0 on end of file. | |
virtual WvString | errstr () const |
void | seterr_both (int _errnum, WvStringParm specialerr) |
void | seterr_both (int _errnum, WVSTRING_FORMAT_DECL) |
void | noerr () |
Reset our error state - there's no error condition anymore. |
Static Public Member Functions | |
static WvString | glob_to_regex (WvStringParm glob, WvString *errstr) |
Convert a glob string to its regex equvilent. | |
static WvString | strerror (int errnum) |
A replacement for the operating system ::strerror() function that can map more kinds of error strings (especially in win32). |
Static Public Attributes | |
static const int | default_cflags = WvRegex::EXTENDED |
static const int | default_eflags = 0 |
static WvString | __wvre_null_reg |
Internal use only. |
Protected Attributes | |
int | errnum |
WvString | errstring |
|
inherited |
Flags that affect matching of regex.
Used in match() and continuable_match()
WvGlob::WvGlob | ( | ) |
bool WvGlob::set | ( | WvStringParm | glob | ) |
Replace the current regex to match with a new one.
regex | The new regular expression to match |
cflags | CFlags used to compile the regular expression; the defaults are case sensitive, extended RE. |
Definition at line 18 of file wvglob.cc.
References WvErrorBase::isok(), and WvErrorBase::seterr().
|
static |
Convert a glob string to its regex equvilent.
All wildcards (*, ?, {x,y,z}) are wrapped in parens for capturing into registers
Definition at line 287 of file wvglob.cc.
References WvString::edit(), and WvFastString::isnull().
|
inlineinherited |
Match a given string against the compiled regular expression.
\param string The string to match \param (remaining) WvString registers to capture substring matches as specified in the RE @code
extern WvString line; WvString match; if (re.match(line, match)) wvout->print("Matching substring is '%s'\n", match);
|
inlineinherited |
|
inherited |
Replace the current regex to match with a new one.
regex | The new regular expression to match |
cflags | CFlags used to compile the regular expression; the defaults are case sensitive, extended RE. |
Definition at line 27 of file wvregex.cc.
|
inlineinherited |
Match a given string against the compiled regular expression, capturing the start and end positions of the matching string.
\param string The string to match \param match_start If the match succeeds, the starting index of the match in string \param match_end If the match succeeds, the index of the character in string following the last character of the match \param (remaining) WvString registers to capture substring matches as specified in the RE @code
extern WvString line; int start = 0; WvString match; int match_start, match_end; while (re.continuable_match(&line[start], match_start, match_end, match)) { wvout->print("Matching substring is '%s'@[%s,%s)\n", match, match_start, match_end); start += match_end; }
Definition at line 230 of file wvregex.h.
Referenced by strcoll_split().
|
inlineinherited |
Match a given string against the compiled regular expression, capturing the start and end positions of the matching string.
string | The string to match |
eflags | EFlags that affect matching |
match_start | If the match succeeds, the starting index of the match in string |
match_end | If the match succeeds, the index of the character in string following the last character of the match |
(remaining) | WvString registers to capture substring matches as specified in the RE |
|
inlinevirtualinherited |
By default, returns true if geterr() == 0.
Might be overridden so that isok() == false even though no error code has been specified.
Reimplemented in WvEncoderStream, WvReadLineStream, WvTCPConn, WvNullListener, WvFdStream, WvLog, WvStream, WvStreamClone, WvSSLStream, IWvStream, WvDBusServer, WvDSAKey, WvTimeStream, WvBufStream, WvListener, WvTimeoutStream, WvIStreamList, and _WvConStream.
Definition at line 39 of file wverror.h.
Referenced by set().
|
inlinevirtualinherited |
If isok() is false, return the system error number corresponding to the error, -1 for a special error string (which you can obtain with errstr()) or 0 on end of file.
If isok() is true, returns an undefined number.
Reimplemented in WvStreamClone, and WvDBusServer.
Definition at line 48 of file wverror.h.
Referenced by UniIniGen::commit(), UniFileSystemGen::get(), WvStreamClone::geterr(), WvEncoderStream::isok(), UniConfDaemon::listen(), UniIniGen::refresh(), WvStream::seterr(), and WvMagicCircle::WvMagicCircle().
|
inlineinherited |