#include <vtql_parse.h>
Public Methods | |
virtual | ~Region_basic () |
Region_basic (const Region_basic &) | |
Region_basic (const std::vector< size_t > &bases) | |
Construct and define the syntax. More... | |
virtual void | NewString (std::string match, const std::string &search="/|\\") |
Parse a new match string. More... | |
bool | MatchTxt (const PageData &) const |
bool | IsIn (int, int) const |
bool | HasTextSearch () const |
Protected Types | |
typedef std::list< std::pair< int, int > > | SingleRange |
typedef std::vector< SingleRange > | RangeVec |
Protected Attributes | |
const std::vector< size_t > | vBases |
RangeVec | rvAll |
This handles the monsters called match (read VTQL syntax documentation!), such as "-98.unknown,europe_west::E2.100,333..2-/linux.+OS" . But is is quite general and may be used for simular queries. The interface is wired, since it is quite critical to the speed of the server, but if you really need VTQL compatible match parsing this may be usfull, anyway.
|
\warn No implementation of the copy constructor. |
|
Construct and define the syntax. The fields separate with "." may have a different base, such as decimal (10) or hexadecimal (16). There is a special base 0 for frequency fields. For any entry in the vector you have a field in your query. The VTQL standard is {10,0,16,16,10} (station_id,freuquency,page_nr,subpage_nr,line_nr).
|
|
Parse a new match string. Cleans all the data of the last query and parses a new match.
|