# Couenne::DepGraph Class Reference

Dependence graph. More...

`#include <CouenneDepGraph.hpp>`

List of all members.

## Public Member Functions
| DepGraph ()
| constructor
| ~DepGraph ()
| destructor
std::set< DepNode *, compNode > & | Vertices ()
| return vertex set
int & | Counter ()
| node index counter
void | insert (exprVar *)
| insert new variable if new
void | insert (exprAux *)
| insert new auxiliary if new
void | erase (exprVar *)
| delete element
bool | depends (int, int, bool=false)
| does w depend on x?
void | createOrder ()
| assign numbering to all nodes of graph
void | print (bool descend=false)
| debugging procedure
DepNode * | lookup (int index)
| search for node in vertex set
bool | checkCycles ()
| check for dependence cycles in graph
void | replaceIndex (int oldVar, int newVar)
| replace, throughout the whole graph, the index of a variable with another in the entire graph.
## Protected Attributes
std::set< DepNode *, compNode > | vertices_
| set of variable nodes
int | counter_
| counter to assign numbering to all nodes

## Detailed Description

Dependence graph.

Shows dependence of auxiliary variable on other (auxiliary and/or original) variables

Definition at line 115 of file CouenneDepGraph.hpp.

## Constructor & Destructor Documentation

Couenne::DepGraph::DepGraph | ( |  | ) | `[inline]`

constructor

Definition at line 128 of file CouenneDepGraph.hpp.

Couenne::DepGraph::~DepGraph | ( |  | ) | `[inline]`

destructor

Definition at line 131 of file CouenneDepGraph.hpp.

References vertices_.

## Member Function Documentation

std::set<DepNode *, compNode>& Couenne::DepGraph::Vertices | ( |  | ) | `[inline]`

return vertex set

Definition at line 138 of file CouenneDepGraph.hpp.

References vertices_.

int& Couenne::DepGraph::Counter | ( |  | ) | `[inline]`

node index counter

Definition at line 142 of file CouenneDepGraph.hpp.

References counter_.

void Couenne::DepGraph::insert | ( | exprVar * |  | ) |

insert new variable if new

void Couenne::DepGraph::insert | ( | exprAux * |  | ) |

insert new auxiliary if new

void Couenne::DepGraph::erase | ( | exprVar * |  | ) |

delete element

bool Couenne::DepGraph::depends | ( | int | ,
|  | int | ,
|  | bool | = `false` |
| ) |  |  |

does w depend on x?

void Couenne::DepGraph::createOrder | ( |  | ) |

assign numbering to all nodes of graph

void Couenne::DepGraph::print | ( | bool | descend = `false` | ) |

debugging procedure

DepNode* Couenne::DepGraph::lookup | ( | int | index | ) |

search for node in vertex set

bool Couenne::DepGraph::checkCycles | ( |  | ) |

check for dependence cycles in graph

void Couenne::DepGraph::replaceIndex | ( | int | oldVar,
|  | int | newVar |
| ) |  |  |

replace, throughout the whole graph, the index of a variable with another in the entire graph.

Used when redundant constraints w := x are discovered

## Member Data Documentation

std::set<DepNode *, compNode> Couenne::DepGraph::vertices_`[protected]`

set of variable nodes

Definition at line 120 of file CouenneDepGraph.hpp.

Referenced by Vertices(), and ~DepGraph().

int Couenne::DepGraph::counter_`[protected]`

counter to assign numbering to all nodes

Definition at line 123 of file CouenneDepGraph.hpp.

Referenced by Counter().

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

- CouenneDepGraph.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines