Supported edge types. More...
#include <logic_program_types.h>
Classes | |
struct | Node |
Public Types | |
enum | EdgeType { NORMAL_EDGE = 0, GAMMA_EDGE = 1, CHOICE_EDGE = 2 } |
Type of edge. More... | |
enum | NodeType { BODY_NODE = 0, ATOM_NODE = 1, DISJ_NODE = 2 } |
Type of adjacent node. More... | |
Public Member Functions | |
bool | isAtom () const |
Returns true if the adjacant node is an atom. | |
bool | isBody () const |
Returns true if the adjacent node is a body. | |
bool | isChoice () const |
Returns true if edge has choice semantic. | |
bool | isDisj () const |
Returns true if the adjacent node is a disjunction. | |
bool | isGamma () const |
Returns true if the edge is a gamma (aux normal) edge. | |
bool | isNormal () const |
Returns true if edge has normal semantic (normal edge or gamma edge). | |
uint32 | node () const |
Returns the id of the adjacent node. | |
NodeType | nodeType () const |
Returns the type of adjacent node. | |
bool | operator< (PrgEdge rhs) const |
bool | operator== (PrgEdge rhs) const |
EdgeType | type () const |
Returns the type of this edge. | |
Static Public Member Functions | |
static PrgEdge | newEdge (uint32 nodeId, EdgeType eType, NodeType nType) |
static PrgEdge | noEdge () |
Public Attributes | |
uint32 | rep |
Supported edge types.
Currently, we distinguish three types of edges:
Definition at line 86 of file logic_program_types.h.
Type of edge.
Definition at line 88 of file logic_program_types.h.
Type of adjacent node.
Definition at line 90 of file logic_program_types.h.
bool Clasp::Asp::PrgEdge::isAtom | ( | ) | const [inline] |
Returns true if the adjacant node is an atom.
Definition at line 113 of file logic_program_types.h.
bool Clasp::Asp::PrgEdge::isBody | ( | ) | const [inline] |
Returns true if the adjacent node is a body.
Definition at line 111 of file logic_program_types.h.
bool Clasp::Asp::PrgEdge::isChoice | ( | ) | const [inline] |
Returns true if edge has choice semantic.
Definition at line 107 of file logic_program_types.h.
bool Clasp::Asp::PrgEdge::isDisj | ( | ) | const [inline] |
Returns true if the adjacent node is a disjunction.
Definition at line 115 of file logic_program_types.h.
bool Clasp::Asp::PrgEdge::isGamma | ( | ) | const [inline] |
Returns true if the edge is a gamma (aux normal) edge.
Definition at line 109 of file logic_program_types.h.
bool Clasp::Asp::PrgEdge::isNormal | ( | ) | const [inline] |
Returns true if edge has normal semantic (normal edge or gamma edge).
Definition at line 105 of file logic_program_types.h.
static PrgEdge Clasp::Asp::PrgEdge::newEdge | ( | uint32 | nodeId, |
EdgeType | eType, | ||
NodeType | nType | ||
) | [inline, static] |
Definition at line 93 of file logic_program_types.h.
uint32 Clasp::Asp::PrgEdge::node | ( | ) | const [inline] |
Returns the id of the adjacent node.
Definition at line 99 of file logic_program_types.h.
NodeType Clasp::Asp::PrgEdge::nodeType | ( | ) | const [inline] |
Returns the type of adjacent node.
Definition at line 103 of file logic_program_types.h.
static PrgEdge Clasp::Asp::PrgEdge::noEdge | ( | ) | [inline, static] |
Definition at line 92 of file logic_program_types.h.
bool Clasp::Asp::PrgEdge::operator< | ( | PrgEdge | rhs | ) | const [inline] |
Definition at line 116 of file logic_program_types.h.
bool Clasp::Asp::PrgEdge::operator== | ( | PrgEdge | rhs | ) | const [inline] |
Definition at line 117 of file logic_program_types.h.
EdgeType Clasp::Asp::PrgEdge::type | ( | ) | const [inline] |
Returns the type of this edge.
Definition at line 101 of file logic_program_types.h.
uint32 Clasp::Asp::PrgEdge::rep |
Definition at line 118 of file logic_program_types.h.