mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-24 02:57:11 +08:00
Async UCI options actions
Introduce 'on change' actions that are triggered as soon as an UCI option is changed by the GUI. This allows to set hash size before to start the game, helpful especially on very fast TC and big TT size. As a side effect remove the 'button' type option, that now is managed as a 'check' type. No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
@@ -29,11 +29,14 @@ struct OptionsMap;
|
||||
|
||||
/// UCIOption class implements an option as defined by UCI protocol
|
||||
class UCIOption {
|
||||
|
||||
typedef void (Fn)(UCIOption&);
|
||||
|
||||
public:
|
||||
UCIOption() {} // Required by std::map::operator[]
|
||||
UCIOption(const char* v);
|
||||
UCIOption(bool v, std::string type = "check");
|
||||
UCIOption(int v, int min, int max);
|
||||
UCIOption(const char* v, Fn* = NULL);
|
||||
UCIOption(bool v, Fn* = NULL);
|
||||
UCIOption(int v, int min, int max, Fn* = NULL);
|
||||
|
||||
void operator=(const std::string& v);
|
||||
void operator=(bool v) { *this = std::string(v ? "true" : "false"); }
|
||||
@@ -54,6 +57,7 @@ private:
|
||||
std::string defaultValue, currentValue, type;
|
||||
int min, max;
|
||||
size_t idx;
|
||||
Fn* on_change_action;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user