File head.hpp¶
-
class IHead¶
- #include <head.hpp>
Defines an interface for all classes that represent the head of a rule.
Subclassed by CompleteHead< ScoreType >, PartialHead< ScoreType >
Public Types
-
template<typename ScoreType>
using CompleteHeadVisitor = std::function<void(const CompleteHead<ScoreType>&)>¶ A visitor function for handling objects of the type
CompleteHead.- Template Parameters:
ScoreType – The type of the numerical scores that are stored by the head
-
template<typename ScoreType>
using PartialHeadVisitor = std::function<void(const PartialHead<ScoreType>&)>¶ A visitor function for handling objects of the type
PartialHead.- Template Parameters:
ScoreType – The type of the numerical scores that are stored by the head
Public Functions
-
inline virtual ~IHead()¶
-
virtual void visit(CompleteHeadVisitor<uint8> completeBinaryHeadVisitor, CompleteHeadVisitor<float32> complete32BitHeadVisitor, CompleteHeadVisitor<float64> complete64BitHeadVisitor, PartialHeadVisitor<uint8> partialBinaryHeadVisitor, PartialHeadVisitor<float32> partial32BitHeadVisitor, PartialHeadVisitor<float64> partial64BitHeadVisitor) const = 0¶
Invokes one of the given visitor functions, depending on which one is able to handle this particular type of head.
- Parameters:
completeBinaryHeadVisitor – A visitor function for handling objects of the type
CompleteHead<uint8>complete32BitHeadVisitor – A visitor function for handling objects of the type
CompleteHead<float32>complete64BitHeadVisitor – A visitor function for handling objects of the type
CompleteHead<float64>partialBinaryHeadVisitor – A visitor function for handling objects of the type
PartialHead<uint8>partial32BitHeadVisitor – A visitor function for handling objects of the type
PartialHead<float32>partial64BitHeadVisitor – A visitor function for handling objects of the type
PartialHead<float64>
-
template<typename ScoreType>