#define YAP_CPP_INTERFACE 1 //! @{ /** * * @defgroup yap-cplus-interface An object oriented interface for YAP. * * @ingroup ChYInterface * @tableofcontents * * * C++ interface to YAP. Designed to be object oriented and to fit naturally * with the swig interface language generator. It uses ideas from the old YAP * interface and from the SWI foreign language interface. * */ #include // Bad export from Python #ifdef HAVE_STAT #undef HAVE_STAT #endif #include #if USE_GMP #include #endif extern "C" { #include #include "Yap.h" #include "Yatom.h" #include "YapHeap.h" #include "clause.h" #include "yapio.h" #include "Foreign.h" #include "attvar.h" #include "YapText.h" #if HAVE_STDARG_H #include #endif #if HAVE_STDINT_H #include #endif #if HAVE_STRING_H #include #endif #if _MSC_VER || defined(__MINGW32__) #include #endif // taken from yap_structs.h #include "iopreds.h" extern void YAP_UserCPredicate(const char *, YAP_UserCPred, YAP_Arity arity); /* void UserCPredicateWithArgs(const char *name, int *fn(), unsigned int arity) */ extern void YAP_UserCPredicateWithArgs(const char *, YAP_UserCPred, YAP_Arity, YAP_Term); /* void UserBackCPredicate(const char *name, int *init(), int *cont(), int arity, int extra) */ extern void YAP_UserBackCPredicate(const char *, YAP_UserCPred, YAP_UserCPred, YAP_Arity, unsigned int); extern Term Yap_StringToTerm(const char *s, size_t len, encoding_t enc, int prio, Term *bindings_p); } //#include class YAPEngine; class YAPAtom; class YAPFunctor; class YAPApplTerm; class YAPPairTerm; class YAPQuery; class YAPModule; class YAPError; class YAPPredicate; #include "yapa.hh" #include "yapie.hh" #include "yapt.hh" #include "yapdb.hh" #include "yapq.hh" /** * @} * */