X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fucioption.cpp;h=e1b5ae552900b310f61db930caf85d53eb73fb1e;hp=9e992be55c26e7fd50462fb4ac5748393d37862e;hb=66a64406ca2bf10f903ec5078515f9c825414c3d;hpb=f0701e2b0f4283ba558e7d8cab8e41cf11a19cdd diff --git a/src/ucioption.cpp b/src/ucioption.cpp index 9e992be5..e1b5ae55 100644 --- a/src/ucioption.cpp +++ b/src/ucioption.cpp @@ -1,7 +1,7 @@ /* Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glaurung author) - Copyright (C) 2008 Marco Costalba + Copyright (C) 2008-2010 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 @@ -22,6 +22,7 @@ //// Includes //// +#include #include #include #include @@ -32,13 +33,9 @@ #include "thread.h" #include "ucioption.h" - -//// -//// Variables -//// - -bool Chess960 = false; - +using std::string; +using std::cout; +using std::endl; //// //// Local definitions @@ -46,34 +43,52 @@ bool Chess960 = false; namespace { - /// - /// Types - /// - enum OptionType { SPIN, COMBO, CHECK, STRING, BUTTON }; - typedef std::vector ComboValues; + typedef std::vector StrVector; struct Option { - std::string defaultValue, currentValue; + string name, defaultValue, currentValue; OptionType type; + size_t idx; int minValue, maxValue; - ComboValues comboValues; + StrVector comboValues; Option(); - Option(const std::string& defaultValue, OptionType = STRING); + Option(const char* defaultValue, OptionType = STRING); Option(bool defaultValue, OptionType = CHECK); Option(int defaultValue, int minValue, int maxValue); + + bool operator<(const Option& o) const { return idx < o.idx; } }; - typedef std::map Options; + typedef std::vector