#include <libbenbot/engine/Engine.hpp>
The ben-bot UCI engine class.
Definition at line 50 of file Engine.hpp.
◆ Engine() [1/3]
| ben_bot::Engine::Engine |
( |
| ) |
|
|
default |
◆ ~Engine()
| ben_bot::Engine::~Engine |
( |
| ) |
|
|
overridedefault |
◆ Engine() [2/3]
| ben_bot::Engine::Engine |
( |
const Engine & | | ) |
|
|
delete |
◆ Engine() [3/3]
| ben_bot::Engine::Engine |
( |
Engine && | | ) |
|
|
delete |
◆ abort_search()
| void ben_bot::Engine::abort_search |
( |
| ) |
|
|
inlineoverrideprivatevirtual |
◆ get_author()
| auto ben_bot::Engine::get_author |
( |
| ) |
const -> string_view |
|
inlinenodiscardoverrideprivatevirtual |
◆ get_name()
| auto ben_bot::Engine::get_name |
( |
| ) |
const -> std::string |
|
nodiscardoverrideprivatevirtual |
This must return the name of the engine. The returned string may optionally contain the engine's current version, such as BenBot 1.2.0.
Implements chess::uci::EngineBase.
◆ get_options()
| auto ben_bot::Engine::get_options |
( |
| ) |
-> std::span< uci::Option * > |
|
inlinenodiscardoverrideprivatevirtual |
◆ go() [1/2]
| void ben_bot::Engine::go |
( |
const uci::GoCommandOptions & | opts | ) |
|
|
overrideprivate |
◆ go() [2/2]
Called when the "go" command is received. The engine should begin searching. After this function has been called, the engine should print to stdout a line of the form "bestmove <from><to>".
◆ handle_command()
| void chess::uci::EngineBase::handle_command |
( |
string_view | command | ) |
|
|
inherited |
Handles a UCI command. Typically you will not call this directly, you'll just invoke loop(), but this method can be used to manually invoke UCI commands if needed.
- See also
- loop()
◆ handle_custom_command()
| void ben_bot::Engine::handle_custom_command |
( |
string_view | command, |
|
|
string_view | options ) |
|
overrideprivatevirtual |
Any command input string not recognized as a standard UCI command will invoke this function. Engines can implement custom commands by overriding this function. The "command" argument will be the first word of the input command line.
Reimplemented from chess::uci::EngineBase.
◆ handle_registration()
| virtual void chess::uci::EngineBase::handle_registration |
( |
const RegisterOptions & | opts | ) |
|
|
inlinevirtualinherited |
Called when the user send a "register" command. The engine may simply do nothing if it does not require registration.
Definition at line 142 of file EngineBase.hpp.
◆ is_searching()
| auto ben_bot::Engine::is_searching |
( |
| ) |
const -> bool |
|
inlineoverrideprivatevirtualnoexcept |
This function must return true if a search is currently in progress. This function should be thread-safe.
Implements chess::uci::EngineBase.
Definition at line 81 of file Engine.hpp.
◆ loop()
| void chess::uci::EngineBase::loop |
( |
| ) |
|
|
inherited |
Runs the engine's event loop. This function blocks while reading from stdin. The calling thread becomes the engine's "main thread".
- See also
- handle_command()
◆ new_game()
| void ben_bot::Engine::new_game |
( |
bool | firstCall | ) |
|
|
overrideprivatevirtual |
This function will be called when the "ucinewgame" command is received. This should flush any game-specific data structures such as hash tables, transposition table, etc. wait() will be called after this, before the next search begins.
- Parameters
-
| firstCall | True if this is the first time new_game() has been called. |
Reimplemented from chess::uci::EngineBase.
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ ponder_hit()
| void ben_bot::Engine::ponder_hit |
( |
| ) |
|
|
inlineoverrideprivatevirtual |
This function is called when the "ponderhit" command is received. This means that the engine was told to ponder on the same move the user has played. The engine should continue searching but switch from pondering to normal search.
Reimplemented from chess::uci::EngineBase.
Definition at line 77 of file Engine.hpp.
◆ read_config_file()
| void ben_bot::Engine::read_config_file |
( |
const std::filesystem::path & | file | ) |
|
Loads the engine's state from a configuration file at the given path.
◆ set_debug()
| void ben_bot::Engine::set_debug |
( |
const bool | shouldDebug | ) |
|
|
inlineoverrideprivatevirtual |
◆ set_position()
| void ben_bot::Engine::set_position |
( |
const Position & | pos | ) |
|
|
inlineoverrideprivatevirtual |
◆ wait()
| void ben_bot::Engine::wait |
( |
| ) |
|
|
inlineoverrideprivatevirtual |
This function will be called when the "isready" command is received, and may block while waiting for background tasks to complete. This function should be thread-safe.
Reimplemented from chess::uci::EngineBase.
Definition at line 79 of file Engine.hpp.
The documentation for this class was generated from the following file: