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

Migrate codebase to std::string_view (except z3++.h) (#8266)

* Initial plan

* Update z3 codebase to use std::string_view (except z3++.h)

- Updated params.cpp/h to use string_view internally for parameter descriptions
- Updated trace.h/cpp to accept string_view for trace tag functions
- Updated hash.h/cpp to use string_view for string_hash function
- Updated all callers of string_hash to use string_view
- Properly handled nullptr to empty string_view conversions
- All tests passing

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

* Add missing string_view includes to headers

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 09:30:41 -08:00 committed by GitHub
parent 4b8a270901
commit 2e7b700769
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 85 additions and 70 deletions

View file

@ -60,7 +60,7 @@ class emonics {
unsigned operator()(lpvar v) const {
auto const& vec = v != UINT_MAX? em.m_monics[em.m_var2index[v]].rvars() : em.m_find_key;
return string_hash(reinterpret_cast<char const*>(vec.data()), sizeof(lpvar)*vec.size(), 10);
return string_hash(std::string_view(reinterpret_cast<char const*>(vec.data()), sizeof(lpvar)*vec.size()), 10);
}
};

View file

@ -168,7 +168,7 @@ namespace polynomial {
}
public:
static unsigned hash_core(unsigned sz, power const * pws) {
return string_hash(reinterpret_cast<char*>(const_cast<power*>(pws)), sz*sizeof(power), 11);
return string_hash(std::string_view(reinterpret_cast<char*>(const_cast<power*>(pws)), sz*sizeof(power)), 11);
}
struct hash_proc {