3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-24 17:21:21 +00:00

Adopt std::optional for try_get_value and try_get_size functions (#8268)

* Initial plan

* Convert try_get_value and try_get_size to use std::optional

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

* Add unit tests for std::optional conversions and fix compilation error

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

* Address code review comments - improve readability and reduce code duplication

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
This commit is contained in:
Copilot 2026-01-21 12:41:50 -08:00 committed by Nikolaj Bjorner
parent 671faf8f1c
commit 054a83e925
14 changed files with 92 additions and 44 deletions

View file

@ -116,7 +116,9 @@ namespace qe {
private:
bool is_small_domain(contains_app& x, eq_atoms& eqs, uint64_t& domain_size) {
VERIFY(m_util.try_get_size(x.x()->get_sort(), domain_size));
auto opt_size = m_util.try_get_size(x.x()->get_sort());
VERIFY(opt_size);
domain_size = *opt_size;
return domain_size < eqs.num_eqs() + eqs.num_neqs();
}