Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

conbranchrule.h
Go to the documentation of this file.
1 
34 #pragma once
35 
40 
41 namespace abacus {
42 
45 public:
46 
48 
58  : BranchRule(master), poolSlotRef_(poolSlot) { }
59 
60 
61  virtual ~ConBranchRule() { }
62 
64 
70  friend OGDF_EXPORT std::ostream &operator<<(std::ostream &out, const ConBranchRule &rhs);
71 
72 
74 
82  virtual int extract(Sub *sub) override;
83 
84 
86 
89  virtual void extract(LpSub *lp) override;
90 
91  virtual void unExtract(LpSub *lp) override;
92 
93 
95 
98  virtual void initialize(Sub *sub) override;
99 
100 
103  return poolSlotRef_.conVar();
104  }
105 
107  const Constraint *constraint() const {
108  return poolSlotRef_.conVar();
109  }
110 
111 private:
114 
115  const ConBranchRule &operator=(const ConBranchRule &rhs);
116 };
117 
118 }
branchrule.h
Base class for branching rules.
abacus::PoolSlotRef
Stores a pointer to a pool slot with version number.
Definition: active.h:40
abacus::BranchRule
Abstract base class for all branching rules.
Definition: branchrule.h:59
constraint.h
constraint.
abacus::operator<<
std::ostream & operator<<(std::ostream &out, const Active< BaseType, CoType > &rhs)
abacus::ConBranchRule::constraint
Constraint * constraint()
Returns a pointer to the branching constraint, or a 0-pointer if this constraint is not available.
Definition: conbranchrule.h:102
abacus
Definition: abacusroot.h:48
abacus::ConBranchRule::constraint
const Constraint * constraint() const
Returns a const pointer to the branching constraint, or a 0-pointer if this constraint is not availab...
Definition: conbranchrule.h:107
poolslotref.h
poolslotref
abacus::ConBranchRule::ConBranchRule
ConBranchRule(Master *master, PoolSlot< Constraint, Variable > *poolSlot)
Creates a branching constraint.
Definition: conbranchrule.h:57
abacus::ConBranchRule::~ConBranchRule
virtual ~ConBranchRule()
Definition: conbranchrule.h:61
abacus::ConBranchRule::poolSlotRef_
PoolSlotRef< Constraint, Variable > poolSlotRef_
A reference to the pool slot of the branching constraints.
Definition: conbranchrule.h:113
abacus::ConBranchRule
Implements the branching by adding a constraint to the set of active constraints.
Definition: conbranchrule.h:44
variable.h
variable.
abacus::LpSub
The linear program of a subproblem.
Definition: lpsub.h:61
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
abacus::Sub
The subproblem.
Definition: sub.h:68
abacus::Constraint
Forms the virtual base class for all possible constraints given in pool format.
Definition: constraint.h:56
abacus::PoolSlot
Stores constraints and variables.
Definition: active.h:39
abacus::Master
The master of the optimization.
Definition: master.h:69