Generated on Sat Feb 7 2015 02:01:49 for Gecode by doxygen 1.8.9.1
Gecode::Int::ViewValGraph::Edge< View > Class Template Reference

Edges in view-value graph. More...

#include <view-val-graph.hh>

Public Member Functions

 Edge (ValNode< View > *v, ViewNode< View > *x)
 Construct new edge between x and v. More...
 
 Edge (ValNode< View > *v, ViewNode< View > *x, Edge< View > *n)
 Construct new edge between x and v with next edge n. More...
 
Node< View > * dst (Node< View > *s) const
 Return destination of edge when source s is given. More...
 
ViewNode< View > * view (ValNode< View > *v) const
 Return view node when value node v is given. More...
 
ValNode< View > * val (ViewNode< View > *x) const
 Return value node when view node x is given. More...
 
bool used (Node< View > *v) const
 Whether edge is used (marked or between nodes from the same scc) More...
 
void use (void)
 Mark node as used. More...
 
void free (void)
 Unmark node as used. More...
 
void revert (Node< View > *d)
 Revert edge to node d for matching. More...
 
Edge< View > * next_edge (void) const
 Return next edge in list of value edges. More...
 
Edge< View > ** next_edge_ref (void)
 Return reference to next edge in list of value edges. More...
 
Edge< View > * next (void) const
 Return next edge in list of edges per node. More...
 

Static Public Member Functions

static void * operator new (size_t, Space &)
 Allocate memory from space. More...
 
static void operator delete (void *, size_t)
 Needed for exceptions. More...
 
static void operator delete (void *, Space &)
 Needed for exceptions. More...
 

Protected Attributes

Edge< View > * _next_edge
 Next edge in chain of value edges. More...
 
CombPtrFlag< Node< View > > sd
 Combine source and destination node and flag. More...
 

Detailed Description

template<class View>
class Gecode::Int::ViewValGraph::Edge< View >

Edges in view-value graph.

Definition at line 108 of file view-val-graph.hh.

Constructor & Destructor Documentation

template<class View>
Gecode::Int::ViewValGraph::Edge< View >::Edge ( ValNode< View > *  v,
ViewNode< View > *  x 
)
inline

Construct new edge between x and v.

Definition at line 42 of file edge.hpp.

template<class View>
Gecode::Int::ViewValGraph::Edge< View >::Edge ( ValNode< View > *  v,
ViewNode< View > *  x,
Edge< View > *  n 
)
inline

Construct new edge between x and v with next edge n.

Definition at line 48 of file edge.hpp.

Member Function Documentation

template<class View>
Node< View > * Gecode::Int::ViewValGraph::Edge< View >::dst ( Node< View > *  s) const
inline

Return destination of edge when source s is given.

Definition at line 55 of file edge.hpp.

template<class View>
ViewNode< View > * Gecode::Int::ViewValGraph::Edge< View >::view ( ValNode< View > *  v) const
inline

Return view node when value node v is given.

Definition at line 68 of file edge.hpp.

template<class View>
ValNode< View > * Gecode::Int::ViewValGraph::Edge< View >::val ( ViewNode< View > *  x) const
inline

Return value node when view node x is given.

Definition at line 73 of file edge.hpp.

template<class View>
bool Gecode::Int::ViewValGraph::Edge< View >::used ( Node< View > *  v) const
inline

Whether edge is used (marked or between nodes from the same scc)

Definition at line 79 of file edge.hpp.

template<class View >
void Gecode::Int::ViewValGraph::Edge< View >::use ( void  )
inline

Mark node as used.

Definition at line 84 of file edge.hpp.

template<class View >
void Gecode::Int::ViewValGraph::Edge< View >::free ( void  )
inline

Unmark node as used.

Definition at line 89 of file edge.hpp.

template<class View>
void Gecode::Int::ViewValGraph::Edge< View >::revert ( Node< View > *  d)
inline

Revert edge to node d for matching.

Definition at line 61 of file edge.hpp.

template<class View >
Edge< View > * Gecode::Int::ViewValGraph::Edge< View >::next_edge ( void  ) const
inline

Return next edge in list of value edges.

Definition at line 95 of file edge.hpp.

template<class View >
Edge< View > ** Gecode::Int::ViewValGraph::Edge< View >::next_edge_ref ( void  )
inline

Return reference to next edge in list of value edges.

Definition at line 100 of file edge.hpp.

template<class View >
Edge< View > * Gecode::Int::ViewValGraph::Edge< View >::next ( void  ) const
inline

Return next edge in list of edges per node.

Definition at line 105 of file edge.hpp.

template<class View >
void * Gecode::Int::ViewValGraph::Edge< View >::operator new ( size_t  s,
Space home 
)
inlinestatic

Allocate memory from space.

Definition at line 117 of file edge.hpp.

template<class View >
void Gecode::Int::ViewValGraph::Edge< View >::operator delete ( void *  ,
size_t   
)
inlinestatic

Needed for exceptions.

Definition at line 111 of file edge.hpp.

template<class View >
void Gecode::Int::ViewValGraph::Edge< View >::operator delete ( void *  ,
Space  
)
inlinestatic

Needed for exceptions.

Definition at line 114 of file edge.hpp.

Member Data Documentation

template<class View>
Edge<View>* Gecode::Int::ViewValGraph::Edge< View >::_next_edge
protected

Next edge in chain of value edges.

Definition at line 215 of file view-val-graph.hh.

template<class View>
CombPtrFlag<Node<View> > Gecode::Int::ViewValGraph::Edge< View >::sd
protected

Combine source and destination node and flag.

Definition at line 217 of file view-val-graph.hh.


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