AERA
Public Member Functions | List of all members
r_exec::HLPBindingMap Class Reference
Inheritance diagram for r_exec::HLPBindingMap:
r_exec::BindingMap core::_Object

Public Member Functions

 HLPBindingMap (const HLPBindingMap *source)
 
 HLPBindingMap (const HLPBindingMap &source)
 
HLPBindingMapoperator= (const HLPBindingMap &source)
 
void load (const HLPBindingMap *source)
 
void clear () override
 
void init_from_hlp (const r_code::Code *hlp, const r_code::Code *packed_hlp)
 
void init_from_f_ihlp (const _Fact *f_ihlp)
 
Factbuild_f_ihlp (r_code::Code *hlp, uint16 opcode, bool wr_enabled) const
 
r_code::Codebind_pattern (r_code::Code *pattern) const
 
int16 get_ihlp_exposed_args_position (int16 index) 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)
 
bool has_bwd_after () const
 
bool has_bwd_before () const
 
Timestamp get_bwd_after () const
 
Timestamp get_bwd_before () const
 
- Public Member Functions inherited from r_exec::BindingMap
 BindingMap (const BindingMap *source)
 
 BindingMap (const BindingMap &source)
 
BindingMapoperator= (const BindingMap &source)
 
void load (const BindingMap *source)
 
void init (const r_code::Code *object, uint16 index)
 
_Factabstract_fact (_Fact *fact, const _Fact *original, bool force_sync, int timing_vars_first_search_index=0)
 
r_code::Codeabstract_object (r_code::Code *object, bool force_sync, int timing_vars_first_search_index=0)
 
void reset_fwd_timings (_Fact *reference_fact)
 
bool match_fwd_timings (Timestamp after, Timestamp before)
 
MatchResult match_fwd_lenient (const _Fact *f_object, const _Fact *f_pattern)
 
bool match_fwd_strict (const _Fact *f_object, const _Fact *f_pattern)
 
bool is_timestamp (uint16 i) const
 
bool has_fwd_after () const
 
bool has_fwd_before () const
 
Timestamp get_fwd_after () const
 
Timestamp get_fwd_before () const
 
bool match_object (const r_code::Code *object, const r_code::Code *pattern)
 
bool match_structure (const r_code::Code *object, uint16 o_base_index, uint16 o_index, const r_code::Code *pattern, uint16 p_index)
 
bool match_atom (Atom o_atom, Atom p_atom)
 
void bind_variable (BoundValue *value, uint8 id)
 
void bind_variable (Atom *code, uint8 id, uint16 value_index, Atom *intermediate_results)
 
Atomget_value_code (uint16 id) const
 
uint16 get_value_code_size (uint16 id) const
 
uint16 get_first_index () const
 
bool intersect (const BindingMap *bm) const
 
bool is_fully_specified () const
 
Atomget_code (uint16 i) const
 
r_code::Codeget_object (uint16 i) const
 
int16 get_fwd_after_index () const
 
int16 get_fwd_before_index () const
 
bool scan_variable (uint16 id) const
 
bool match_timings (Timestamp after, Timestamp before, uint32 after_index, uint32 before_index)
 
std::string trace_string (uint16 i) const
 
- Public Member Functions inherited from core::_Object
void incRef ()
 
virtual void decRef ()
 

Additional Inherited Members

- Static Public Member Functions inherited from r_exec::BindingMap
static _Factabstract_f_ihlp (const _Fact *fact)
 
static uint16 get_abstracted_ihlp_exposed_args_index (const r_code::Code *ihlp)
 
- Protected Member Functions inherited from r_exec::BindingMap
void add_unbound_value (uint8 id)
 
bool match_fwd_timings (const _Fact *f_object)
 
bool match (const r_code::Code *object, uint16 o_base_index, uint16 o_index, const r_code::Code *pattern, uint16 p_index, uint16 o_arity)
 
void abstract_member (const r_code::Code *object, uint16 index, r_code::Code *abstracted_object, uint16 write_index, uint16 &extent_index, int first_search_index=0)
 
Atom get_atom_variable (Atom a)
 
Atom get_structure_variable (const r_code::Code *object, uint16 index, int first_search_index=0)
 
Atom get_object_variable (r_code::Code *object)
 
- Protected Attributes inherited from r_exec::BindingMap
std::vector< P< Value > > map_
 
uint32 unbound_values_
 
uint16 first_index_
 
int16 fwd_after_index_
 
int16 fwd_before_index_
 
- Protected Attributes inherited from core::_Object
std::atomic_int32_t refCount_
 

Detailed Description

Definition at line 392 of file binding_map.h.

Member Function Documentation

◆ get_ihlp_exposed_args_position()

int16 r_exec::HLPBindingMap::get_ihlp_exposed_args_position ( int16  index) const

Assume that the variable index is the same index that would be bound in build_f_ihlp. Find the position of this variable in the ihlp exposed args. This uses the same logic as build_f_ihlp to skip variable indexes that are for the "after" and "before" timing variables.

Parameters
Theindex in the binding map.
Returns
The position in the exposed args (starting from 0), or -1 if index is not in the exposed args.

Definition at line 1166 of file binding_map.cpp.


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