libzypp
13.10.6
|
String matching (STRING|SUBSTRING|GLOB|REGEX). More...
#include <StrMatcher.h>
Classes | |
class | Impl |
StrMatcher implementation. More... | |
Public Types | |
typedef MatchException | Exception |
Public Member Functions | |
StrMatcher () | |
Default ctor matches nothing. More... | |
StrMatcher (const std::string &search_r) | |
Ctor from string matches in Match::STRING mode per default. More... | |
StrMatcher (const std::string &search_r, const Match &flags_r) | |
Ctor taking string and Match flags. More... | |
StrMatcher (const std::string &search_r, const Match::Mode &flags_r) | |
Ctor taking string and Match::Mode. More... | |
StrMatcher (const std::string &search_r, int flags_r) | |
Low level interface wraps flags into Match. More... | |
operator bool () const | |
Evaluate in a boolean context ( ! searchstring().empty() ) . More... | |
template<class _Tp > | |
bool | operator() (const _Tp &string_r) const |
Return whether string matches. More... | |
bool | operator() (const char *string_r) const |
const std::string & | searchstring () const |
The current searchstring. More... | |
void | setSearchstring (const std::string &string_r) |
Set a new searchstring. More... | |
void | setSearchstring (const std::string &string_r, const Match &flags_r) |
Set a new searchstring and flags. More... | |
const Match & | flags () const |
The current search flags. More... | |
void | setFlags (const Match &flags_r) |
Set new search flags. More... | |
void | compile () const |
Compile the pattern e.g. More... | |
bool | isCompiled () const |
Whether the StrMatcher is already compiled. More... | |
bool | doMatch (const char *string_r) const |
Return whether string matches. More... | |
Private Attributes | |
RWCOW_pointer< Impl > | _pimpl |
Pointer to implementation. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &str, const StrMatcher &obj) |
Related Functions | |
(Note that these are not member functions.) | |
std::ostream & | operator<< (std::ostream &str, const StrMatcher &obj) |
bool | operator== (const StrMatcher &lhs, const StrMatcher &rhs) |
bool | operator!= (const StrMatcher &lhs, const StrMatcher &rhs) |
bool | operator< (const StrMatcher &lhs, const StrMatcher &rhs) |
String matching (STRING|SUBSTRING|GLOB|REGEX).
Used by e.g. PoolQuery and LookupAttr for queries, but it can also be used for matching arbitrary strings.
Those flags are always set: REG_EXTENDED | REG_NOSUB | REG_NEWLINE
Definition at line 297 of file StrMatcher.h.
Definition at line 302 of file StrMatcher.h.
zypp::StrMatcher::StrMatcher | ( | ) |
Default ctor matches nothing.
Definition at line 259 of file StrMatcher.cc.
zypp::StrMatcher::StrMatcher | ( | const std::string & | search_r | ) |
Ctor from string matches in Match::STRING mode per default.
Definition at line 263 of file StrMatcher.cc.
zypp::StrMatcher::StrMatcher | ( | const std::string & | search_r, |
const Match & | flags_r | ||
) |
Ctor taking string and Match flags.
Definition at line 267 of file StrMatcher.cc.
zypp::StrMatcher::StrMatcher | ( | const std::string & | search_r, |
const Match::Mode & | flags_r | ||
) |
Ctor taking string and Match::Mode.
Needed because we want them to be treated as Match, and not as int as the compiler woud do.
Definition at line 271 of file StrMatcher.cc.
zypp::StrMatcher::StrMatcher | ( | const std::string & | search_r, |
int | flags_r | ||
) |
Low level interface wraps flags into Match.
Definition at line 275 of file StrMatcher.cc.
|
inlineexplicit |
Evaluate in a boolean context ( ! searchstring().empty() )
.
Definition at line 328 of file StrMatcher.h.
|
inline |
Return whether string matches.
You can use it with any class that impements c_str
. (std::string
, Pathname, IdString, ...). NULL
never matches.
Definition at line 338 of file StrMatcher.h.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 341 of file StrMatcher.h.
const std::string & zypp::StrMatcher::searchstring | ( | ) | const |
The current searchstring.
Definition at line 288 of file StrMatcher.cc.
void zypp::StrMatcher::setSearchstring | ( | const std::string & | string_r | ) |
Set a new searchstring.
Definition at line 291 of file StrMatcher.cc.
void zypp::StrMatcher::setSearchstring | ( | const std::string & | string_r, |
const Match & | flags_r | ||
) |
Set a new searchstring and flags.
Definition at line 294 of file StrMatcher.cc.
const Match & zypp::StrMatcher::flags | ( | ) | const |
The current search flags.
Definition at line 300 of file StrMatcher.cc.
void zypp::StrMatcher::setFlags | ( | const Match & | flags_r | ) |
Set new search flags.
Definition at line 303 of file StrMatcher.cc.
void zypp::StrMatcher::compile | ( | ) | const |
Compile the pattern e.g.
in case of REGEX
.
MatchUnknownModeException | If the Match flag more than one mode bit set. |
MatchInvalidRegexException | If Match::REGEX is set and searchstring is not a valid regular expression. |
Definition at line 279 of file StrMatcher.cc.
bool zypp::StrMatcher::isCompiled | ( | ) | const |
Whether the StrMatcher is already compiled.
Definition at line 282 of file StrMatcher.cc.
bool zypp::StrMatcher::doMatch | ( | const char * | string_r | ) | const |
Return whether string matches.
Compiles the StrMatcher if this was not yet done.
MatchException | Any of the exceptions thrown by StrMatcher::compile. |
Definition at line 285 of file StrMatcher.cc.
|
friend |
Definition at line 306 of file StrMatcher.cc.
|
related |
Stream output
Definition at line 306 of file StrMatcher.cc.
|
related |
Definition at line 309 of file StrMatcher.cc.
|
related |
Definition at line 390 of file StrMatcher.h.
|
related |
Arbitrary order for std::container.
Definition at line 315 of file StrMatcher.cc.
|
private |
Pointer to implementation.
Definition at line 380 of file StrMatcher.h.