BenBot 1.7.5
A chess engine
Loading...
Searching...
No Matches
chess::uci::StringOption Struct Referencefinal

#include <libchess/uci/Options.hpp>

Inheritance diagram for chess::uci::StringOption:
Collaboration diagram for chess::uci::StringOption:

Public Types

using Callback = std::function<void(string_view)>
using Value = string_view
using Variant = std::variant<bool, int, string_view>

Public Member Functions

 StringOption (string name, string defaultValue, string helpString, Callback &&changeCallback=[](string_view) { })
auto get_declaration_string () const -> string override
auto get_default_value_variant () const -> Variant override
auto get_help () const noexcept -> string_view override
auto get_name () const noexcept -> string_view override
auto get_type () const noexcept -> string_view override
auto get_value () const noexcept -> string_view
auto get_value_variant () const -> Variant override
void handle_setvalue (string_view arguments) override
virtual auto has_value () const noexcept -> bool
void set_value (string_view newValue)

Detailed Description

An option that can have any arbitrary string value.

Definition at line 249 of file Options.hpp.

Member Typedef Documentation

◆ Callback

using chess::uci::StringOption::Callback = std::function<void(string_view)>

Definition at line 251 of file Options.hpp.

◆ Value

using chess::uci::StringOption::Value = string_view

Definition at line 250 of file Options.hpp.

◆ Variant

using chess::uci::Option::Variant = std::variant<bool, int, string_view>
inherited

Represents a variant that can hold any of the derived class's value types.

Definition at line 68 of file Options.hpp.

Constructor & Destructor Documentation

◆ StringOption()

chess::uci::StringOption::StringOption ( string name,
string defaultValue,
string helpString,
Callback && changeCallback = [](string_view) { } )

Creates a string option.

Member Function Documentation

◆ get_declaration_string()

auto chess::uci::StringOption::get_declaration_string ( ) const -> string
nodiscardoverridevirtual

Returns the option's declaration string suitable for sending to the GUI. The returned string includes the "option" token.

Implements chess::uci::Option.

◆ get_default_value_variant()

auto chess::uci::StringOption::get_default_value_variant ( ) const -> Variant
inlinenodiscardoverridevirtual

Returns this option's default value, as a variant. Note that if has_value() returns false, you must not call this method!

Implements chess::uci::Option.

Definition at line 273 of file Options.hpp.

◆ get_help()

auto chess::uci::StringOption::get_help ( ) const -> string_view
inlinenodiscardoverridevirtualnoexcept

Returns the help string for this option.

Implements chess::uci::Option.

Definition at line 281 of file Options.hpp.

◆ get_name()

auto chess::uci::StringOption::get_name ( ) const -> string_view
inlinenodiscardoverridevirtualnoexcept

Returns this option's name.

Implements chess::uci::Option.

Definition at line 275 of file Options.hpp.

◆ get_type()

auto chess::uci::StringOption::get_type ( ) const -> string_view
inlinenodiscardoverridevirtualnoexcept

Returns a textual representation of this option's type.

Implements chess::uci::Option.

Definition at line 279 of file Options.hpp.

◆ get_value()

auto chess::uci::StringOption::get_value ( ) const -> string_view
inlinenodiscardnoexcept

Definition at line 260 of file Options.hpp.

◆ get_value_variant()

auto chess::uci::StringOption::get_value_variant ( ) const -> Variant
inlinenodiscardoverridevirtual

Returns this option's current value, as a variant. Note that if has_value() returns false, you must not call this method!

Implements chess::uci::Option.

Definition at line 271 of file Options.hpp.

◆ handle_setvalue()

void chess::uci::StringOption::handle_setvalue ( string_view arguments)
overridevirtual

Will be called with everything in the "setoption" command after the option name. This is typically not called directly by user code.

Implements chess::uci::Option.

◆ has_value()

virtual auto chess::uci::Option::has_value ( ) const -> bool
inlinenodiscardvirtualnoexceptinherited

Returns true if this option type has an associated value. False only for Action options.

Reimplemented in chess::uci::Action.

Definition at line 65 of file Options.hpp.

◆ set_value()

void chess::uci::StringOption::set_value ( string_view newValue)

Sets the option's value directly.


The documentation for this struct was generated from the following file: