X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2Fresults.h;fp=src%2Fresults.h;h=c504894c08f2cd96da2c3d29fd023bc31b4afce6;hb=4b52da1a20a4fe031930bb96d2ca46bec06dc529;hp=0000000000000000000000000000000000000000;hpb=a223af3254fb51c279cfbccdc18c59484fdca74e;p=SXSI%2Fxpathcomp.git diff --git a/src/results.h b/src/results.h new file mode 100644 index 0000000..c504894 --- /dev/null +++ b/src/results.h @@ -0,0 +1,29 @@ + +typedef struct + { int n,lgn; + int *tree; + } results; + + // creates empty results data structure for n nodes numbered 0..n-1 +results createResults (int n); + + // frees R +void freeResults (results R); + + // returns 0/1 telling whether result p is not/is present in R +int readResult (results R, int p); + +unsigned int countResult (results R); + + // inserts result p into R +void setResult (results R, int p); + + // clears all results p1..p2 in R +void clearRange (results R, int p1, int p2); + + // returns pos of next(p) in R, or -1 if none +int nextResult (results R, int p); + + // for debugging, prints the data structure +void printTree (results R); +