From 5cbcff55cc3a2ff78dd83e7a3f94c5414946f82c Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Sun, 26 Oct 2014 07:09:19 +0100 Subject: [PATCH] Rename ucioption.h to uci.h We are going to add all UCI related functions here, so first rename it to a more proper name. No functional change. --- src/benchmark.cpp | 2 +- src/evaluate.cpp | 2 +- src/main.cpp | 2 +- src/search.cpp | 2 +- src/thread.cpp | 2 +- src/timeman.cpp | 2 +- src/uci.cpp | 2 +- src/uci.h | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/ucioption.cpp | 2 +- src/ucioption.h | 70 ----------------------------------------------------- 10 files changed, 78 insertions(+), 78 deletions(-) create mode 100644 src/uci.h delete mode 100644 src/ucioption.h diff --git a/src/benchmark.cpp b/src/benchmark.cpp index 3161c4c..6cda074 100644 --- a/src/benchmark.cpp +++ b/src/benchmark.cpp @@ -29,7 +29,7 @@ #include "search.h" #include "thread.h" #include "tt.h" -#include "ucioption.h" +#include "uci.h" using namespace std; diff --git a/src/evaluate.cpp b/src/evaluate.cpp index ad420fb..8c70016 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -27,7 +27,7 @@ #include "material.h" #include "pawns.h" #include "thread.h" -#include "ucioption.h" +#include "uci.h" namespace { diff --git a/src/main.cpp b/src/main.cpp index 9fbe635..941e2be 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -25,7 +25,7 @@ #include "search.h" #include "thread.h" #include "tt.h" -#include "ucioption.h" +#include "uci.h" int main(int argc, char* argv[]) { diff --git a/src/search.cpp b/src/search.cpp index a16fceb..19955a8 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -33,7 +33,7 @@ #include "timeman.h" #include "thread.h" #include "tt.h" -#include "ucioption.h" +#include "uci.h" namespace Search { diff --git a/src/thread.cpp b/src/thread.cpp index 3b98ac6..bd20361 100644 --- a/src/thread.cpp +++ b/src/thread.cpp @@ -23,7 +23,7 @@ #include "movegen.h" #include "search.h" #include "thread.h" -#include "ucioption.h" +#include "uci.h" using namespace Search; diff --git a/src/timeman.cpp b/src/timeman.cpp index 88a52bb..ddee63d 100644 --- a/src/timeman.cpp +++ b/src/timeman.cpp @@ -23,7 +23,7 @@ #include "search.h" #include "timeman.h" -#include "ucioption.h" +#include "uci.h" namespace { diff --git a/src/uci.cpp b/src/uci.cpp index 6027295..a9391b5 100644 --- a/src/uci.cpp +++ b/src/uci.cpp @@ -28,7 +28,7 @@ #include "search.h" #include "thread.h" #include "tt.h" -#include "ucioption.h" +#include "uci.h" using namespace std; diff --git a/src/uci.h b/src/uci.h new file mode 100644 index 0000000..87411a4 --- /dev/null +++ b/src/uci.h @@ -0,0 +1,70 @@ +/* + 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 + + Stockfish is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Stockfish is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef UCIOPTION_H_INCLUDED +#define UCIOPTION_H_INCLUDED + +#include +#include + +namespace UCI { + +class Option; + +/// Custom comparator because UCI options should be case insensitive +struct CaseInsensitiveLess { + bool operator() (const std::string&, const std::string&) const; +}; + +/// Our options container is actually a std::map +typedef std::map OptionsMap; + +/// Option class implements an option as defined by UCI protocol +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; + operator std::string() const; + +private: + friend std::ostream& operator<<(std::ostream&, const OptionsMap&); + + std::string defaultValue, currentValue, type; + int min, max; + size_t idx; + OnChange on_change; +}; + +void init(OptionsMap&); +void loop(int argc, char* argv[]); + +} // namespace UCI + +extern UCI::OptionsMap Options; + +#endif // #ifndef UCIOPTION_H_INCLUDED diff --git a/src/ucioption.cpp b/src/ucioption.cpp index 94a3889..1080d59 100644 --- a/src/ucioption.cpp +++ b/src/ucioption.cpp @@ -26,7 +26,7 @@ #include "misc.h" #include "thread.h" #include "tt.h" -#include "ucioption.h" +#include "uci.h" using std::string; diff --git a/src/ucioption.h b/src/ucioption.h deleted file mode 100644 index 87411a4..0000000 --- a/src/ucioption.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - 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 - - Stockfish is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - Stockfish is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -#ifndef UCIOPTION_H_INCLUDED -#define UCIOPTION_H_INCLUDED - -#include -#include - -namespace UCI { - -class Option; - -/// Custom comparator because UCI options should be case insensitive -struct CaseInsensitiveLess { - bool operator() (const std::string&, const std::string&) const; -}; - -/// Our options container is actually a std::map -typedef std::map OptionsMap; - -/// Option class implements an option as defined by UCI protocol -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; - operator std::string() const; - -private: - friend std::ostream& operator<<(std::ostream&, const OptionsMap&); - - std::string defaultValue, currentValue, type; - int min, max; - size_t idx; - OnChange on_change; -}; - -void init(OptionsMap&); -void loop(int argc, char* argv[]); - -} // namespace UCI - -extern UCI::OptionsMap Options; - -#endif // #ifndef UCIOPTION_H_INCLUDED -- 1.7.0.4