Generated on Wed Jan 4 17:49:21 2006 for Gecode by doxygen 1.4.6

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 312 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 1030 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 1038 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 1072 of file graphsup.icc.

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

return whether the edge is matched

Definition at line 1192 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 1212 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 1086 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 1081 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 1105 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 1095 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 1115 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 1129 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 1134 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 1139 of file graphsup.icc.

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

Mark the edge as used.

Definition at line 1044 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 1054 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 1065 of file graphsup.icc.

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

Match the edge.

Definition at line 1176 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 1149 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 1161 of file graphsup.icc.

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

Unlink the edge from the linked list of edges.

Definition at line 979 of file graphsup.icc.

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

Mark the edge as deleted during synchronization.

Definition at line 1201 of file graphsup.icc.

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

Insert the edge again.

Definition at line 1206 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 1125 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 1110 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 1100 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 1120 of file graphsup.icc.


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