1#ifndef _ESBMC_SOLVERS_SMT_SMT_ARRAY_H_
2#define _ESBMC_SOLVERS_SMT_SMT_ARRAY_H_
20 const std::string &name,
50 unsigned long domain_width,
virtual smt_astt convert_array_of(smt_astt init_val, unsigned long domain_width)=0
Create an array with a single initializer.
virtual smt_astt mk_array_symbol(const std::string &name, smt_sortt sort, smt_sortt subtype)=0
virtual void push_array_ctx()
Definition smt_array.h:55
array_iface(bool _b, bool inf)
Definition smt_array.h:14
virtual void add_array_constraints_for_solving()
Definition smt_array.h:53
bool supports_bools_in_arrays
Definition smt_array.h:61
virtual expr2tc get_array_elem(smt_astt a, uint64_t idx, const type2tc &subtype)=0
Extract an element from the model of an array, at an explicit index.
smt_astt default_convert_array_of(smt_astt init_val, unsigned long domain_width, smt_solver_baset *ctx)
Definition smt_solver.cpp:4182
virtual void pop_array_ctx()
Definition smt_array.h:56
bool can_init_infinite_arrays
Definition smt_array.h:62
The base SMT-conversion class/interface.
Definition smt_solver.h:170
irep_container< type2t > type2tc
Definition irep2.h:430
irep_container< expr2t > expr2tc
Definition irep2.h:431
const smt_ast * smt_astt
Definition smt_ast.h:30
const smt_sort * smt_sortt
Definition smt_sort.h:37