Graphviz
14.1.3~dev.20260206.1255
Loading...
Searching...
No Matches
constraint.cpp
Go to the documentation of this file.
1
19
#include "config.h"
20
21
#include <
vpsc/constraint.h
>
22
#include <cassert>
23
Constraint::Constraint
(
Variable
*left_,
Variable
*right_,
double
gap_)
24
:
left
(left_),
right
(right_), gap(gap_), timeStamp(0), active(false),
25
visited(false) {
26
left
->
out
.push_back(
this
);
27
right
->
in
.push_back(
this
);
28
}
29
Constraint::~Constraint
() {
30
Constraints::iterator i;
31
for
(i=
left
->
out
.begin(); i!=
left
->
out
.end(); i++) {
32
if
(*i==
this
)
break
;
33
}
34
left
->
out
.erase(i);
35
for
(i=
right
->
in
.begin(); i!=
right
->
in
.end(); i++) {
36
if
(*i==
this
)
break
;
37
}
38
right
->
in
.erase(i);
39
}
40
std::ostream&
operator <<
(std::ostream &os,
const
Constraint
&c)
41
{
42
os<<*c.
left
<<
"+"
<<c.
gap
<<
"<="
<<*c.
right
<<
"("
<<c.
slack
()<<
")"
<<(c.
active
?
"-active"
:
""
);
43
return
os;
44
}
right
#define right(i)
Definition
closest.c:74
operator<<
std::ostream & operator<<(std::ostream &os, const Constraint &c)
Definition
constraint.cpp:40
constraint.h
left
#define left
Definition
dthdr.h:12
Constraint
A constraint determines a minimum or exact spacing required between two variables.
Definition
constraint.h:25
Constraint::right
Variable * right
Definition
constraint.h:29
Constraint::gap
double gap
Definition
constraint.h:30
Constraint::left
Variable * left
Definition
constraint.h:28
Constraint::active
bool active
Definition
constraint.h:36
Constraint::Constraint
Constraint(Variable *left, Variable *right, double gap)
A constraint determines a minimum or exact spacing required between two variables.
Definition
constraint.cpp:23
Constraint::slack
double slack() const
Definition
constraint.h:34
Constraint::~Constraint
~Constraint()
Definition
constraint.cpp:29
Variable
Definition
variable.h:26
Variable::out
Constraints out
Definition
variable.h:36
Variable::in
Constraints in
Definition
variable.h:35
lib
vpsc
constraint.cpp
Generated by
1.9.8