replicode
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
r_exec::HLPController Class Referenceabstract

#include <hlp_controller.h>

Inheritance diagram for r_exec::HLPController:
Inheritance graph
Collaboration diagram for r_exec::HLPController:
Collaboration graph

Classes

class  Cache
 
class  EEntry
 
class  PEEntry
 

Public Member Functions

virtual ~HLPController ()
 
void invalidate ()
 
Codeget_core_object () const
 
Codeget_unpacked_object () const
 
void add_requirement (bool strong)
 
void remove_requirement (bool strong)
 
uint64_t get_requirement_count (uint64_t &weak_requirement_count, uint64_t &strong_requirement_count)
 
uint64_t get_requirement_count ()
 
void store_evidence (_Fact *evidence)
 
void store_predicted_evidence (_Fact *evidence)
 
virtual Factget_f_ihlp (HLPBindingMap *bindings, bool wr_enabled) const =0
 
uint16_t get_out_group_count () const
 
Codeget_out_group (uint16_t i) const
 
Groupget_host () const
 
bool has_tpl_args () const
 
void inject_prediction (Fact *prediction, double confidence) const
 
- Public Member Functions inherited from r_exec::OController
virtual ~OController ()
 
- Public Member Functions inherited from r_exec::Controller
virtual ~Controller ()
 
uint64_t get_tsc ()
 
bool is_invalidated ()
 
void activate (bool a)
 
bool is_activated () const
 
bool is_alive () const
 
r_code::CodegetObject () const
 
r_exec::ViewgetView () const
 
void _take_input (r_exec::View *input)
 
virtual void gain_activation ()
 
virtual void lose_activation ()
 
void set_view (View *view)
 
void debug (View *input)
 
- Public Member Functions inherited from core::_Object
virtual ~_Object ()
 
void incRef ()
 
virtual void decRef ()
 

Protected Member Functions

template<class E >
void _store_evidence (Cache< E > *cache, _Fact *evidence)
 
bool evaluate_bwd_guards (HLPBindingMap *bm)
 
MatchResult check_evidences (_Fact *target, _Fact *&evidence)
 
MatchResult check_predicted_evidences (_Fact *target, _Fact *&evidence)
 
bool is_orphan ()
 
bool become_invalidated ()
 
virtual void kill_views ()
 
virtual void check_last_match_time (bool match)=0
 
 HLPController (r_code::View *view)
 
- Protected Member Functions inherited from r_exec::OController
 OController (r_code::View *view)
 
- Protected Member Functions inherited from r_exec::Controller
virtual void take_input (r_exec::View *input)
 
template<class C >
void __take_input (r_exec::View *input)
 
 Controller (r_code::View *view)
 
- Protected Member Functions inherited from core::_Object
 _Object ()
 

Protected Attributes

Cache< EEntryevidences
 
Cache< PEEntrypredicted_evidences
 
P< HLPBindingMapbindings
 
bool _has_tpl_args
 
uint64_t ref_count
 
std::vector< P< HLPController > > controllers
 
uint64_t last_match_time
 
- Protected Attributes inherited from r_exec::OController
r_code::list< P< Overlay > > overlays
 
- Protected Attributes inherited from r_exec::Controller
volatile uint64_t invalidated
 
volatile uint64_t activated
 
uint64_t tsc
 
r_code::Viewview
 
std::mutex m_reductionMutex
 
- Protected Attributes inherited from core::_Object
std::atomic_int_fast64_t refCount
 

Private Attributes

uint64_t strong_requirement_count
 
uint64_t weak_requirement_count
 
uint64_t requirement_count
 

Constructor & Destructor Documentation

r_exec::HLPController::HLPController ( r_code::View view)
protected

Here is the call graph for this function:

r_exec::HLPController::~HLPController ( )
virtual

Member Function Documentation

template<class E >
void r_exec::HLPController::_store_evidence ( Cache< E > *  cache,
_Fact evidence 
)
inlineprotected

Here is the call graph for this function:

void r_exec::HLPController::add_requirement ( bool  strong)

Here is the caller graph for this function:

bool r_exec::HLPController::become_invalidated ( )
protected

Here is the call graph for this function:

Here is the caller graph for this function:

MatchResult r_exec::HLPController::check_evidences ( _Fact target,
_Fact *&  evidence 
)
protected

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void r_exec::HLPController::check_last_match_time ( bool  match)
protectedpure virtual
MatchResult r_exec::HLPController::check_predicted_evidences ( _Fact target,
_Fact *&  evidence 
)
protected

Here is the call graph for this function:

Here is the caller graph for this function:

bool r_exec::HLPController::evaluate_bwd_guards ( HLPBindingMap bm)
protected

Here is the call graph for this function:

Here is the caller graph for this function:

Code* r_exec::HLPController::get_core_object ( ) const
inlinevirtual

Implements r_exec::Controller.

Here is the call graph for this function:

Here is the caller graph for this function:

virtual Fact* r_exec::HLPController::get_f_ihlp ( HLPBindingMap bindings,
bool  wr_enabled 
) const
pure virtual
Group * r_exec::HLPController::get_host ( ) const
inline

Here is the call graph for this function:

Here is the caller graph for this function:

Code * r_exec::HLPController::get_out_group ( uint16_t  i) const

Here is the call graph for this function:

Here is the caller graph for this function:

uint16_t r_exec::HLPController::get_out_group_count ( ) const

Here is the call graph for this function:

Here is the caller graph for this function:

uint64_t r_exec::HLPController::get_requirement_count ( uint64_t weak_requirement_count,
uint64_t strong_requirement_count 
)
uint64_t r_exec::HLPController::get_requirement_count ( )

Here is the caller graph for this function:

Code* r_exec::HLPController::get_unpacked_object ( ) const
inline

Here is the call graph for this function:

Here is the caller graph for this function:

bool r_exec::HLPController::has_tpl_args ( ) const
inline

Here is the caller graph for this function:

void r_exec::HLPController::inject_prediction ( Fact prediction,
double  confidence 
) const

Here is the call graph for this function:

Here is the caller graph for this function:

void r_exec::HLPController::invalidate ( )
virtual

Reimplemented from r_exec::Controller.

Here is the caller graph for this function:

bool r_exec::HLPController::is_orphan ( )
protected

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void r_exec::HLPController::kill_views ( )
inlineprotectedvirtual

Reimplemented in r_exec::SecondaryMDLController, r_exec::PrimaryMDLController, and r_exec::CSTController.

Here is the caller graph for this function:

void r_exec::HLPController::remove_requirement ( bool  strong)

Here is the caller graph for this function:

void r_exec::HLPController::store_evidence ( _Fact evidence)
inline
void r_exec::HLPController::store_predicted_evidence ( _Fact evidence)
inline

Member Data Documentation

bool r_exec::HLPController::_has_tpl_args
protected
P<HLPBindingMap> r_exec::HLPController::bindings
protected
std::vector<P<HLPController> > r_exec::HLPController::controllers
protected
Cache<EEntry> r_exec::HLPController::evidences
protected
uint64_t r_exec::HLPController::last_match_time
protected
Cache<PEEntry> r_exec::HLPController::predicted_evidences
protected
uint64_t r_exec::HLPController::ref_count
protected
uint64_t r_exec::HLPController::requirement_count
private
uint64_t r_exec::HLPController::strong_requirement_count
private
uint64_t r_exec::HLPController::weak_requirement_count
private

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