Z3
Loading...
Searching...
No Matches
params Class Reference

#include <z3++.h>

Inheritance diagram for params:

Public Member Functions

 params (context &c)
 params (params const &s)
 ~params () override
 operator Z3_params () const
paramsoperator= (params const &s)
void set (char const *k, bool b)
void set (char const *k, unsigned n)
void set (char const *k, double n)
void set (char const *k, symbol const &s)
void set (char const *k, char const *s)
Public Member Functions inherited from object
 object (context &c)
virtual ~object ()=default
contextctx () const
Z3_error_code check_error () const

Friends

std::ostream & operator<< (std::ostream &out, params const &p)

Additional Inherited Members

Protected Attributes inherited from object
contextm_ctx

Detailed Description

Definition at line 591 of file z3++.h.

Constructor & Destructor Documentation

◆ params() [1/2]

params ( context & c)
inline

Definition at line 594 of file z3++.h.

594:object(c) { m_params = Z3_mk_params(c); Z3_params_inc_ref(ctx(), m_params); }
Z3_params Z3_API Z3_mk_params(Z3_context c)
Create a Z3 (empty) parameter set. Starting at Z3 4.0, parameter sets are used to configure many comp...
void Z3_API Z3_params_inc_ref(Z3_context c, Z3_params p)
Increment the reference counter of the given parameter set.

Referenced by operator<<, operator=(), and params().

◆ params() [2/2]

params ( params const & s)
inline

Definition at line 595 of file z3++.h.

595:object(s), m_params(s.m_params) { Z3_params_inc_ref(ctx(), m_params); }

◆ ~params()

~params ( )
inlineoverride

Definition at line 596 of file z3++.h.

596{ Z3_params_dec_ref(ctx(), m_params); }
void Z3_API Z3_params_dec_ref(Z3_context c, Z3_params p)
Decrement the reference counter of the given parameter set.

Member Function Documentation

◆ operator Z3_params()

operator Z3_params ( ) const
inline

Definition at line 597 of file z3++.h.

597{ return m_params; }

◆ operator=()

params & operator= ( params const & s)
inline

Definition at line 598 of file z3++.h.

598 {
599 Z3_params_inc_ref(s.ctx(), s.m_params);
600 Z3_params_dec_ref(ctx(), m_params);
601 object::operator=(s);
602 m_params = s.m_params;
603 return *this;
604 }

◆ set() [1/5]

void set ( char const * k,
bool b )
inline

Definition at line 605 of file z3++.h.

605{ Z3_params_set_bool(ctx(), m_params, ctx().str_symbol(k), b); }
void Z3_API Z3_params_set_bool(Z3_context c, Z3_params p, Z3_symbol k, bool v)
Add a Boolean parameter k with value v to the parameter set p.

Referenced by solver::set(), solver::set(), solver::set(), solver::set(), and solver::set().

◆ set() [2/5]

void set ( char const * k,
char const * s )
inline

Definition at line 609 of file z3++.h.

609{ Z3_params_set_symbol(ctx(), m_params, ctx().str_symbol(k), ctx().str_symbol(s)); }
void Z3_API Z3_params_set_symbol(Z3_context c, Z3_params p, Z3_symbol k, Z3_symbol v)
Add a symbol parameter k with value v to the parameter set p.

◆ set() [3/5]

void set ( char const * k,
double n )
inline

Definition at line 607 of file z3++.h.

607{ Z3_params_set_double(ctx(), m_params, ctx().str_symbol(k), n); }
void Z3_API Z3_params_set_double(Z3_context c, Z3_params p, Z3_symbol k, double v)
Add a double parameter k with value v to the parameter set p.

◆ set() [4/5]

void set ( char const * k,
symbol const & s )
inline

Definition at line 608 of file z3++.h.

608{ Z3_params_set_symbol(ctx(), m_params, ctx().str_symbol(k), s); }

◆ set() [5/5]

void set ( char const * k,
unsigned n )
inline

Definition at line 606 of file z3++.h.

606{ Z3_params_set_uint(ctx(), m_params, ctx().str_symbol(k), n); }
void Z3_API Z3_params_set_uint(Z3_context c, Z3_params p, Z3_symbol k, unsigned v)
Add a unsigned parameter k with value v to the parameter set p.

◆ operator<<

std::ostream & operator<< ( std::ostream & out,
params const & p )
friend

Definition at line 613 of file z3++.h.

613 {
614 out << Z3_params_to_string(p.ctx(), p); return out;
615 }
Z3_string Z3_API Z3_params_to_string(Z3_context c, Z3_params p)
Convert a parameter set into a string. This function is mainly used for printing the contents of a pa...