A Z3 sort (aka type). Every expression (i.e., formula or term) in Z3 has a sort. More...
Public Member Functions | |
sort (context &c) | |
sort (context &c, Z3_sort s) | |
sort (context &c, Z3_ast a) | |
operator Z3_sort () const | |
unsigned | id () const |
retrieve unique identifier for func_decl. More... | |
Z3_sort_kind | sort_kind () const |
Return the internal sort kind. More... | |
symbol | name () const |
Return name of sort. More... | |
bool | is_bool () const |
Return true if this sort is the Boolean sort. More... | |
bool | is_int () const |
Return true if this sort is the Integer sort. More... | |
bool | is_real () const |
Return true if this sort is the Real sort. More... | |
bool | is_arith () const |
Return true if this sort is the Integer or Real sort. More... | |
bool | is_bv () const |
Return true if this sort is a Bit-vector sort. More... | |
bool | is_array () const |
Return true if this sort is a Array sort. More... | |
bool | is_datatype () const |
Return true if this sort is a Datatype sort. More... | |
bool | is_relation () const |
Return true if this sort is a Relation sort. More... | |
bool | is_seq () const |
Return true if this sort is a Sequence sort. More... | |
bool | is_re () const |
Return true if this sort is a regular expression sort. More... | |
bool | is_finite_domain () const |
Return true if this sort is a Finite domain sort. More... | |
bool | is_fpa () const |
Return true if this sort is a Floating point sort. More... | |
unsigned | bv_size () const |
Return the size of this Bit-vector sort. More... | |
unsigned | fpa_ebits () const |
unsigned | fpa_sbits () const |
sort | array_domain () const |
Return the domain of this Array sort. More... | |
sort | array_range () const |
Return the range of this Array sort. More... | |
func_decl_vector | constructors () |
func_decl_vector | recognizers () |
Public Member Functions inherited from ast | |
ast (context &c) | |
ast (context &c, Z3_ast n) | |
ast (ast const &s) | |
~ast () override | |
operator Z3_ast () const | |
operator bool () const | |
ast & | operator= (ast const &s) |
Z3_ast_kind | kind () const |
unsigned | hash () const |
std::string | to_string () const |
Public Member Functions inherited from object | |
object (context &c) | |
virtual | ~object ()=default |
context & | ctx () const |
Z3_error_code | check_error () const |
Friends | |
std::ostream & | operator<< (std::ostream &out, sort const &s) |
Additional Inherited Members | |
Protected Attributes inherited from ast | |
Z3_ast | m_ast |
Protected Attributes inherited from object | |
context * | m_ctx |
A Z3 sort (aka type). Every expression (i.e., formula or term) in Z3 has a sort.
Definition at line 659 of file z3++.h.
Referenced by sort::array_domain(), sort::array_range(), FPNumRef::as_string(), ArrayRef::domain(), ArrayRef::domain_n(), FPRef::ebits(), ArithRef::is_int(), ArithRef::is_real(), ArrayRef::range(), FPRef::sbits(), BitVecRef::size(), and ExprRef::sort_kind().
Definition at line 660 of file z3++.h.
Referenced by FPNumRef::as_string(), ArrayRef::domain(), ArrayRef::domain_n(), FPRef::ebits(), ArithRef::is_int(), ArithRef::is_real(), ArrayRef::range(), FPRef::sbits(), BitVecRef::size(), and ExprRef::sort_kind().
Definition at line 661 of file z3++.h.
Referenced by FPNumRef::as_string(), ArrayRef::domain(), ArrayRef::domain_n(), FPRef::ebits(), ArithRef::is_int(), ArithRef::is_real(), ArrayRef::range(), FPRef::sbits(), BitVecRef::size(), and ExprRef::sort_kind().
|
inline |
Return the domain of this Array sort.
Definition at line 741 of file z3++.h.
Referenced by z3::select(), and z3::store().
|
inline |
Return the range of this Array sort.
Definition at line 747 of file z3++.h.
Referenced by z3::store().
|
inline |
Return the size of this Bit-vector sort.
Definition at line 731 of file z3++.h.
|
inline |
Definition at line 4192 of file z3++.h.
Referenced by Datatype::__deepcopy__(), Datatype::__repr__(), and Datatype::declare_core().
|
inline |
Definition at line 733 of file z3++.h.
|
inline |
|
inline |
|
inline |
Return true if this sort is the Integer or Real sort.
Definition at line 692 of file z3++.h.
Referenced by expr::is_arith().
|
inline |
Return true if this sort is a Array sort.
Definition at line 700 of file z3++.h.
Referenced by sort::array_domain(), sort::array_range(), and expr::is_array().
|
inline |
Return true if this sort is the Boolean sort.
Definition at line 680 of file z3++.h.
Referenced by expr::is_bool().
|
inline |
Return true if this sort is a Bit-vector sort.
Definition at line 696 of file z3++.h.
Referenced by sort::bv_size(), and expr::is_bv().
|
inline |
Return true if this sort is a Datatype sort.
Definition at line 704 of file z3++.h.
Referenced by func_decl::accessors(), sort::constructors(), expr::is_datatype(), and sort::recognizers().
|
inline |
Return true if this sort is a Finite domain sort.
Definition at line 720 of file z3++.h.
Referenced by expr::is_finite_domain().
|
inline |
Return true if this sort is a Floating point sort.
Definition at line 724 of file z3++.h.
Referenced by sort::fpa_ebits(), sort::fpa_sbits(), and expr::is_fpa().
|
inline |
Return true if this sort is the Integer sort.
Definition at line 684 of file z3++.h.
Referenced by IntNumRef::as_long(), sort::is_arith(), expr::is_int(), and ArithSortRef::subsort().
|
inline |
Return true if this sort is a regular expression sort.
Definition at line 716 of file z3++.h.
Referenced by expr::is_re().
|
inline |
Return true if this sort is the Real sort.
Definition at line 688 of file z3++.h.
Referenced by sort::is_arith(), and expr::is_real().
|
inline |
Return true if this sort is a Relation sort.
Definition at line 708 of file z3++.h.
Referenced by expr::is_relation().
|
inline |
Return true if this sort is a Sequence sort.
Definition at line 712 of file z3++.h.
Referenced by expr::is_seq().
|
inline |
Return name of sort.
Definition at line 676 of file z3++.h.
Referenced by Datatype::__deepcopy__(), and Datatype::__repr__().
|
inline |
|
inline |
Return the internal sort kind.
Definition at line 672 of file z3++.h.
Referenced by sort::is_array(), sort::is_bool(), sort::is_bv(), sort::is_datatype(), sort::is_finite_domain(), sort::is_fpa(), sort::is_int(), sort::is_re(), sort::is_real(), sort::is_relation(), and sort::is_seq().