4 static void NotQuery_reclaim(Query *this) {
5 NotQuery *q = (NotQuery*) this;
6 Query_reclaim( q->query );
10 static int NotQuery_next(
11 Query *this,BindingTable *bt,enum NextState state)
13 NotQuery *q = (NotQuery*) this;
14 if ( state == initial ) {
15 if ( Query_next( q->query, bt, initial ) ) {
16 Query_next( q->query, bt, restore );
24 static void NotQuery_variables(Query *this,HashVector *hv) {
25 Query_variables( ((NotQuery*) this)->query, hv );
28 static struct QueryCallbacks NotQuery_def = {
29 .reclaim = NotQuery_reclaim,
30 .next = NotQuery_next,
31 .variables = NotQuery_variables
34 Query *Query_not(Query *q) {
35 NotQuery *nq = (NotQuery*) malloc( sizeof( NotQuery ) );