replicode
Public Member Functions | Private Member Functions | Private Attributes | List of all members
r_exec::HLPBindingMap Class Reference

#include <binding_map.h>

Inheritance diagram for r_exec::HLPBindingMap:
Inheritance graph
Collaboration diagram for r_exec::HLPBindingMap:
Collaboration graph

Public Member Functions

 HLPBindingMap ()
 
 HLPBindingMap (const HLPBindingMap *source)
 
 HLPBindingMap (const HLPBindingMap &source)
 
 ~HLPBindingMap ()
 
HLPBindingMapoperator= (const HLPBindingMap &source)
 
void load (const HLPBindingMap *source)
 
void clear ()
 
void init_from_hlp (const Code *hlp)
 
void init_from_f_ihlp (const _Fact *f_ihlp)
 
Factbuild_f_ihlp (Code *hlp, uint16_t opcode, bool wr_enabled) const
 
Codebind_pattern (Code *pattern) const
 
void reset_bwd_timings (_Fact *reference_fact)
 
MatchResult match_bwd_lenient (const _Fact *f_object, const _Fact *f_pattern)
 
bool match_bwd_strict (const _Fact *f_object, const _Fact *f_pattern)
 
uint64_t get_bwd_after () const
 
uint64_t get_bwd_before () const
 
- Public Member Functions inherited from r_exec::BindingMap
 BindingMap ()
 
 BindingMap (const BindingMap *source)
 
 BindingMap (const BindingMap &source)
 
virtual ~BindingMap ()
 
BindingMapoperator= (const BindingMap &source)
 
void load (const BindingMap *source)
 
void init (Code *object, uint16_t index)
 
_Factabstract_f_ihlp (_Fact *fact) const
 
_Factabstract_fact (_Fact *fact, _Fact *original, bool force_sync)
 
Codeabstract_object (Code *object, bool force_sync)
 
void reset_fwd_timings (_Fact *reference_fact)
 
MatchResult match_fwd_lenient (const _Fact *f_object, const _Fact *f_pattern)
 
bool match_fwd_strict (const _Fact *f_object, const _Fact *f_pattern)
 
uint64_t get_fwd_after () const
 
uint64_t get_fwd_before () const
 
bool match_object (const Code *object, const Code *pattern)
 
bool match_structure (const Code *object, uint16_t o_base_index, uint16_t o_index, const Code *pattern, uint16_t p_index)
 
bool match_atom (Atom o_atom, Atom p_atom)
 
void bind_variable (BoundValue *value, uint8_t id)
 
void bind_variable (Atom *code, uint8_t id, uint16_t value_index, Atom *intermediate_results)
 
Atomget_value_code (uint16_t id)
 
uint16_t get_value_code_size (uint16_t id)
 
bool intersect (BindingMap *bm)
 
bool is_fully_specified () const
 
Atomget_code (uint16_t i) const
 
Codeget_object (uint16_t i) const
 
uint16_t get_fwd_after_index () const
 
uint16_t get_fwd_before_index () const
 
bool scan_variable (uint16_t id) const
 
- Public Member Functions inherited from core::_Object
virtual ~_Object ()
 
void incRef ()
 
virtual void decRef ()
 

Private Member Functions

bool match_bwd_timings (const _Fact *f_object, const _Fact *f_pattern)
 
bool need_binding (Code *pattern) const
 
void init_from_pattern (const Code *source, int16_t position)
 

Private Attributes

int16_t bwd_after_index
 
int16_t bwd_before_index
 

Additional Inherited Members

- Protected Member Functions inherited from r_exec::BindingMap
void add_unbound_value (uint8_t id)
 
bool match_timings (uint64_t stored_after, uint64_t stored_before, uint64_t after, uint64_t before, uint64_t destination_after_index, uint64_t destination_before_index)
 
bool match_fwd_timings (const _Fact *f_object, const _Fact *f_pattern)
 
bool match (const Code *object, uint16_t o_base_index, uint16_t o_index, const Code *pattern, uint16_t p_index, uint16_t o_arity)
 
void abstract_member (Code *object, uint16_t index, Code *abstracted_object, uint16_t write_index, uint16_t &extent_index)
 
Atom get_atom_variable (Atom a)
 
Atom get_structure_variable (Code *object, uint16_t index)
 
Atom get_object_variable (Code *object)
 
- Protected Member Functions inherited from core::_Object
 _Object ()
 
- Protected Attributes inherited from r_exec::BindingMap
std::vector< P< Value > > map
 
uint64_t unbound_values
 
uint16_t first_index
 
int16_t fwd_after_index
 
int16_t fwd_before_index
 
- Protected Attributes inherited from core::_Object
std::atomic_int_fast64_t refCount
 

Constructor & Destructor Documentation

r_exec::HLPBindingMap::HLPBindingMap ( )
r_exec::HLPBindingMap::HLPBindingMap ( const HLPBindingMap source)
r_exec::HLPBindingMap::HLPBindingMap ( const HLPBindingMap source)
r_exec::HLPBindingMap::~HLPBindingMap ( )

Member Function Documentation

Code * r_exec::HLPBindingMap::bind_pattern ( Code pattern) const

Here is the call graph for this function:

Here is the caller graph for this function:

Fact * r_exec::HLPBindingMap::build_f_ihlp ( Code hlp,
uint16_t  opcode,
bool  wr_enabled 
) const

Here is the call graph for this function:

Here is the caller graph for this function:

void r_exec::HLPBindingMap::clear ( )
virtual

Reimplemented from r_exec::BindingMap.

Here is the call graph for this function:

Here is the caller graph for this function:

uint64_t r_exec::HLPBindingMap::get_bwd_after ( ) const

Here is the call graph for this function:

Here is the caller graph for this function:

uint64_t r_exec::HLPBindingMap::get_bwd_before ( ) const

Here is the call graph for this function:

Here is the caller graph for this function:

void r_exec::HLPBindingMap::init_from_f_ihlp ( const _Fact f_ihlp)

Here is the call graph for this function:

void r_exec::HLPBindingMap::init_from_hlp ( const Code hlp)

Here is the call graph for this function:

void r_exec::HLPBindingMap::init_from_pattern ( const Code source,
int16_t  position 
)
private

Here is the call graph for this function:

Here is the caller graph for this function:

void r_exec::HLPBindingMap::load ( const HLPBindingMap source)

Here is the caller graph for this function:

MatchResult r_exec::HLPBindingMap::match_bwd_lenient ( const _Fact f_object,
const _Fact f_pattern 
)

Here is the call graph for this function:

Here is the caller graph for this function:

bool r_exec::HLPBindingMap::match_bwd_strict ( const _Fact f_object,
const _Fact f_pattern 
)

Here is the call graph for this function:

Here is the caller graph for this function:

bool r_exec::HLPBindingMap::match_bwd_timings ( const _Fact f_object,
const _Fact f_pattern 
)
private

Here is the call graph for this function:

Here is the caller graph for this function:

bool r_exec::HLPBindingMap::need_binding ( Code pattern) const
private

Here is the call graph for this function:

Here is the caller graph for this function:

HLPBindingMap & r_exec::HLPBindingMap::operator= ( const HLPBindingMap source)

Here is the call graph for this function:

void r_exec::HLPBindingMap::reset_bwd_timings ( _Fact reference_fact)

Here is the call graph for this function:

Member Data Documentation

int16_t r_exec::HLPBindingMap::bwd_after_index
private
int16_t r_exec::HLPBindingMap::bwd_before_index
private

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