A Z3 sort (aka type). Every expression (i.e., formula or term) in Z3 has a sort. More...
#include <z3++.h>
Inheritance diagram for sort: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. | |
| Z3_sort_kind | sort_kind () const |
| Return the internal sort kind. | |
| symbol | name () const |
| Return name of sort. | |
| bool | is_bool () const |
| Return true if this sort is the Boolean sort. | |
| bool | is_int () const |
| Return true if this sort is the Integer sort. | |
| bool | is_real () const |
| Return true if this sort is the Real sort. | |
| bool | is_arith () const |
| Return true if this sort is the Integer or Real sort. | |
| bool | is_bv () const |
| Return true if this sort is a Bit-vector sort. | |
| bool | is_array () const |
| Return true if this sort is a Array sort. | |
| bool | is_datatype () const |
| Return true if this sort is a Datatype sort. | |
| bool | is_relation () const |
| Return true if this sort is a Relation sort. | |
| bool | is_seq () const |
| Return true if this sort is a Sequence sort. | |
| bool | is_re () const |
| Return true if this sort is a regular expression sort. | |
| bool | is_finite_domain () const |
| Return true if this sort is a Finite domain sort. | |
| bool | is_fpa () const |
| Return true if this sort is a Floating point sort. | |
| unsigned | bv_size () const |
| Return the size of this Bit-vector sort. | |
| unsigned | fpa_ebits () const |
| unsigned | fpa_sbits () const |
| sort | array_domain () const |
| Return the domain of this Array sort. | |
| sort | array_range () const |
| Return the range of this Array sort. | |
| 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 676 of file z3++.h.
Referenced by ArrayRef::domain(), ArrayRef::domain_n(), ArithRef::is_int(), ArithRef::is_real(), ArrayRef::range(), BitVecRef::size(), and ExprRef::sort_kind().
Definition at line 677 of file z3++.h.
Referenced by ArrayRef::domain(), ArrayRef::domain_n(), ArithRef::is_int(), ArithRef::is_real(), ArrayRef::range(), BitVecRef::size(), and ExprRef::sort_kind().
Definition at line 678 of file z3++.h.
Referenced by ArrayRef::domain(), ArrayRef::domain_n(), ArithRef::is_int(), ArithRef::is_real(), ArrayRef::range(), BitVecRef::size(), and ExprRef::sort_kind().
|
inline |
Return the domain of this Array sort.
Definition at line 758 of file z3++.h.
|
inline |
Return the range of this Array sort.
Definition at line 764 of file z3++.h.
|
inline |
Return the size of this Bit-vector sort.
Definition at line 748 of file z3++.h.
|
inline |
Definition at line 4241 of file z3++.h.
Referenced by Datatype::__deepcopy__(), Datatype::__repr__(), and Datatype::declare_core().
|
inline |
Definition at line 750 of file z3++.h.
|
inline |
|
inline |
|
inline |
Return true if this sort is the Integer or Real sort.
Definition at line 709 of file z3++.h.
Referenced by expr::is_arith().
|
inline |
Return true if this sort is a Array sort.
Definition at line 717 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 697 of file z3++.h.
Referenced by expr::is_bool().
|
inline |
Return true if this sort is a Bit-vector sort.
Definition at line 713 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 721 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 737 of file z3++.h.
Referenced by expr::is_finite_domain().
|
inline |
Return true if this sort is a Floating point sort.
Definition at line 741 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 701 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 733 of file z3++.h.
Referenced by expr::is_re().
|
inline |
Return true if this sort is the Real sort.
Definition at line 705 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 725 of file z3++.h.
Referenced by expr::is_relation().
|
inline |
Return true if this sort is a Sequence sort.
Definition at line 729 of file z3++.h.
Referenced by expr::is_seq().
|
inline |
Return name of sort.
Definition at line 693 of file z3++.h.
Referenced by Datatype::__deepcopy__(), and Datatype::__repr__().
|
inline |
Definition at line 4250 of file z3++.h.
|
inline |
Return the internal sort kind.
Definition at line 689 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().