15 d=Yap_StoreTermInDB( t, 0);
19 return Yap_FetchTermFromDB( d );
23 Yap_ReleaseTermFromDB(d);
28 Yap_ReleaseTermFromDB(d);
34class X_API YAPHeap:
public std::priority_queue<YAPDBTerm>,
public YAPDBTerm {
41 bool proxy(
const std::string f, YAPHeap me, std::list<Term> inp, std::list<Term> out ) {
44 if (f ==
"empty")
return empty();
45 if (f ==
"size") { out.push_front(MkIntegerTerm( size() )) ;
return true; }
47 if (f ==
"top") { out.push_front( (
const_cast<YAPDBTerm&
>(top())).getTerm() ) ;
return true; }
48 if (f ==
"push") { push (YAPDBTerm(inp.front()));
return true; }
49 if (f ==
"emplace") { emplace (YAPDBTerm(inp.front()) );
return true; }
50 if (f ==
"pop") { (
const_cast<YAPDBTerm&
>( top())).release(); pop () ;
return true; }
61 (
const_cast<YAPDBTerm&
>(top())).release();
75 const char *s = Yap_TextTermToText(t);
76 if (!s || s[0] ==
'\0')
79 return Yap_unify(ARG2, MkAddressTerm(o) );
90 const char *s = Yap_TextTermToText(t);
91 if (!s || s[0] ==
'\0')
94 return Yap_unify(ARG2, MkAddressTerm(o) );