diff options
Diffstat (limited to 'c/pl.cpp')
-rw-r--r-- | c/pl.cpp | 11 |
1 files changed, 2 insertions, 9 deletions
@@ -3,8 +3,6 @@ #include "pl.h" -/* Frame: Wrapper for opening and closing Prolog foreign frames. */ - Frame::Frame() { m_f = PL_open_foreign_frame(); @@ -20,7 +18,6 @@ void Frame::Close() PL_close_foreign_frame(m_f); } -/* Close foreign frame and invalidate associated data. */ void Frame::Discard() { PL_discard_foreign_frame(m_f); @@ -31,8 +28,6 @@ void Frame::Rewind() PL_rewind_foreign_frame(m_f); } -/* Mark: Wrapper for marking and releasing strings on the Prolog stack. */ - Mark::Mark() { PL_mark_string_buffers(&m_m); @@ -43,8 +38,6 @@ Mark::~Mark() PL_release_string_buffers_from_mark(m_m); } -/* Query: Wrapper for opening, solving and cutting Prolog query. */ - Query::Query(const module_t ctx, const predicate_t p, const term_t t0) { m_q = PL_open_query(ctx, PL_Q_CATCH_EXCEPTION, p, t0); @@ -66,11 +59,11 @@ int Query::Cut() return 0; } -/* Cut query and invalidate associated data. */ int Query::Close(std::nothrow_t) { return PL_close_query(m_q); } + int Query::Close() { if (PL_close_query(m_q)) return 1; @@ -82,6 +75,7 @@ int Query::NextSolution(std::nothrow_t) { return PL_next_solution(m_q); } + int Query::NextSolution() { if (PL_next_solution(m_q)) return 1; @@ -89,7 +83,6 @@ int Query::NextSolution() return 0; } -/* Convert Prolog term to wide characters. */ WcharPtr PlString(const term_t t, const int flags) { char* s; |