idol
A C++ Framework for Optimization
|
Public Types | |
template<class ReturnT , class T > | |
using | only_if_has_Strategy = typename std::pair< typename T::template Strategy< NodeT >, ReturnT >::second_type |
Public Member Functions | |
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 |
Definition at line 20 of file BranchingWithPriority.h.
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< NodeT >.
Definition at line 55 of file BranchingWithPriority.h.
|
inlineoverridevirtual |
Implements idol::BranchingRuleFactory< NodeT >.
Definition at line 51 of file BranchingWithPriority.h.