X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fuci.h;h=31b63e2f6fd4d320a1c08e0dfef9ae2dfb669e4d;hp=1b60680943360f8630a812232574b3f64f419c04;hb=b8e5092d07aaf736894d7d80b19d0185a1789084;hpb=2469daebb1b2ec2ca1653754c35327c16838938e diff --git a/src/uci.h b/src/uci.h index 1b606809..31b63e2f 100644 --- a/src/uci.h +++ b/src/uci.h @@ -1,7 +1,8 @@ /* Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glaurung author) - Copyright (C) 2008-2014 Marco Costalba, Joona Kiiski, Tord Romstad + Copyright (C) 2008-2015 Marco Costalba, Joona Kiiski, Tord Romstad + Copyright (C) 2015-2019 Marco Costalba, Joona Kiiski, Gary Linscott, Tord Romstad Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,8 +18,8 @@ along with this program. If not, see . */ -#ifndef UCIOPTION_H_INCLUDED -#define UCIOPTION_H_INCLUDED +#ifndef UCI_H_INCLUDED +#define UCI_H_INCLUDED #include #include @@ -45,15 +46,17 @@ class Option { typedef void (*OnChange)(const Option&); public: - Option(OnChange = NULL); - Option(bool v, OnChange = NULL); - Option(const char* v, OnChange = NULL); - Option(int v, int min, int max, OnChange = NULL); - - Option& operator=(const std::string& v); - void operator<<(const Option& o); - operator int() const; + Option(OnChange = nullptr); + Option(bool v, OnChange = nullptr); + Option(const char* v, OnChange = nullptr); + Option(double v, int minv, int maxv, OnChange = nullptr); + Option(const char* v, const char* cur, OnChange = nullptr); + + Option& operator=(const std::string&); + void operator<<(const Option&); + operator double() const; operator std::string() const; + bool operator==(const char*) const; private: friend std::ostream& operator<<(std::ostream&, const OptionsMap&); @@ -66,14 +69,14 @@ private: void init(OptionsMap&); void loop(int argc, char* argv[]); - +std::string value(Value v); +std::string square(Square s); +std::string move(Move m, bool chess960); +std::string pv(const Position& pos, Depth depth, Value alpha, Value beta); Move to_move(const Position& pos, std::string& str); -std::string format_move(Move m, bool chess960); -std::string format_value(Value v, Value alpha = -VALUE_INFINITE, Value beta = VALUE_INFINITE); -std::string format_square(Square s); } // namespace UCI extern UCI::OptionsMap Options; -#endif // #ifndef UCIOPTION_H_INCLUDED +#endif // #ifndef UCI_H_INCLUDED