improve support for UDI.

This commit is contained in:
Vitor Santos Costa 2009-02-20 15:52:17 +00:00
parent 84ebc2b2f2
commit ffb621c53b
2 changed files with 26 additions and 0 deletions

View File

@ -3,6 +3,7 @@
#include "clause.h"
#include "udi.h"
#include "rtree_udi.h"
/* we can have this stactic because it is written once */
@ -158,3 +159,4 @@ Yap_udi_init(void)
RtreeCmd.destroy = RtreeUdiDestroy;
Yap_InitCPred("$udi_init", 2, p_new_udi, 0);
}

24
include/rtree_udi.h Normal file
View File

@ -0,0 +1,24 @@
#ifndef _RTREE_UDI_
#define _RTREE_UDI_
#ifndef _RTREE_
typedef void control_t;
#endif
/*Prolog term from :- udi(a(-,+,+)).
User defined index announce
*/
extern control_t *RtreeUdiInit (Term spec,
void *pred,
int arity);
/*this is called in each asserted term that was declared to udi_init*/
extern control_t *RtreeUdiInsert (Term t, /*asserted term*/
control_t *control,
void *clausule); /*to store in tree and return
in search*/
extern void *RtreeUdiSearch (control_t *control);
extern int RtreeUdiDestroy(control_t *control);
#endif /* _RTREE_UDI_ */