#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. |
1.3.9.1