Definition at line 20 of file BranchingWithPriority.h.
Public Types | |
| template<class ReturnT, class T> | |
| using | only_if_has_Strategy = typename std::pair<typename T::template Strategy<NodeT>, ReturnT>::second_type |
Public Methods | |
| BranchingWithPriority (const BranchingWithPriority &t_src) | |
| BranchingWithPriority< NodeT > & | add_branching_rule (const BranchingRuleFactory< NodeT > &t_branching_rule) |
| template<class BranchingRuleFactoryT> | |
| only_if_has_Strategy< BranchingWithPriority< NodeT > &, BranchingRuleFactoryT > | add_branching_rule (const BranchingRuleFactoryT &t_branching_rule) |
| BranchingRule< NodeT > * | operator() (const Optimizers::BranchAndBound< NodeT > &t_parent) const override |
| BranchingRuleFactory< NodeT > * | clone () const override |
| virtual BranchingRule< idol::DefaultNodeInfo > * | operator() (const Optimizers::BranchAndBound< idol::DefaultNodeInfo > &t_parent) const=0 |
| using idol::BranchingWithPriority< NodeT >::only_if_has_Strategy = typename std::pair<typename T::template Strategy<NodeT>, ReturnT>::second_type |
This type is used to exploit SFINAE in order to identify classes having a sub-class named Strategy<NodeInfoT>. This is used to make calls like .with_node_selection_rule(DepthFirst()); which will actually call .with_node_selection_rule(DepthFirst::Strategy<NodeInfoT>()).
Definition at line 39 of file BranchingWithPriority.h.
|
inline |
Definition at line 25 of file BranchingWithPriority.h.
|
inline |
Definition at line 41 of file BranchingWithPriority.h.
|
inline |
Definition at line 47 of file BranchingWithPriority.h.
|
inlineoverridevirtual |
Implements idol::BranchingRuleFactory< idol::DefaultNodeInfo >.
Definition at line 55 of file BranchingWithPriority.h.
|
inlineoverride |
Definition at line 51 of file BranchingWithPriority.h.