26 #ifndef _GLIBCXX_STRING
30 #define qe_assert(cond) arb_assert(cond)
62 #define MAX_SHOWN_DATA_SIZE 500
119 virtual const char *
get_name()
const = 0;
120 virtual bool iterate()
const = 0;
121 virtual void reset()
const = 0;
150 const char *
get_name() const OVERRIDE = 0;
169 XQuery() : regexp(
NULp) {}
174 mutable char *lastACIresult;
180 void detect_query_type();
183 bool first_matches(
const QueryTarget& target,
char*& matched_data)
const;
184 bool shallMatch()
const {
return !Not; }
186 const char *get_last_ACI_result()
const {
return type ==
AQT_ACI ? lastACIresult :
NULp; }
212 error = strdup(error_);
224 case AND: both +=
"&&";
break;
225 case OR: both +=
"||";
break;
231 if (next) mine =
'('+mine+
')';
234 if (next) next->dump(&mine);
235 else fputs(mine.c_str(), stdout);
241 #error query_expr.h included twice
242 #endif // QUERY_EXPR_H
virtual void reset() const =0
return string(buffer, length)
char * get_target_data(const QueryTarget &target, GB_ERROR &error) const OVERRIDE=0
const GBL_env & get_env() const
GBDATA * get_gb_main() const
virtual const char * get_name() const =0
virtual bool iterate() const =0
SmartPtr< QueryKey > QueryKeyPtr
static void error(const char *msg)
virtual char * get_target_data(const QueryTarget &target, GB_ERROR &error) const =0
void append(QueryExpr *&tail)
~ExplicitQueryKey() OVERRIDE
query_key_type get_type() const
fputs(TRACE_PREFIX, stderr)
const char * get_name() const OVERRIDE=0
bool matches(const QueryTarget &target, std::string &hit_reason) const
const QueryKey & get_key() const
query_key_type get_key_type() const
void GBS_free_regexpr(GBS_regex *toFree)
GB_ERROR getError(int count=0) const
QueryTarget(GBDATA *gb_main, const char *treename)
void setError(GB_ERROR error_) const
QueryKey(query_key_type type_)
QueryExpr(query_operator aqo, QueryKeyPtr key, bool not_equal, const char *expression)
GBDATA * get_gb_main() const
virtual GBDATA * get_ACI_item() const =0