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.