AERA
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
r_exec::InputLessPGMOverlay Class Reference
Inheritance diagram for r_exec::InputLessPGMOverlay:
r_exec::Overlay core::_Object r_exec::PGMOverlay r_exec::AntiPGMOverlay

Public Member Functions

void reset () override
 
bool inject_productions ()
 
- Public Member Functions inherited from r_exec::Overlay
 Overlay (size_t values_size)
 
virtual Overlayreduce (r_exec::View *input)
 
void invalidate ()
 
virtual bool is_invalidated ()
 
r_code::Codeget_object () const
 
r_exec::Viewget_view () const
 
r_code::Codebuild_object (r_code::Atom head) const
 
const r_code::Atomvalues () const
 
- Public Member Functions inherited from core::_Object
void incRef ()
 
virtual void decRef ()
 

Protected Member Functions

bool evaluate (uint16 index)
 
virtual r_code::Codeget_mk_rdx (uint16 &extent_index) const
 
void patch_tpl_args ()
 
void patch_tpl_code (uint16 pgm_code_index, uint16 ipgm_code_index)
 
virtual void patch_input_code (uint16 pgm_code_index, uint16 input_index, uint16 input_code_index, int16 parent_index=-1)
 
 InputLessPGMOverlay (Controller *c)
 
- Protected Member Functions inherited from r_exec::Overlay
void load_code ()
 
void patch_code (uint16 index, r_code::Atom value)
 
uint16 get_last_patch_index ()
 
void unpatch_code (uint16 patch_index)
 
void rollback ()
 
void commit ()
 
r_code::Codeget_core_object () const
 
 Overlay (Controller *c, bool load_code=true)
 

Protected Attributes

std::vector< P< r_code::Code > > productions_
 
- Protected Attributes inherited from r_exec::Overlay
volatile uint32 invalidated_
 
Controllercontroller_
 
r_code::resized_vector< r_code::Atomvalues_
 
r_code::Atomcode_
 
uint16 code_size_
 
std::vector< uint16 > patch_indices_
 
uint16 value_commit_index_
 
- Protected Attributes inherited from core::_Object
std::atomic_int32_t refCount_
 

Friends

class PGMController
 
class InputLessPGMController
 
class IPGMContext
 

Detailed Description

Definition at line 99 of file pgm_overlay.h.

Member Function Documentation

◆ evaluate()

bool r_exec::InputLessPGMOverlay::evaluate ( uint16  index)
protected

Create an IPGMContext and evaluate code_ at index.

Parameters
indexThe index in code_ to evaluate.
Returns
True if successfully evaluated, false for problem evaluated including unbound variables. Note that if the code at index is a boolean expression, then this can return true for successful evaluation even though the expression value is boolean false.

Definition at line 164 of file pgm_overlay.cpp.


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