Generated on Mon Aug 25 11:35:51 2008 for Gecode by doxygen 1.5.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 310 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)
 Update.
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 1073 of file graphsup.icc.


Member Function Documentation

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

Create a new edge in memory.

Definition at line 1081 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 1115 of file graphsup.icc.

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

return whether the edge is matched

Definition at line 1239 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 1259 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 1129 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 1124 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 1148 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 1138 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 1158 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 1172 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 1178 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 1184 of file graphsup.icc.

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

Update.

Mark the edge as used

Definition at line 1087 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 1097 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 1108 of file graphsup.icc.

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

Match the edge.

Definition at line 1221 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 1194 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 1206 of file graphsup.icc.

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

Unlink the edge from the linked list of edges.

Definition at line 1022 of file graphsup.icc.

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

Mark the edge as deleted during synchronization.

Definition at line 1248 of file graphsup.icc.

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

Insert the edge again.

Definition at line 1253 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 1168 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 1153 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 1143 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 1163 of file graphsup.icc.


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