A rule of a logic program. More...
#include <logic_program_types.h>
Public Member Functions | |
Rule & | addHead (Var v) |
Adds v as a head of this rule. | |
Rule & | addToBody (Var v, bool pos, weight_t w=1) |
Adds v to the positive/negative body of the rule. | |
bool | bodyHasBound () const |
bool | bodyHasWeights () const |
bool | bodyIsSet () const |
weight_t | bound () const |
Returns the lower bound of the rule. | |
void | clear () |
Resets the rule. | |
Rule (RuleType t=ENDRULE) | |
Rule & | setBound (weight_t bound) |
Sets the lower bound of the rule. | |
Rule & | setType (RuleType t) |
Sets the type of the rule. | |
void | swap (Rule &o) |
Swaps *this with o. | |
RuleType | type () const |
Returns the rule's type. | |
Public Attributes | |
WeightLitVec | body |
VarVec | heads |
Private Member Functions | |
Rule & | operator= (const Rule &) |
Rule (const Rule &) | |
Private Attributes | |
weight_t | bound_ |
RuleType | type_ |
A rule of a logic program.
Objects of this class represent one rule of a logic program.
Definition at line 135 of file logic_program_types.h.
Clasp::Asp::Rule::Rule | ( | RuleType | t = ENDRULE | ) | [inline, explicit] |
Definition at line 137 of file logic_program_types.h.
Clasp::Asp::Rule::Rule | ( | const Rule & | ) | [private] |
Rule & Clasp::Asp::Rule::addHead | ( | Var | v | ) |
Adds v as a head of this rule.
Definition at line 49 of file logic_program_types.cpp.
Rule & Clasp::Asp::Rule::addToBody | ( | Var | v, |
bool | pos, | ||
weight_t | w = 1 |
||
) |
Adds v to the positive/negative body of the rule.
Definition at line 57 of file logic_program_types.cpp.
bool Clasp::Asp::Rule::bodyHasBound | ( | ) | const [inline] |
Definition at line 176 of file logic_program_types.h.
bool Clasp::Asp::Rule::bodyHasWeights | ( | ) | const [inline] |
Definition at line 175 of file logic_program_types.h.
bool Clasp::Asp::Rule::bodyIsSet | ( | ) | const [inline] |
Definition at line 177 of file logic_program_types.h.
weight_t Clasp::Asp::Rule::bound | ( | ) | const [inline] |
Returns the lower bound of the rule.
Definition at line 173 of file logic_program_types.h.
void Clasp::Asp::Rule::clear | ( | ) |
Resets the rule.
Definition at line 41 of file logic_program_types.cpp.
Rule& Clasp::Asp::Rule::setBound | ( | weight_t | bound | ) | [inline] |
Sets the lower bound of the rule.
Definition at line 167 of file logic_program_types.h.
Rule& Clasp::Asp::Rule::setType | ( | RuleType | t | ) | [inline] |
Sets the type of the rule.
Definition at line 155 of file logic_program_types.h.
void Clasp::Asp::Rule::swap | ( | Rule & | o | ) | [inline] |
Swaps *this with o.
Definition at line 144 of file logic_program_types.h.
RuleType Clasp::Asp::Rule::type | ( | ) | const [inline] |
Returns the rule's type.
Definition at line 161 of file logic_program_types.h.
Body literals of this rule.
Definition at line 184 of file logic_program_types.h.
weight_t Clasp::Asp::Rule::bound_ [private] |
Definition at line 188 of file logic_program_types.h.
List of rule heads.
Definition at line 183 of file logic_program_types.h.
RuleType Clasp::Asp::Rule::type_ [private] |
Definition at line 189 of file logic_program_types.h.