AERA
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
r_exec::Sim::DefeasiblePromotedFact Class Reference

#include <factory.h>

Public Member Functions

 DefeasiblePromotedFact (_Fact *original_fact, _Fact *promoted_fact, DefeasibleValidity *defeasible_validity)
 

Static Public Member Functions

static bool has_original_fact (const r_code::list< DefeasiblePromotedFact > &list, const _Fact *original_fact)
 

Public Attributes

P< _Factoriginal_fact_
 
P< _Factpromoted_fact_
 
P< DefeasibleValiditydefeasible_validity_
 

Detailed Description

A DefeasiblePromotedFact holds the defeasible fact that was promoted to the next frame in this Sim, plus the DefeasibleValidity which is attached to its prediction and which is invalidated if a actual predicted fact is injected. It also holds the original fact that was promoted, for preventing repeated promotion.

Definition at line 315 of file factory.h.

Constructor & Destructor Documentation

◆ DefeasiblePromotedFact()

r_exec::Sim::DefeasiblePromotedFact::DefeasiblePromotedFact ( _Fact original_fact,
_Fact promoted_fact,
DefeasibleValidity defeasible_validity 
)
inline

Create a DefeasiblePromotedFact with the given values.

Parameters
original_factThe original fact that was promoted, for preventing repeated promotion.
promoted_factThe promoted fact which will be checked against actual predicted facts.
defeasible_validityThe DefeasibleValidity object that is attached to the predicted promoted fact.

Definition at line 327 of file factory.h.

Member Function Documentation

◆ has_original_fact()

bool r_exec::Sim::DefeasiblePromotedFact::has_original_fact ( const r_code::list< DefeasiblePromotedFact > &  list,
const _Fact original_fact 
)
static

Check if the list has a DefeasiblePromotedFact with the given original_fact. Use pointer equality (not a deep match).

Parameters
listThe list to check.
original_factThe original fact to match.
Returns
True if the list has a DefeasiblePromotedFact with the given original_fact.

Definition at line 806 of file factory.cpp.


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