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

Public Member Functions

void reset () override
 
Overlayreduce (r_exec::View *input) override
 
r_code::CodegetInputObject (uint16 i) const
 
r_code::_ViewgetInputView (uint16 i) const
 
Timestamp get_birth_time () const
 
bool is_invalidated () override
 
- Public Member Functions inherited from r_exec::InputLessPGMOverlay
bool inject_productions ()
 
- Public Member Functions inherited from r_exec::Overlay
 Overlay (size_t values_size)
 
void invalidate ()
 
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 Types

enum  MatchResult { SUCCESS = 0, FAILURE = 1, IMPOSSIBLE = 3 }
 

Protected Member Functions

MatchResult match (r_exec::View *input, uint16 &input_index)
 
bool check_guards ()
 
MatchResult _match (r_exec::View *input, uint16 pattern_index)
 
MatchResult __match (r_exec::View *input, uint16 pattern_index)
 
r_code::Codedereference_in_ptr (Atom a)
 
void patch_input_code (uint16 pgm_code_index, uint16 input_index, uint16 input_code_index, int16 parent_index=-1) override
 
r_code::Codeget_mk_rdx (uint16 &extent_index) const override
 
void init ()
 
 PGMOverlay (Controller *c)
 
 PGMOverlay (PGMOverlay *original, uint16 last_input_index, uint16 value_commit_index)
 
- Protected Member Functions inherited from r_exec::InputLessPGMOverlay
bool evaluate (uint16 index)
 
void patch_tpl_args ()
 
void patch_tpl_code (uint16 pgm_code_index, uint16 ipgm_code_index)
 
 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

r_code::list< uint16 > input_pattern_indices_
 
std::vector< P< r_code::_View > > input_views_
 
- Protected Attributes inherited from r_exec::InputLessPGMOverlay
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 IPGMContext
 

Detailed Description

Definition at line 135 of file pgm_overlay.h.

Member Function Documentation

◆ __match()

PGMOverlay::MatchResult r_exec::PGMOverlay::__match ( r_exec::View input,
uint16  pattern_index 
)
protected
Returns
SUCCESS upon a successful match, IMPOSSIBLE if the input is not of the right class, FAILURE otherwise.

Definition at line 757 of file pgm_overlay.cpp.


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