Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0
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.
 
 Edge (ValNode< View > *v, ViewNode< View > *x, Edge< View > *n)
 Construct new edge between x and v with next edge n.
 
Node< View > * dst (Node< View > *s) const
 Return destination of edge when source s is given.
 
ViewNode< View > * view (ValNode< View > *v) const
 Return view node when value node v is given.
 
ValNode< View > * val (ViewNode< View > *x) const
 Return value node when view node x is given.
 
bool used (Node< View > *v) const
 Whether edge is used (marked or between nodes from the same scc)
 
void use (void)
 Mark node as used.
 
void free (void)
 Unmark node as used.
 
void revert (Node< View > *d)
 Revert edge to node d for matching.
 
Edge< View > * next_edge (void) const
 Return next edge in list of value edges.
 
Edge< View > ** next_edge_ref (void)
 Return reference to next edge in list of value edges.
 
Edge< View > * next (void) const
 Return next edge in list of edges per node.
 

Static Public Member Functions

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

Protected Attributes

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

Detailed Description

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

Edges in view-value graph.

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

Constructor & Destructor Documentation

◆ Edge() [1/2]

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 38 of file edge.hpp.

◆ Edge() [2/2]

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 44 of file edge.hpp.

Member Function Documentation

◆ dst()

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 51 of file edge.hpp.

◆ view()

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 64 of file edge.hpp.

◆ val()

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 69 of file edge.hpp.

◆ used()

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 75 of file edge.hpp.

◆ use()

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

Mark node as used.

Definition at line 80 of file edge.hpp.

◆ free()

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

Unmark node as used.

Definition at line 85 of file edge.hpp.

◆ revert()

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

Revert edge to node d for matching.

Definition at line 57 of file edge.hpp.

◆ next_edge()

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 91 of file edge.hpp.

◆ next_edge_ref()

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 96 of file edge.hpp.

◆ next()

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 101 of file edge.hpp.

◆ operator new()

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

Allocate memory from space.

Definition at line 113 of file edge.hpp.

◆ operator delete() [1/2]

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

Needed for exceptions.

Definition at line 107 of file edge.hpp.

◆ operator delete() [2/2]

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

Needed for exceptions.

Definition at line 110 of file edge.hpp.

Member Data Documentation

◆ _next_edge

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

Next edge in chain of value edges.

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

◆ sd

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

Combine source and destination node and flag.

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


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