#ifndef QueryCallbacks_H
#define QueryCallbacks_H
-typedef struct HashVector HashVector;
-typedef struct Query Query;
-typedef struct BindingTable BindingTable;;
+#include <BindingTable.h>
+
+typedef struct Query Query; // forward
enum NextState {
/**
* thereafter reclaim their local state memory.
*/
void (*reclaim)(Query *this);
+
/**
* \brief Callback function to update the Binding table with a
* succession of alternative bindings.
* it cannot setup any (more) Binding.
*/
int (*next)(Query *this,BindingTable *bt,enum NextState state);
+
/**
* \brief This callback function adds its binding names to the
* hashvector.