#include <parser-structs.h>
Inheritance diagram for c_rule:
Public Member Functions | |
c_rule () | |
~c_rule () | |
void | deep_delete () |
void | deep_copy (c_rule *copy, bool reindex=false) const |
void | project_constraint () const |
void | get_variables (set< string > &vars) const |
Public Attributes | |
c_term * | head |
vector< c_term * > | body |
con_type | constraint |
Static Public Attributes | |
int | count = 0 |
int | global_variable_index = 0 |
|
Default constructor. Creates a head. |
|
Destructor. |
|
Copy this c_rule recursively into another c_rule.
|
|
Calls delete on the head and body recursively. Note that this should NOT be done when the rule contains term that wasn't created using deep_copy during safety mode off. Implements c_base. |
|
Inserts the variables names used in this rule into the supplied set of strings. |
|
Project the constraint in this rule to the variables used somewhere in the rule. |
|
The body literals of this rule (none if it is an answer). All of these literals are of type T_FUNCTOR. |
|
The constraint of this rule. |
|
The number of c_rule instances allocated and not destroyed. |
|
The index for variables in a new rule instance, increased by 1 for every rule instance. |
|
The head of this rule, is of type T_FUNCTOR and isn't negated. |