dlvhex  2.5.0
FunctionInterprete Class Reference
Inheritance diagram for FunctionInterprete:
Collaboration diagram for FunctionInterprete:

Public Member Functions

 FunctionInterprete (ProgramCtx *ctx)
virtual void retrieve (const Query &query, Answer &answer) throw (PluginError)
 Retrieve answer to a query (external computation happens here).

Private Member Functions

bool containsPlaceholder (const Term &t)

Private Attributes

ProgramCtxctx

Detailed Description

Definition at line 421 of file FunctionPlugin.cpp.


Constructor & Destructor Documentation


Member Function Documentation

bool FunctionInterprete::containsPlaceholder ( const Term t) [inline, private]

Definition at line 426 of file FunctionPlugin.cpp.

References Term::arguments, and PluginAtom::getRegistry().

Referenced by retrieve().

virtual void FunctionInterprete::retrieve ( const Query query,
Answer answer 
) throw (PluginError) [inline, virtual]

Retrieve answer to a query (external computation happens here).

This function implements the external atom computation without customized learning functions.

Answer tuples must conform to the content of the pattern tuple in Query:

  • they must contain the same number of terms as pattern
  • constants in pattern must match constants in answer tuples
  • variables in pattern must be replaced by constants in answer tuples

See also documentation of Query and Answer classes.

If both retrieve(const Query& query, Answer& answer) and retrieve(const Query& query, Answer& answer, NogoodContainerPtr nogoods) are overridden, the latter takes over precedence.

Parameters:
queryInput to the external source.
answerOutput of the external source.

Reimplemented from PluginAtom.

Definition at line 446 of file FunctionPlugin.cpp.

References Term::arguments, containsPlaceholder(), ctx, PluginAtom::Answer::get(), TermTable::getByID(), PluginAtom::getRegistry(), Term::getUnquotedString(), ID_FAIL(), PluginAtom::Query::input, ProgramCtx::pluginAtomMap(), PluginAtom::registry, Registry::storeConstantTerm(), Registry::storeTerm(), Registry::terms, Term::updateSymbolOfNestedTerm(), and WARNING().


Field Documentation

Definition at line 424 of file FunctionPlugin.cpp.

Referenced by retrieve().


The documentation for this class was generated from the following file: