template<typename MoveType>void add_move (MoveType && m, std::string name, double proposition_probability = 1.0)
Register a move
If the move m is an rvalue, it is moved into the mc_generic, otherwise is copied into it.
- MoveType Type of the move. Must model Move concept
- m The move. Must model Move concept.
- name Name of the move
- proposition_probability Probability that the move will be proposed. Precondition>0
- NB it but does not need to be normalized. Normalization is automatically done with all the added moves before starting the run.