|
void | filter_icst_components (ICST *icst, uint32 icst_index, std::vector< Component > &components) |
|
void | _find_f_icst (_Fact *component, std::vector< FindFIcstResult > &results, bool find_multiple) |
|
void | find_f_icst (_Fact *component, std::vector< FindFIcstResult > &results, bool find_multiple=false) |
|
void | find_f_icst (_Fact *component, std::vector< FindFIcstResult > &results, P< r_code::Code > &new_cst, bool find_multiple=false) |
|
_Fact * | make_f_icst (_Fact *component, _Fact *&component_pattern, P< r_code::Code > &new_cst) |
|
r_code::Code * | build_cst (const std::vector< Component > &components, BindingMap *bm, _Fact *main_component) |
|
bool | build_requirement (HLPBindingMap *bm, r_code::Code *m0, std::chrono::microseconds period, const std::vector< FindFIcstResult > &results, r_code::Code *new_cst) |
|
void | build_mdl_tail (r_code::Code *mdl, uint16 write_index) |
|
void | inject_hlps () const |
|
void | inject_hlps (Timestamp analysis_starting_time) |
|
virtual std::string | get_header () const =0 |
|
| _TPX (AutoFocusController *auto_focus, _Fact *target, _Fact *pattern, BindingMap *bindings) |
|
| _TPX (AutoFocusController *auto_focus, _Fact *target) |
|
bool | filter (View *input, _Fact *abstracted_input, BindingMap *bm) |
|
| TPX (AutoFocusController *auto_focus, _Fact *target) |
|
|
static _Fact * | find_f_icst_component (_Fact *fact, const _Fact *component, int max_depth=3) |
|
static r_code::Code * | build_mdl_head (HLPBindingMap *bm, uint16 tpl_arg_count, _Fact *lhs, _Fact *rhs, uint16 &write_index, bool allow_shared_timing_vars=true) |
|
static r_code::Code * | build_mdl_head_from_abstract (uint16 tpl_arg_count, r_code::Code *lhs, r_code::Code *rhs, uint16 &write_index) |
|
Definition at line 176 of file pattern_extractor.h.
◆ _find_f_icst()
void r_exec::_TPX::_find_f_icst |
( |
_Fact * |
component, |
|
|
std::vector< FindFIcstResult > & |
results, |
|
|
bool |
find_multiple |
|
) |
| |
|
protected |
Find an f_icst for the component by looking in inputs_ and f_icsts_.
- Parameters
-
component | The cst component to search for. |
results | Call this with an empty vector<FindFIcstResult>. If no f_icst is found, then this is empty. Otherwise an entry has the found f_icst and the Code pattern in the unpacked cst that matches the given component. |
find_multiple | If true then add an entry to results for each f_icst found in inputs_ and f_icsts_ . If false, then results has at most one entry. |
Definition at line 261 of file pattern_extractor.cpp.
◆ find_f_icst() [1/2]
void r_exec::_TPX::find_f_icst |
( |
_Fact * |
component, |
|
|
std::vector< FindFIcstResult > & |
results, |
|
|
bool |
find_multiple = false |
|
) |
| |
|
protected |
Find an f_icst for the component by looking in inputs_ and f_icsts_.
- Parameters
-
component | The cst component to search for. |
results | Call this with an empty vector<FindFIcstResult>. If no f_icst is found, then this is empty. Otherwise an entry has the found f_icst and the Code pattern in the unpacked cst that matches the given component. |
find_multiple | (optional) If true then add an entry to results for each f_icst found in inputs_ and f_icsts_ . If omitted or false, then results has at most one entry. |
◆ find_f_icst() [2/2]
Find an f_icst for the component by looking in inputs_ and f_icsts_, or if not found then try to make one with a new cst.
- Parameters
-
component | The cst component to search for. |
results | Call this with an empty vector<FindFIcstResult>. If no f_icst is found, then this is empty. Otherwise an entry has the found f_icst and the Code pattern in the unpacked cst that matches the given component. |
new_cst | If no existing f_icst is found, then this sets new_cst to a new cst and results has one entry with the new f_icst. |
find_multiple | (optional) If true then add an entry to results for each f_icst found in inputs_ and f_icsts_ . If omitted or false, then results has at most one entry. |
◆ find_f_icst_component()
_Fact * r_exec::_TPX::find_f_icst_component |
( |
_Fact * |
fact, |
|
|
const _Fact * |
component, |
|
|
int |
max_depth = 3 |
|
) |
| |
|
staticprotected |
If the fact is a (fact (icst ...)) then search the icst for the component. If not found, then recursively search all members which are (fact (icst ...)).
- Parameters
-
fact | The fact to search for the component. If fact->get_reference(0) is not an icst, then return NULL. |
component | The component to search for by being the same object (not matching). |
max_depth | (optional) The maximum recursion depth for when this calls itself to search members. If this is zero, then don't recurse. If omitted, use a default. |
- Returns
- The Code pattern in the unpacked cst that matches the component, if found. NULL if not found.
Definition at line 235 of file pattern_extractor.cpp.
The documentation for this class was generated from the following files: