clingo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Clasp::Asp::PrgEdge Struct Reference

Supported edge types. More...

#include <logic_program_types.h>

Collaboration diagram for Clasp::Asp::PrgEdge:
Collaboration graph

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

uint32 node () const
 Returns the id of the adjacent node. More...
 
EdgeType type () const
 Returns the type of this edge. More...
 
NodeType nodeType () const
 Returns the type of adjacent node. More...
 
bool isNormal () const
 Returns true if edge has normal semantic (normal edge or gamma edge). More...
 
bool isChoice () const
 Returns true if edge has choice semantic. More...
 
bool isGamma () const
 Returns true if the edge is a gamma (aux normal) edge. More...
 
bool isBody () const
 Returns true if the adjacent node is a body. More...
 
bool isAtom () const
 Returns true if the adjacant node is an atom. More...
 
bool isDisj () const
 Returns true if the adjacent node is a disjunction. More...
 
bool operator< (PrgEdge rhs) const
 
bool operator== (PrgEdge rhs) const
 

Static Public Member Functions

static PrgEdge noEdge ()
 
static PrgEdge newEdge (uint32 nodeId, EdgeType eType, NodeType nType)
 

Public Attributes

uint32 rep
 

Detailed Description

Supported edge types.

Currently, we distinguish three types of edges:

Member Enumeration Documentation

Type of edge.

Enumerator
NORMAL_EDGE 
GAMMA_EDGE 
CHOICE_EDGE 

Type of adjacent node.

Enumerator
BODY_NODE 
ATOM_NODE 
DISJ_NODE 

Member Function Documentation

bool Clasp::Asp::PrgEdge::isAtom ( ) const
inline

Returns true if the adjacant node is an atom.

Here is the call graph for this function:

bool Clasp::Asp::PrgEdge::isBody ( ) const
inline

Returns true if the adjacent node is a body.

Here is the call graph for this function:

bool Clasp::Asp::PrgEdge::isChoice ( ) const
inline

Returns true if edge has choice semantic.

bool Clasp::Asp::PrgEdge::isDisj ( ) const
inline

Returns true if the adjacent node is a disjunction.

Here is the call graph for this function:

bool Clasp::Asp::PrgEdge::isGamma ( ) const
inline

Returns true if the edge is a gamma (aux normal) edge.

bool Clasp::Asp::PrgEdge::isNormal ( ) const
inline

Returns true if edge has normal semantic (normal edge or gamma edge).

static PrgEdge Clasp::Asp::PrgEdge::newEdge ( uint32  nodeId,
EdgeType  eType,
NodeType  nType 
)
inlinestatic
uint32 Clasp::Asp::PrgEdge::node ( ) const
inline

Returns the id of the adjacent node.

NodeType Clasp::Asp::PrgEdge::nodeType ( ) const
inline

Returns the type of adjacent node.

static PrgEdge Clasp::Asp::PrgEdge::noEdge ( )
inlinestatic
bool Clasp::Asp::PrgEdge::operator< ( PrgEdge  rhs) const
inline
bool Clasp::Asp::PrgEdge::operator== ( PrgEdge  rhs) const
inline
EdgeType Clasp::Asp::PrgEdge::type ( ) const
inline

Returns the type of this edge.

Member Data Documentation

uint32 Clasp::Asp::PrgEdge::rep

The documentation for this struct was generated from the following file: