Split UCI into UCIEngine and Engine

This is another refactor which aims to decouple uci from stockfish. A new engine
class manages all engine related logic and uci is a "small" wrapper around it.

In the future we should also try to remove the need for the Position object in
the uci and replace the options with an actual options struct instead of using a
map. Also convert the std::string's in the Info structs a string_view.

closes #5147

No functional change
This commit is contained in:
Disservin
2024-03-17 12:33:14 +01:00
parent 0716b845fd
commit 299707d2c2
14 changed files with 341 additions and 149 deletions

View File

@@ -34,10 +34,7 @@ int main(int argc, char* argv[]) {
Bitboards::init();
Position::init();
UCI uci(argc, argv);
Tune::init(uci.options);
UCIEngine uci(argc, argv);
uci.loop();
return 0;