Generated on Wed Nov 1 15:05:18 2006 for Gecode by doxygen 1.4.5

Gecode::Int::GCC::Edge Class Reference

List of all members.

Detailed Description

Class for edges $ e(x,v) $ in the variable-value-graph.

Definition at line 294 of file graphsup.icc.

Constructors

 Edge (VarNode *x, ValNode *v)
 Construct edge $e(x,v)$ from variable node x and value node y.
void * operator new (size_t, void *)
 Create a new edge in memory.

Access

template<BC >
bool used (void)
 return whether the edge is used
template<BC >
bool matched (void)
 return whether the edge is matched
bool is_deleted (void)
 return whether the edge has been deleted from the graph
Edgenext (bool t) const
 return a pointer to the next edge If t is false the function returns the next edge incident on x otherwise it returns the next edge incident on v
Edgenext (void) const
 return the pointer to the next edge incident on x
Edgeprev (void) const
 return the pointer to the previous edge incident on x
Edgevnext (void) const
 return the pointer to the next edge incident on v
Edgevprev (void) const
 return the pointer to the previous edge incident on v
VarNodegetVar (void)
 return the pointer to the variable node x of this edge
ValNodegetVal (void)
 return the pointer to the value node v of this edge
VVGNodegetMate (bool t)
 return pointer to x if t = true otherwise return v
template<BC >
void use (void)
 Mark the edge as used.
template<BC >
void free (void)
 Mark the edge as unused.
template<BC >
void reset (void)
 Reset the edge ( free the edge, and unmatch the edge including its end-nodes.
template<BC >
void match (void)
 Match the edge.
template<BC >
void unmatch (void)
 Unmatch the edge and the incident nodes.
template<BC >
void unmatch (bool t)
 Unmatch the edge and ( x if t=false, v otherwise ).
void unlink (void)
 Unlink the edge from the linked list of edges.
void del_edge (void)
 Mark the edge as deleted during synchronization.
void insert_edge (void)
 Insert the edge again.
Edge ** next_ref (void)
 return the reference to the next edge incident on x
Edge ** prev_ref (void)
 return the reference to the previous edge incident on x
Edge ** vnext_ref (void)
 return the reference to the next edge incident on v
Edge ** vprev_ref (void)
 return the reference to the previous edge incident on v


Constructor & Destructor Documentation

Gecode::Int::GCC::Edge::Edge VarNode x,
ValNode v
[inline]
 

Construct edge $e(x,v)$ from variable node x and value node y.

Definition at line 1047 of file graphsup.icc.


Member Function Documentation

void * Gecode::Int::GCC::Edge::operator new size_t  ,
void * 
[inline]
 

Create a new edge in memory.

Definition at line 1055 of file graphsup.icc.

template<BC direction>
bool Gecode::Int::GCC::Edge::used void   )  [inline]
 

return whether the edge is used

An edge can be used in a matching on the graph, a path on the graph or a cycle in the graph.

Definition at line 1089 of file graphsup.icc.

template<BC direction>
bool Gecode::Int::GCC::Edge::matched void   )  [inline]
 

return whether the edge is matched

Definition at line 1213 of file graphsup.icc.

bool Gecode::Int::GCC::Edge::is_deleted void   )  [inline]
 

return whether the edge has been deleted from the graph

Definition at line 1233 of file graphsup.icc.

Edge * Gecode::Int::GCC::Edge::next bool  t  )  const [inline]
 

return a pointer to the next edge If t is false the function returns the next edge incident on x otherwise it returns the next edge incident on v

Definition at line 1103 of file graphsup.icc.

Edge * Gecode::Int::GCC::Edge::next void   )  const [inline]
 

return the pointer to the next edge incident on x

Definition at line 1098 of file graphsup.icc.

Edge * Gecode::Int::GCC::Edge::prev void   )  const [inline]
 

return the pointer to the previous edge incident on x

Definition at line 1122 of file graphsup.icc.

Edge * Gecode::Int::GCC::Edge::vnext void   )  const [inline]
 

return the pointer to the next edge incident on v

Definition at line 1112 of file graphsup.icc.

Edge * Gecode::Int::GCC::Edge::vprev void   )  const [inline]
 

return the pointer to the previous edge incident on v

Definition at line 1132 of file graphsup.icc.

VarNode * Gecode::Int::GCC::Edge::getVar void   )  [inline]
 

return the pointer to the variable node x of this edge

Definition at line 1146 of file graphsup.icc.

ValNode * Gecode::Int::GCC::Edge::getVal void   )  [inline]
 

return the pointer to the value node v of this edge

Definition at line 1152 of file graphsup.icc.

VVGNode * Gecode::Int::GCC::Edge::getMate bool  t  )  [inline]
 

return pointer to x if t = true otherwise return v

Definition at line 1158 of file graphsup.icc.

template<BC direction>
void Gecode::Int::GCC::Edge::use void   )  [inline]
 

Mark the edge as used.

Definition at line 1061 of file graphsup.icc.

template<BC direction>
void Gecode::Int::GCC::Edge::free void   )  [inline]
 

Mark the edge as unused.

the failure is here, capacity is not increased for value nodes

Definition at line 1071 of file graphsup.icc.

template<BC direction>
void Gecode::Int::GCC::Edge::reset void   )  [inline]
 

Reset the edge ( free the edge, and unmatch the edge including its end-nodes.

Definition at line 1082 of file graphsup.icc.

template<BC direction>
void Gecode::Int::GCC::Edge::match void   )  [inline]
 

Match the edge.

Definition at line 1195 of file graphsup.icc.

template<BC direction>
void Gecode::Int::GCC::Edge::unmatch void   )  [inline]
 

Unmatch the edge and the incident nodes.

Definition at line 1168 of file graphsup.icc.

template<BC direction>
void Gecode::Int::GCC::Edge::unmatch bool  t  )  [inline]
 

Unmatch the edge and ( x if t=false, v otherwise ).

Definition at line 1180 of file graphsup.icc.

void Gecode::Int::GCC::Edge::unlink void   )  [inline]
 

Unlink the edge from the linked list of edges.

Definition at line 996 of file graphsup.icc.

void Gecode::Int::GCC::Edge::del_edge void   )  [inline]
 

Mark the edge as deleted during synchronization.

Definition at line 1222 of file graphsup.icc.

void Gecode::Int::GCC::Edge::insert_edge void   )  [inline]
 

Insert the edge again.

Definition at line 1227 of file graphsup.icc.

Edge ** Gecode::Int::GCC::Edge::next_ref void   )  [inline]
 

return the reference to the next edge incident on x

Definition at line 1142 of file graphsup.icc.

Edge ** Gecode::Int::GCC::Edge::prev_ref void   )  [inline]
 

return the reference to the previous edge incident on x

Definition at line 1127 of file graphsup.icc.

Edge ** Gecode::Int::GCC::Edge::vnext_ref void   )  [inline]
 

return the reference to the next edge incident on v

Definition at line 1117 of file graphsup.icc.

Edge ** Gecode::Int::GCC::Edge::vprev_ref void   )  [inline]
 

return the reference to the previous edge incident on v

Definition at line 1137 of file graphsup.icc.


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