The list below summarises the classes defined in the C++ interface.
term_t (for more details on term_t,
see
Interface
Data Types).
This is a “base class” whose constructor is protected; subclasses specify the actual contents. Additional methods allow checking the Prolog type, unification, comparison, conversion to native C++-data types, etc. See section 1.11.1.
For more details about PlTerm, see section
1.6.6
PlTerm with constructors for building compound
terms. If there is a single string argument, then PL_chars_to_term()
or PL_wchars_to_term() is used to parse the string and create the
term. If the constructor has two arguments, the first is name of a
functor and the second is a PlTermv with the arguments.[]
operator is overloaded to access elements in this vector. PlTermv
is used to build complex terms and provide argument-lists to Prolog
goals.atom_t in their internal Prolog representation for
fast comparison. (For more details on
atom_t, see
Interface
Data Types). For more details of PlAtom, see section
1.11.12.4.functor_t, which maps to the internal
representation of a name/arity pair.predicate_t, which maps to the internal
representation of a Prolog predicate.module_t, which maps to the internal
representation of a Prolog module.PlException object and throws it. If the
enclosing code doesn't intercept the exception, the PlException
object is turned back into a Prolog error when control returns to Prolog
from the PREDICATE() macros.
This is a subclass of PlExceptionBase, which is a subclass
of std::exception.return false instead
if failure is expected. An error can be signaled by calling
Plx_raise_exception() or one of the PL_*_error() functions
and then throwing PlFail; but it's better style to create
the error throwing one of the subclasses of PlException
e.g.,
throw PlTypeError("int", t). Subclass of PlExceptionFailBase.PlException object, so a PlExceptionFail
object is thrown. This is turned into failure by the PREDICATE()
macro, resulting in normal Prolog error handling. Subclass of PlExceptionFailBase.std::exception, to
allow catching
PlException, PlExceptionFail or PlFail
in a single “catch” clause.PlExceptionBase, to
allow catching
PlExceptionFail or PlFail in a single “catch” clause,
excluding PlException.