replicode
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
r_exec::BindingMap Class Reference

#include <binding_map.h>

Inheritance diagram for r_exec::BindingMap:
Inheritance graph
Collaboration diagram for r_exec::BindingMap:
Collaboration graph

Public Member Functions

 BindingMap ()
 
 BindingMap (const BindingMap *source)
 
 BindingMap (const BindingMap &source)
 
virtual ~BindingMap ()
 
BindingMapoperator= (const BindingMap &source)
 
void load (const BindingMap *source)
 
virtual void clear ()
 
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 ()
 

Protected Member Functions

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

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
 

Friends

class UnboundValue
 

Constructor & Destructor Documentation

r_exec::BindingMap::BindingMap ( )
r_exec::BindingMap::BindingMap ( const BindingMap source)
r_exec::BindingMap::BindingMap ( const BindingMap source)
r_exec::BindingMap::~BindingMap ( )
virtual

Member Function Documentation

_Fact * r_exec::BindingMap::abstract_f_ihlp ( _Fact fact) const

Here is the call graph for this function:

_Fact * r_exec::BindingMap::abstract_fact ( _Fact fact,
_Fact original,
bool  force_sync 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void r_exec::BindingMap::abstract_member ( Code object,
uint16_t  index,
Code abstracted_object,
uint16_t  write_index,
uint16_t &  extent_index 
)
protected

Here is the call graph for this function:

Here is the caller graph for this function:

Code * r_exec::BindingMap::abstract_object ( Code object,
bool  force_sync 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void r_exec::BindingMap::add_unbound_value ( uint8_t  id)
protected

Here is the caller graph for this function:

void r_exec::BindingMap::bind_variable ( BoundValue value,
uint8_t  id 
)

Here is the caller graph for this function:

void r_exec::BindingMap::bind_variable ( Atom code,
uint8_t  id,
uint16_t  value_index,
Atom intermediate_results 
)

Here is the call graph for this function:

void r_exec::BindingMap::clear ( )
virtual

Reimplemented in r_exec::HLPBindingMap.

Here is the caller graph for this function:

Atom r_exec::BindingMap::get_atom_variable ( Atom  a)
protected

Here is the caller graph for this function:

Atom* r_exec::BindingMap::get_code ( uint16_t  i) const
inline

Here is the caller graph for this function:

uint64_t r_exec::BindingMap::get_fwd_after ( ) const

Here is the call graph for this function:

Here is the caller graph for this function:

uint16_t r_exec::BindingMap::get_fwd_after_index ( ) const
inline
uint64_t r_exec::BindingMap::get_fwd_before ( ) const

Here is the call graph for this function:

Here is the caller graph for this function:

uint16_t r_exec::BindingMap::get_fwd_before_index ( ) const
inline
Code* r_exec::BindingMap::get_object ( uint16_t  i) const
inline
Atom r_exec::BindingMap::get_object_variable ( Code object)
protected

Here is the caller graph for this function:

Atom r_exec::BindingMap::get_structure_variable ( Code object,
uint16_t  index 
)
protected

Here is the call graph for this function:

Here is the caller graph for this function:

Atom * r_exec::BindingMap::get_value_code ( uint16_t  id)
uint16_t r_exec::BindingMap::get_value_code_size ( uint16_t  id)
void r_exec::BindingMap::init ( Code object,
uint16_t  index 
)

Here is the call graph for this function:

bool r_exec::BindingMap::intersect ( BindingMap bm)
bool r_exec::BindingMap::is_fully_specified ( ) const

Here is the caller graph for this function:

void r_exec::BindingMap::load ( const BindingMap source)
bool r_exec::BindingMap::match ( const Code object,
uint16_t  o_base_index,
uint16_t  o_index,
const Code pattern,
uint16_t  p_index,
uint16_t  o_arity 
)
protected

Here is the call graph for this function:

Here is the caller graph for this function:

bool r_exec::BindingMap::match_atom ( Atom  o_atom,
Atom  p_atom 
)

Here is the call graph for this function:

Here is the caller graph for this function:

MatchResult r_exec::BindingMap::match_fwd_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::BindingMap::match_fwd_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::BindingMap::match_fwd_timings ( const _Fact f_object,
const _Fact f_pattern 
)
protected

Here is the call graph for this function:

Here is the caller graph for this function:

bool r_exec::BindingMap::match_object ( const Code object,
const Code pattern 
)

Here is the call graph for this function:

Here is the caller graph for this function:

bool r_exec::BindingMap::match_structure ( const Code object,
uint16_t  o_base_index,
uint16_t  o_index,
const Code pattern,
uint16_t  p_index 
)

Here is the call graph for this function:

Here is the caller graph for this function:

bool r_exec::BindingMap::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 
)
protected

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

void r_exec::BindingMap::reset_fwd_timings ( _Fact reference_fact)

Here is the call graph for this function:

Here is the caller graph for this function:

bool r_exec::BindingMap::scan_variable ( uint16_t  id) const

Here is the call graph for this function:

Friends And Related Function Documentation

friend class UnboundValue
friend

Member Data Documentation

uint16_t r_exec::BindingMap::first_index
protected
int16_t r_exec::BindingMap::fwd_after_index
protected
int16_t r_exec::BindingMap::fwd_before_index
protected
std::vector<P<Value> > r_exec::BindingMap::map
protected
uint64_t r_exec::BindingMap::unbound_values
protected

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