• Places
    • Home
    • Graphs
    • Prefixes
  • Admin
    • Users
    • Settings
    • Plugins
    • Statistics
  • Repository
    • Load local file
    • Load from HTTP
    • Load from library
    • Remove triples
    • Clear repository
  • Query
    • YASGUI SPARQL Editor
    • Simple Form
  • Help
    • Documentation
    • Tutorial
    • Roadmap
    • HTTP Services
  • Login

2 A C++ interface to SWI-Prolog (Version 2)
All Application Manual Name SummaryHelp

  • Documentation
    • Reference manual
    • Packages
      • A C++ interface to SWI-Prolog
        • A C++ interface to SWI-Prolog (Version 2)
          • Summary of changes between Versions 1 and 2
          • Sample code (version 2)
          • Introduction (version 2)
          • The life of a PREDICATE (version 2)
          • Overview (version 2)
          • Examples (version 2)
          • Rationale for changes from version 1 (version 2)
          • Porting from version 1 to version 2
          • The class PlFail (version 2)
          • The class PlTerm (version 2)
          • The class PlTermv (version 2)
          • The class PlAtom - Supporting Prolog constants (version 2)
          • Classes for the recorded database: PlRecord and PlRecordExternalCopy
          • Unification and foreign frames (version 2)
          • The class PlRegister (version 2)
          • The class PlQuery (version 2)
          • The PREDICATE and PREDICATE_NONDET macros (version 2)
          • Exceptions (version 2)
          • Embedded applications (version 2)
          • Considerations (version 2)
          • Conclusions (version 2)

2.21 Conclusions (version 2)

In this document, we presented a high-level interface to Prolog exploiting automatic type-conversion and exception-handling defined in C++.

Programming using this interface is much more natural and requires only little extra resources in terms of time and memory.

Especially the smooth integration between C++ and Prolog exceptions reduce the coding effort for type checking and reporting in foreign predicates.

Index

?
add/3
1.3.2 2.6.2
arg/3
1.4.5 2.10.6
as_string()
as_wstring()
assert
1.8.1 2.16.1
at_halt/1
2.5.6.5
atom_chars/2
1.2 1.4.9 2.5.3 2.10.10
average/3
1.3.3 2.2 2.6.3
between/3
2.2
blob_data()
can_unify/2
2.2
cappend/3
2.2
close_my_blob/1
2.5.6.5 2.5.6.5 2.5.6.5
create_my_blob/2
2.5.6.5
duplicate()
entry/1
1.4.11 2.10.12
eq1/1
2.2
eq2/2
2.2
eq3/2
2.2
erase()
error/2
2.20.2
fail/0
2.4
find()
functor/3
2.2
happy/1
2.2
hello/1
1.3.1 2.6.1
int_info/2
2.2
is_acyclic()
is_atom()
is_atomic()
is_callable()
is_compound()
is_dict()
is_float()
is_functor()
is_ground()
is_integer()
is_list()
is_null()
is_number()
is_pair()
is_rational()
is_string()
is_valid()
is_variable()
likes/2
2.2
load_foreign_library/1
1.9.2 2.17.3
my_blob_properties/2
2.5.6.5
name_arity/3
2.2
not_null()
open/3
1.10.3 2.18.3
print_message/2
1.10.1 2.18.1
range_cpp/3
2.2
read/1
1.4.10 2.10.11
register_atom()
reset()
square_roots/2
2.2
term()
throw/1
2.1 2.4
type()
unifiable/3
2.2
unregister_atom()
use_foreign_library/1
2.4
word/1
1.8.1 2.16.1
write/1
1.3.1 1.4.2 2.6.1 2.10.3
write_list/1
2.2
NAMED_PREDICATE()
NAMED_PREDICATE_NONDET()
P
PlAtom
1.4.3 1.6
PlAtom!=()
PlAtom()
PlAtom==()
PlAtomkey,ValueTypevalue()
PlCall()
PlCompound
1.4.5
PlDomainError
1.10
PlDomainError()
PlEngine
1.11
PlException
1.2 1.2 1.2 1.2 1.10 1.10 1.10 1.10.1 1.10.1 1.10.1
PlExistenceError()
PlFrame
1.8.1 1.8.1 1.8.1 1.8.1 1.8.1 1.12.1
PlFrame::rewind()
PlPermissionError()
PlQuery
1.3.3 1.5 1.8
PlQuery::cut()()
PlQuery::next_solution()
PlRecord()
PlRegister
1.9
 PlRecord()
PlRecordExternalCopy()
PREDICATE0()
PREDICATE_NONDET()
PlTail
1.4.11 1.4.11 1.4.11 1.4.11 1.4.11 1.4.11 1.4.11 1.4.11 1.4.11 1.4.11
PlTail::append()
PlTail::close()
PlTail::next()
PlTerm
1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.3.1 1.3.1 1.3.2 1.3.2 1.4 1.4.1 1.4.2 1.4.2 1.4.3 1.4.4 1.4.4 1.4.4 1.4.5 1.4.5 1.4.5 1.4.6 1.10 1.10.1 1.12.1
PlTerm!=()
PlTerm::arity()
PlTerm::compare()
PlTerm::name()
PlTerm::type()
PlTerm::unify_atom()
PlTerm::unify_blob()
PlTerm::unify_chars()
PlTerm::unify_float()
PlTerm::unify_functor()
PlTerm::unify_integer()
PlTerm::unify_list_chars()
PlTerm::unify_list_codes()
PlTerm::unify_nil()
PlTerm::unify_pointer()
PlTerm::unify_string()
PlTerm::unify_term()
PlTerm<()
PlTerm<=()
PlTerm=()
PlTerm==()
PlTerm>()
PlTerm>=()
PlTerm[]()
PlTermv
1.2 1.4.10 1.5 1.9
PlTypeEror
1.10 1.10.1
PlTypeError()
T
cppThrow()
plThrow()
V
template<ValueType,StoredValueType>AtomMap::AtomMap()

ClioPatria (version V3.1.1-48-gf653ce4)