|virtual bool||operator== (const mana_move &other) const =0|
|Tell if this move equals another w.r.t. the tabu list management (for mets::simple_tabu_list) |
|virtual mana_move *||opposite_of () const|
|Create and return a new move that is the reverse of this one. |
A Mana Move is a move that can be automatically made tabu by the mets::simple_tabu_list.
If you implement this class you can use the mets::simple_tabu_list as a ready to use tabu list.
NOTE: If the desired behaviour is to declare tabu the *opposite* of the last made move you can achieve that behavioud override the opposite_of() method as well.
|virtual bool mets::mana_move::operator==||(||const mana_move &||other||)|| const
Create and return a new move that is the reverse of this one.
By default this just calls "clone". If this method is not overridden the mets::simple_tabu_list declares tabu the last made move. Reimplementing this method it is possibile to actually declare as tabu the opposite of the last made move (if we moved a to b we can declare tabu moving b to a).