Options

A bitwuzla::Bitwuzla instance is created from a configuration options bitwuzla::Options instance.

Note

This options instance must be configured before creating the Bitwuzla instance. After the Bitwuzla instance is created, configuration options are fixed and cannot be changed.

Every option can be configured via void bitwuzla::Options::set(const std::string &lng, const std::string &value). Additionally, Boolean and numeric options are configured via void bitwuzla::Options::set(Option option, uint64_t value), and options with modes are configured via void bitwuzla::Options::set(Option option, const std::string& value). The option kind is defined via bitwuzla::Option. A comprehensive list of all configurable options is available here.

More information on and an example for how to configure and query configuration options is here.

Note

Some options are labeled as “expert” options. Use with caution.



namespace bitwuzla {

class Options

Public Functions

Options()

Constructor.

~Options()

Destructor.

Options(const Options &options)

Copy constructor.

Options &operator=(const Options &options)

Copy assignment.

bool is_valid(const std::string &name) const

Determine if given string is a valid short or long option name.

Parameters:

name – The name.

Returns:

True if given string is a option name.

bool is_bool(Option option) const

Determine if given option is a Boolean option.

Parameters:

option – The option to query.

Returns:

True if option is a Boolean option.

bool is_numeric(Option option) const

Determine if given option is a numeric option.

Parameters:

option – The option to query.

Returns:

True if option is a numeric option.

bool is_mode(Option option) const

Determine if given option is an option with a mode.

Parameters:

option – The option to query.

Returns:

True if option is an option with a mode.

const char *shrt(Option option) const
Returns:

The short name of this option.

const char *lng(Option option) const
Returns:

The long name of this option.

const char *description(Option option) const
Returns:

The description of this option.

std::vector<std::string> modes(Option option) const
Returns:

The modes of this option.

Option option(const char *name) const
Returns:

The option associated to the given short or long option name.

void set(Option option, uint64_t value)

Set Boolean or numeric option.

Parameters:
  • option – The option.

  • value – The option value.

void set(Option option, const std::string &mode)

Set option value for options with different modes.

Parameters:
  • option – The option.

  • mode – The option mode.

void set(Option option, const char *mode)

Set option value for options with different modes.

Parameters:
  • option – The option.

  • mode – The option mode.

void set(const std::string &lng, const std::string &value)

Set current value of option, configured via the long option name and its value in string representation.

Parameters:
  • lng – The long name of the option to set.

  • value – The string representation of the value to set.

void set(const std::vector<std::string> &args)

Set options via command line arguments.

Supports the following command line option format: Short option names: -short … {“-short”} -short=val … {“-short=val”} -short val … {“-short”, “val”}

Long option names: &#8212;long … {”–long”} &#8212;long=val … {”–long=val”} &#8212;long val … {”–long”, “val”}

Parameters:

args – List of command line options.

uint64_t get(Option option) const

Get the current value of a Boolean or numeric option.

Parameters:

option – The option.

Returns:

The option value.

const std::string &get_mode(Option option) const

Get the current value of an option with modes.

Parameters:

option – The option.

Returns:

The option value.

}