dlvhex  2.1.0
EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT > Class Template Reference

#include <include/dlvhex2/EvalGraph.h>

Collaboration diagram for EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >:

Data Structures

struct  EvalUnitDepPropertyBundle
struct  EvalUnitPropertyBundle
struct  Impl
class  Observer

Public Types

typedef EvalUnitPropertyBaseT EvalUnitPropertyBase
typedef EvalUnitDepPropertyBaseT EvalUnitDepPropertyBase
typedef boost::adjacency_list
< boost::vecS, boost::vecS,
boost::bidirectionalS,
EvalUnitPropertyBundle,
EvalUnitDepPropertyBundle
EvalGraphInt
typedef boost::graph_traits
< EvalGraphInt
Traits
typedef
EvalGraphInt::vertex_descriptor 
EvalUnit
typedef
EvalGraphInt::edge_descriptor 
EvalUnitDep
typedef Traits::vertex_iterator EvalUnitIterator
typedef Traits::edge_iterator DependencyIterator
typedef Traits::out_edge_iterator PredecessorIterator
typedef Traits::in_edge_iterator SuccessorIterator
typedef boost::shared_ptr
< Observer
ObserverPtr

Public Member Functions

 EvalGraph ()
 EvalGraph (const EvalGraph &other)
const EvalGraphIntgetInt () const
EvalUnit addUnit (const EvalUnitPropertyBundle &prop)
EvalUnitDep addDependency (EvalUnit u1, EvalUnit u2, const EvalUnitDepPropertyBundle &prop)
void addObserver (ObserverPtr o)
void eraseObserver (ObserverPtr o)
std::pair< EvalUnitIterator,
EvalUnitIterator
getEvalUnits () const
std::pair< PredecessorIterator,
PredecessorIterator
getPredecessors (EvalUnit u) const
std::pair< SuccessorIterator,
SuccessorIterator
getSuccessors (EvalUnit u) const
const EvalUnitDepPropertyBundlepropsOf (EvalUnitDep d) const
EvalUnitDepPropertyBundlepropsOf (EvalUnitDep d)
const EvalUnitPropertyBundlepropsOf (EvalUnit u) const
EvalUnitPropertyBundlepropsOf (EvalUnit u)
EvalUnit sourceOf (EvalUnitDep d) const
EvalUnit targetOf (EvalUnitDep d) const
unsigned countEvalUnits () const
unsigned countEvalUnitDeps () const
void writeGraphViz (std::ostream &o, bool verbose) const

Private Attributes

EvalGraphInt eg
std::set< ObserverPtrobservers

Detailed Description

template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
class EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >

Definition at line 61 of file EvalGraph.h.


Member Typedef Documentation

template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
typedef Traits::edge_iterator EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::DependencyIterator

Definition at line 124 of file EvalGraph.h.

template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, EvalUnitPropertyBundle, EvalUnitDepPropertyBundle> EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::EvalGraphInt

Definition at line 118 of file EvalGraph.h.

template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
typedef EvalGraphInt::vertex_descriptor EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::EvalUnit

Definition at line 121 of file EvalGraph.h.

template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
typedef EvalGraphInt::edge_descriptor EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::EvalUnitDep

Definition at line 122 of file EvalGraph.h.

template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
typedef EvalUnitDepPropertyBaseT EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::EvalUnitDepPropertyBase

Definition at line 68 of file EvalGraph.h.

template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
typedef Traits::vertex_iterator EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::EvalUnitIterator

Definition at line 123 of file EvalGraph.h.

template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
typedef EvalUnitPropertyBaseT EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::EvalUnitPropertyBase

Definition at line 67 of file EvalGraph.h.

template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
typedef boost::shared_ptr<Observer> EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::ObserverPtr

Definition at line 135 of file EvalGraph.h.

template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
typedef Traits::out_edge_iterator EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::PredecessorIterator

Definition at line 125 of file EvalGraph.h.

template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
typedef Traits::in_edge_iterator EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::SuccessorIterator

Definition at line 126 of file EvalGraph.h.

template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
typedef boost::graph_traits<EvalGraphInt> EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::Traits

Definition at line 119 of file EvalGraph.h.


Constructor & Destructor Documentation

template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::EvalGraph ( ) [inline]

Definition at line 148 of file EvalGraph.h.

template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::EvalGraph ( const EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT > &  other)

Member Function Documentation

template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
void EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::addObserver ( ObserverPtr  o) [inline]
template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
EvalUnit EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::addUnit ( const EvalUnitPropertyBundle prop) [inline]
template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
unsigned EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::countEvalUnitDeps ( ) const [inline]

Definition at line 260 of file EvalGraph.h.

References EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::eg.

Referenced by main().

template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
unsigned EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::countEvalUnits ( ) const [inline]

Definition at line 256 of file EvalGraph.h.

References EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::eg.

Referenced by main().

template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
void EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::eraseObserver ( ObserverPtr  o) [inline]
template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
std::pair<EvalUnitIterator, EvalUnitIterator> EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::getEvalUnits ( ) const [inline]
template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
const EvalGraphInt& EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::getInt ( ) const [inline]
template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
std::pair<PredecessorIterator, PredecessorIterator> EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::getPredecessors ( EvalUnit  u) const [inline]
template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
std::pair<SuccessorIterator, SuccessorIterator> EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::getSuccessors ( EvalUnit  u) const [inline]
template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
const EvalUnitDepPropertyBundle& EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::propsOf ( EvalUnitDep  d) const [inline]
template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
EvalUnitDepPropertyBundle& EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::propsOf ( EvalUnitDep  d) [inline]
template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
const EvalUnitPropertyBundle& EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::propsOf ( EvalUnit  u) const [inline]
template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
EvalUnitPropertyBundle& EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::propsOf ( EvalUnit  u) [inline]
template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
EvalUnit EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::sourceOf ( EvalUnitDep  d) const [inline]
template<typename EvalUnitPropertyBaseT = none_t, typename EvalUnitDepPropertyBaseT = none_t>
EvalUnit EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::targetOf ( EvalUnitDep  d) const [inline]
template<typename EvalUnitPropertyBaseT , typename EvalUnitDepPropertyBaseT >
void EvalGraph< EvalUnitPropertyBaseT, EvalUnitDepPropertyBaseT >::writeGraphViz ( std::ostream &  o,
bool  verbose 
) const

Definition at line 299 of file EvalGraph.h.

References graphviz::escape().


Field Documentation


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