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

Public Member Functions

 FunctionDecomposeAtom (int arity)
virtual void retrieve (const Query &query, Answer &answer) throw (PluginError)
 Retrieve answer to a query (external computation happens here).

Private Member Functions

std::string getName (std::string f, int ar)

Private Attributes

int arity

Detailed Description

Definition at line 310 of file FunctionPlugin.cpp.


Constructor & Destructor Documentation


Member Function Documentation

std::string FunctionDecomposeAtom::getName ( std::string  f,
int  ar 
) [inline, private]

Definition at line 314 of file FunctionPlugin.cpp.

virtual void FunctionDecomposeAtom::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 333 of file FunctionPlugin.cpp.

References Term::arguments, arity, TermTable::getByID(), PluginAtom::getRegistry(), Term::isNestedTerm(), PluginAtom::registry, and Registry::terms.


Field Documentation

Definition at line 313 of file FunctionPlugin.cpp.

Referenced by FunctionDecomposeAtom(), and retrieve().


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